reliability in message oriented middleware
Skip this Video
Download Presentation
Reliability in Message-Oriented Middleware

Loading in 2 Seconds...

play fullscreen
1 / 22

Reliability in Message-Oriented Middleware - PowerPoint PPT Presentation

  • Uploaded on

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

I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
Download Presentation

PowerPoint Slideshow about ' Reliability in Message-Oriented Middleware' - lerato

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 in message oriented middleware

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
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
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
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
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
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
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
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
Types of reliability
  • Endpoint-to-endpoint reliability
  • Application-to-middleware reliability
  • Application-to-application reliability
endpoint to endpoint 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
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
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
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
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
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
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
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
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
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