Reliability in message oriented middleware
Download
1 / 22

Reliability in Message-Oriented Middleware - PowerPoint PPT Presentation


  • 113 Views
  • 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

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
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


Contents
Contents

  • Introduction

  • Importance of reliability in MOM

  • Types of reliability

  • Strategies to achieve reliability

  • Summary


Introduction
Introduction

  • 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


Summary
Summary

- 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


ad