Reliability in message oriented middleware
Sponsored Links
This presentation is the property of its rightful owner.
1 / 22

Reliability in Message-Oriented Middleware PowerPoint PPT Presentation

  • Uploaded on
  • Presentation posted in: General

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 Presentation

Reliability in Message-Oriented Middleware

An Image/Link below is provided (as is) to download presentation

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.

- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript

Reliability inMessage-OrientedMiddleware

Daniel de Pedro Castillo

University of Helsinki, May 2007


  • Introduction

  • Importance of reliability in MOM

  • Types of reliability

  • Strategies to achieve reliability

  • Summary


  • Middleware

    Software that connects software components and applications, used to support complex distributed applications.

  • Message-Oriented Middleware (MOM) Type of inter-application communication software that generally relies on asynchronous message-passing.

Properties of MOM (I)

  • Asynchrony

    Communication between systems to establish connection not needed. Programs don’t execute serially and take turns waiting on each other (non-blocking)

  • Queues

    Messages are stores in queues until the recipient is ready to read them. Messages can be read as FIFO or a priority criteria

Properties of MOM (II)

  • Fewer channels

    Because of asynchronous communication fewer communication channels needed:

    - easier to manage

    - more efficient

  • Persistency

    Persistent messages stored in non-volatile storage can be reinstated after system restart.

    Non-persistent messages stored only in memory

Importance of reliability in MOM (I)

  • Reliability

    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

Importance of reliability in MOM (II)

  • Two concerns in communication

  • Time for delivering the message

    Example: video-conference in real-time

  • Quality of the message (integrity)

    Example: e-mail, web navigation

  • What is needed in MOM

    MOM uses asynchronous communication. Time is not an issue. Integrity and non-corrupt data are more important

Aspects of reliability (I)

  • Toleration of failures

    Repeatedly send messages until it is acknowledged by the recipient. Middleware guarantees the delivery and sender can throw-and-remove the message

  • Isolation of clients

    Clients send and receive messages though middleware, they don’t deal with each other directly

Aspects of reliability (II)

  • Order delivery

    Important in asynchronous environments, where messages are stored in the middleware

  • Message attributes

    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

Aspects of reliability (III)

  • Message integration

    Messages usually are part of a business process and an atomic unit-of-work. Middleware atomically groups messages and other process activities

  • Examples of products and protocols

    - IBM Websphere MQ (MQ series)

    - TIBCO Rendezvous

    - Microsoft Message Queueing (MSMQ)

    - Reliable HTTP (HTTPR)

    - WS Reliability protocol

    - WS Reliable-messaging protocol

Types of reliability

  • Endpoint-to-endpoint reliability

  • Application-to-middleware reliability

  • Application-to-application reliability

Endpoint-to-endpoint reliability

  • A message, once delivered from an application (process) to the messaging middleware, is guaranteed to be available for consumption by the receiving process

  • Messages are made persistent locally on the sender and receiver sides before and after they are being sent

  • All messages are given unique identifiers, so that a message sender (the endpoint on the sender side) can re-send a message until it gets a positive acknowledgment of receipt by the receiver (the endpoint on the receiver side)

Application-to-middleware reliability

  • Message delivery guarantees (exactly-once, at-most-once, at-least-once)

  • Fault-tolerant invocation (of the messaging endpoint)

  • Ability to atomically group messaging operations with other application actions

Application-to-application reliability

  • Middleware endpoint-to-endpoint reliability and application-to-middleware reliability provide the foundation on which (higher-level) distributed business processes can be developed

  • Distributed business processes are constructed from basic application-to-application interactions.

Strategies to achieve reliability

  • Simple Object Access Protocol (SOAP)

  • Strategies for endpoint-to-endpoint reliability

  • Strategies for application-to-middleware reliability

  • Strategies for application-to-application reliability

Simple Object Access Protocol (SOAP)

  • SOAP is a protocol for exchanging XML-based messages over computer networks, normally using HTTP

  • Both synchronous and asynchronous models.

  • SOAP messages contain an envelope, message headers and a message body

  • SOAP can be considerably slower than other middleware technologies such as the Common Object Request Broker Architecture (CORBA)

Strategies for endpoint-to-endpoint reliability (I)

  • Soap-over-HTTP (synchronous)

    HTTP is only reliable as long as connection stays alive. Needs middleware to be reliable if the connection fails: HTTPR

  • Soap-over-HTTPR (synchronous)

    Combined with some persistent storage capability supports middleware endpoint-to-endpoint reliability

Strategies for endpoint-to-endpoint reliability (II)

  • Soap-over-MQ (asynchronous)

    - The middleware endpoints are message queue managers provided by the messaging middleware product

    - The persistent stores are message queues

  • Enterprise messaging middleware

    - 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

Strategies for application-to-middleware reliability (I)

  • Soap-over-HTTP (synchronous)

    - 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-Middleware (asynchronous)

    - 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.

Strategies for application-to-middleware reliability (II)

  • Enterprise messaging middleware

    - 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

Strategies for application-to-application reliability

  • Direct transaction processing

    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

  • Queued 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

  • Login