Glossary Definition: An Interface Engine (a.k.a. Message Broker) is a term used to refer to a kind of middleware application which is used to transform, route, clone and translate messages.
One and the same interface engine can play multiple Middleware Roles, e.g. it can be a Gateway, be a Bridge, a Transformer Bridge or an Intermediary. The key distinction is the business level scenario. If an interface engine is required to perform business rules and application level responsibilities, than it's a Gateway and is listed as the Receiver in the HL7 Message. If it just needs to transform from one ITS to another, it's a Bridge. If it needs to transform from one Transport Protocol to another, it's an Intermediary.
The roles that an interface engine plays depend on the use cases encountered in the healthcare enterprise. If a role conforms to one of the Middleware Roles they need to comply to certain rules for these roles which are listed and specified in the Abstract Transport Specification.
- (Miroslav) Imagine that the interface engine (or: Message Broker) distributes the incomming messages to specified destinations according to predefined business rules. What role does the Message Broker play if it needs to send an incoming HL7 message to x additional locations (e.g. as the notification message to 3rd party that a lab order took place). It needs to change a HL7 message, list itself as the sender - therefore it's the Gateway role?