MESSAGE ORIENTED MODEL (MOM)
Slide 2CITE 4420 Message Oriented Model Message-Oriented Model (MOM)
Slide 3CITE 4420 Message Oriented Model Elements of the MOM Correlation Intermediary Message Message envelope Message exchange pattern Message header Correlation Intermediary Message Message envelope Message exchange pattern Message header
Slide 4CITE 4420 Message Oriented Model Elements of MOM (Cont’d) Message description language Message identifier Message path Message recipient Message sender Message description language Message identifier Message path Message recipient Message sender
Slide 5CITE 4420 Message Oriented Model Elements of MOM (Cont’d) Message transport Reliable messaging Message transport Reliable messaging
Slide 6CITE 4420 Message Oriented Model Correlation A means of associating a message with a context –The message received is the one expected by this message recipient Usually accomplished with a message identifier A means of associating a message with a context –The message received is the one expected by this message recipient Usually accomplished with a message identifier
Slide 7CITE 4420 Message Oriented Model Intermediary An agent that is both a message recipient and a message sender May have partial access to the message it processes Forwards the message along the message path An agent that is both a message recipient and a message sender May have partial access to the message it processes Forwards the message along the message path
Slide 8CITE 4420 Message Oriented Model Message A unit of data sent from one agent to another May be part of a message exchange pattern Described by a message description language A unit of data sent from one agent to another May be part of a message exchange pattern Described by a message description language
Slide 9CITE 4420 Message Oriented Model Message (Cont’d) Has a message sender Has a message identifier May have a message content Has zero or more message headers May have a message envelope Has a message sender Has a message identifier May have a message content Has zero or more message headers May have a message envelope
Slide 10CITE 4420 Message Oriented Model Message Envelope Is meta-data associated with a message Contains address information about intended recipients Contains the body of the message Is meta-data associated with a message Contains address information about intended recipients Contains the body of the message
Slide 11CITE 4420 Message Oriented Model Message Exchange Pattern (MEP) A template describing a generic pattern for the exchange of messages between agents A feature of the architecture Should have a unique identifier Is the life cycle of a message exchange A template describing a generic pattern for the exchange of messages between agents A feature of the architecture Should have a unique identifier Is the life cycle of a message exchange
Slide 12CITE 4420 Message Oriented Model MEP (Cont’d) Describes the temporal and causal relationships, if any, of multiple messages exchanged in conformance with the pattern Describes the normal and abnormal termination of any message exchange conforming to the pattern Realizes the message correlation Describes a service invocation Must be mapped to a protocol Describes the temporal and causal relationships, if any, of multiple messages exchanged in conformance with the pattern Describes the normal and abnormal termination of any message exchange conforming to the pattern Realizes the message correlation Describes a service invocation Must be mapped to a protocol
Slide 13CITE 4420 Message Oriented Model Message Header Is part of a message May contain routing information May contain message security info May contain message orchestration information May contain message transaction context Is part of a message May contain routing information May contain message security info May contain message orchestration information May contain message transaction context
Slide 14CITE 4420 Message Oriented Model Message Orchestration Encapsulates and executes business process logic Can integrate with other applications to retrieve additional data Can invoke broker component Can use application logic Can reject data that fails validation Encapsulates and executes business process logic Can integrate with other applications to retrieve additional data Can invoke broker component Can use application logic Can reject data that fails validation
Slide 15CITE 4420 Message Oriented Model Message Description Language Describes the structure of the message –Types of the elements –How recipients and senders are identified –Which headers are associated with the message Describes the structure of the message –Types of the elements –How recipients and senders are identified –Which headers are associated with the message
Slide 16CITE 4420 Message Oriented Model Message Identifier A field that uniquely identifies a message Allows messages to be correlated within an extended transaction Supports message reliability Supports message management and accountability of services A field that uniquely identifies a message Allows messages to be correlated within an extended transaction Supports message reliability Supports message management and accountability of services
Slide 17CITE 4420 Message Oriented Model Message Path Is a sequence of agents Contains zero or more intermediaries Has a unique originator and recipient Message may be processed by a number of interdediaries Is a sequence of agents Contains zero or more intermediaries Has a unique originator and recipient Message may be processed by a number of interdediaries
Slide 18CITE 4420 Message Oriented Model Message Recipient A agent that receives a message May be an intermediary Has an agent identifier Agent identifier is not used for broadcast messages A agent that receives a message May be an intermediary Has an agent identifier Agent identifier is not used for broadcast messages
Slide 19CITE 4420 Message Oriented Model Message Sender The agent that transmits a message Sender may be an intermediary May be identified by its agent identifier in the message envelope Identifier not present in anonymous interactions The agent that transmits a message Sender may be an intermediary May be identified by its agent identifier in the message envelope Identifier not present in anonymous interactions
Slide 20CITE 4420 Message Oriented Model Message Transport A mechanism that may be used by agents to deliver a message Examples: –HTTP over TCP –SOAP transport –Message-oriented middleware A mechanism that may be used by agents to deliver a message Examples: –HTTP over TCP –SOAP transport –Message-oriented middleware
Slide 21CITE 4420 Message Oriented Model Message Transport (Cont’d) Responsibilities: –Timeliness of transport –Privacy –Reliability Responsibilities: –Timeliness of transport –Privacy –Reliability
Slide 22CITE 4420 Message Oriented Model Reliable Messaging A key infrastructure-level component of reliability Realized by a combination of message acknowledgement and correlation A key infrastructure-level component of reliability Realized by a combination of message acknowledgement and correlation