|
An enterprise messaging system (EMS) is a set of published Enterprise-wide standards that allows organizations to send semantically precise messages between computer systems. EMS systems promote loosely coupled architectures that allow changes in the formats of messages to have minimum impact on message subscribers. EMS systems are facilitated by the use of XML messaging, SOAP and Web services. Loosely coupled describes a resilient relationship between two or more computer systems that are exchanging data. ...
The Extensible Markup Language (XML) is a W3C-recommended general-purpose markup language for creating special-purpose markup languages, capable of describing many different kinds of data. ...
SOAP is a protocol for exchanging XML-based messages over a computer network, normally using HTTP. SOAP forms the foundation layer of the Web services stack, providing a basic messaging framework that more abstract layers can build on. ...
According to the W3C a Web service[1] is a software system designed to support interoperable machine-to-machine interaction over a network. ...
EMS usually take into account the following considerations: - Security Messages must be encrypted if they travel over a public interfaces. Messages must be authenticated or digitally signed if the receiver is to have confidence the messages have not been tampered 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.
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.
In metadata, the term data element is an atomic unit of data that has: an identification such as a Data element name a clear Data element definition one or more Representation terms optional enumerated values In telecommunication, the term data element has the following components: A named unit of data...
In the main, semantics (from the Greek and in greek letters ÏημανÏικÏÏ or in latin letters semantikós, or significant meaning, derived from sema, sign) is the study of meaning, in some sense of that term. ...
Metadata (Greek meta over and Latin data information, literally data about data), are data that describe other data. ...
Comparisons Although similar in concept to an Enterprise Service Bus (ESB), an EMS places emphasis on design of messaging protocols, not the implementation of the services using a specific technology such as web services or Java Message Service. In computing, an enterprise service bus refers to a software architecture construct, implemented by technologies found in a category of middleware infrastructure products usually based on Web services standards, that provides foundational services for more complex service-oriented architectures via an event-driven and XML-based messaging engine (the bus). ...
A web service is a collection of protocols and standards used for exchanging data between applications. ...
The Java Message Service (JMS) API is a Java Message Oriented Middleware (MOM) API for sending messages between two or more clients. ...
Note that an Enterprise Messaging System should not be confused with an electronic mail system used for delivering human readable text messages to individual people. Electronic mail, abbreviated e-mail or email, is a method of composing, sending, and receiving messages over electronic communication systems. ...
An example of a specific application programming interface (API) that implements an Enterprise Messaging System is the Java Message Service (JMS). Although this is an API it embodies many of the same issues involved in setting up a full EMS. An application programming interface (API) is the interface that a computer system, library or application provides in order to allow requests for service to be made of it by other computer programs, and/or to allow data to be exchanged between them. ...
The Java Message Service (JMS) API is a Java Message Oriented Middleware (MOM) API for sending messages between two or more clients. ...
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). XACML stands for eXtensible Access Control Markup Language. ...
See also |