Enterprise messaging system
This article needs additional citations for verification. (September 2010) |
An enterprise messaging system (EMS) or messaging system in brief
EMS usually takes into account the following considerations:
- Security: Messages must be encrypted if they travel over public interfaces. Messages must be authenticated or digitally signed if the receiver is to have confidence that the messages have not been tampered with in transit.
- Routing: Messages need to be routed efficiently from the sender to the receiver. Intermediate nodes may need to route the messages if the body of the message is encrypted.
- Metadata: The body of the document contains information that must be unambiguously interpreted. Metadata registries should be used to create precise definitions for each data element.
- Subscription: Systems should be able to subscribe to all messages that match a specific pattern. Messages with a specific content may be routed differently. For example, some messages may have different priority or security policies.
- Policy: Enterprise messaging systems should provide some consideration for a centralized policy of messages such as what classes or roles of users can access different fields of any message.
EMS are also known as Message-Oriented Middleware (MOM)[2]
Separation of message header and message body
The design of an EMS is usually broken down into two sections:
- Message header design – Message headers contain the information necessary to route messages. Message headers are usually coded in clear text so that intermediate nodes receive all the necessary information they need to route and prioritize the message. Message headers are analogous to the information printed on the outside of a letter (to, from, priority of message etc.)
- Message body semantics – Message body semantics include the precise definition of all of the data elements in the body of the message. Message semantics can be aided by the use of a precise data dictionary that documents metadata.
Comparisons
The commonalities between messaging systems (in terms of capabilities and architecture) have been captured in a platform-independent fashion as enterprise integration patterns (a.k.a. messaging patterns). [3]
Although similar in concept to an
Note that an Enterprise Messaging System should not be confused with an
An example of a specific
Policy statements may also be extracted from a centralized policy server. These policy statements can be expressed in the XML Access Control Markup Language (XACML).
See also
- Enterprise Integration Patterns
- Event-driven programming
- Event-driven SOA
- Message-oriented middleware
- Service-oriented architecture
References
- ^ G. Hohpe. B. Woolf, Enterprise Integration Patterns, Addison Wesley, 2004.
- ISBN 978-0-470-86206-3]
- ^ Olaf Zimmermann; Cesare Pautasso; Gregor Hohpe; Bobby Woolf (2016). "A Decade of Enterprise Integration Patterns: A Conversation with the Authors". IEEE Software. 33 (1): 13–19. .