Reliability in Message-Oriented Middleware. Daniel de Pedro Castillo University of Helsinki, May 2007. Contents. Introduction Importance of reliability in MOM Types of reliability Strategies to achieve reliability Summary. Introduction. Middleware
Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.
Daniel de Pedro Castillo
University of Helsinki, May 2007
Software that connects software components and applications, used to support complex distributed applications.
Communication between systems to establish connection not needed. Programs don’t execute serially and take turns waiting on each other (non-blocking)
Messages are stores in queues until the recipient is ready to read them. Messages can be read as FIFO or a priority criteria
Because of asynchronous communication fewer communication channels needed:
- easier to manage
- more efficient
Persistent messages stored in non-volatile storage can be reinstated after system restart.
Non-persistent messages stored only in memory
1) Property which guarantees that data is correctly delivered to the recipient
2) Ability of a system to perform and maintain its functions in routine circumstances as well as hostile or unexpected circumstances
Example: video-conference in real-time
Example: e-mail, web navigation
MOM uses asynchronous communication. Time is not an issue. Integrity and non-corrupt data are more important
Repeatedly send messages until it is acknowledged by the recipient. Middleware guarantees the delivery and sender can throw-and-remove the message
Clients send and receive messages though middleware, they don’t deal with each other directly
Important in asynchronous environments, where messages are stored in the middleware
Messages can be attributed with properties such as expiration timestamps, priority, reply-to address… checked by the middleware to ensure the correct usage of them
Messages usually are part of a business process and an atomic unit-of-work. Middleware atomically groups messages and other process activities
- IBM Websphere MQ (MQ series)
- TIBCO Rendezvous
- Microsoft Message Queueing (MSMQ)
- Reliable HTTP (HTTPR)
- WS Reliability protocol
- WS Reliable-messaging protocol
HTTP is only reliable as long as connection stays alive. Needs middleware to be reliable if the connection fails: HTTPR
Combined with some persistent storage capability supports middleware endpoint-to-endpoint reliability
- The middleware endpoints are message queue managers provided by the messaging middleware product
- The persistent stores are message queues
- Middleware endpoint-to-endpoint reliability can also be achieved by employing enterprise messaging middleware directly, independent of SOAP
- Middleware must be leveraged to support XML messaging
- Reliability mechanisms may be implemented as part of the application
- The application can therefore ensure that its components for creating, storing, and delivering messages are all accessed reliably.
- SOAP-over-HTTPR or SOAP-over-MQ
- The application-to-middleware guarantees that can be provided are the message delivery guarantees of the underlying transport
- The reliability of the local procedure calls between the application and the local endpoint.
- The "direct middleware" option of using MQ for XML messaging describes the case where the application uses the reliable middleware's API to send and receive messages.
- Application-to-middleware reliability relates to the direct use of the underlying middleware's API and its reliability features
An agreement protocol such as two-phase commit (2PC) is used to directly include one application's transaction processing as part of another application's transaction processing
- Applications interact indirectly using reliable message-oriented middleware
- A transaction service integrates messaging resources (for example queues) with other resources used by the applications (for example databases) is also needed
- We have introduced what the middleware and message-oriented middleware are and their role in communication systems, both synchronous and asynchronous
- The concept of reliability has been explained, and also its different aspects and types: endpoint-to-endpoint middleware, application-to-middleware middleware and application-to-application middleware
- Some strategies for achieving reliability have been also discussed, as well as some actual technologies and protocols, such as SOAP