Toronto ECE 1770 - Conditional Messaging - Extending Reliable Messaging with Application Conditions

Unformatted text preview:

AbstractStandard messaging middleware guarantees thedelivery of messages to intermediary destinations likemessage queues, but does not guarantee the receipt orthe processing of a message by final recipients.Conditional messaging is an extension to standardmessaging middleware that addresses this shortcomingby allowing an application to define, monitor, andevaluate various conditions on messages, such as timeconstraints on the receipt or the processing of amessage by a set of final recipients. In this paper, weintroduce the notion of conditional messaging, andpresent the design and implementation of a flexible andreliable system that supports conditional messaging foruse in Java 2 Enterprise Edition and message queuingenvironments. Our solution uniquely shifts theresponsibilities for implementing the management ofconditions on messages from the application to themiddleware. We further discuss the grouping of multipleconditional messages into atomic units-of-work, whichcan also integrate requests to transactional resourceslike distributed objects using object middleware.Conditional messaging serves to implement variouskinds of backward dependencies for distributed objecttransactions that integrate messaging.1IntroductionThe development of enterprise systems frequentlyentails the integration of diverse existing applications.Middleware is application-independent connectivitysoftware that is commonly used for purposes of Enter-prise Application Integration (EAI). Middlewareenables EAI by providing services that mediate betweenapplications, including basic services of data translationand conversion mechanisms and more complex servicesof business process definition and management.Some form of messaging and messaging middlewareis often used for EAI [11]. Applications create, manipu-late, store, and (typically asynchronously) communicatemessages using the services of messaging middleware.A message can be any application data combined withsome control information. Messaging middleware isexemplified by products such as IBM’s MQSeries [5]and messaging services to object middleware such asimplementations of Sun’s Java Message Service (JMS)[12,6].Messaging is considered beneficial to EAI as it doesnot require applications to be tightly coupled. Messag-ing applications do not directly communicate with eachother, but are mediated by the messaging middleware inthe form of message queues and/or publish/subscribemessage brokers. Mediation and asynchrony supportresilience and robustness in cases of partial failure.Messaging applications rely on the messaging mid-dleware to distribute messages. Standard messagingmiddleware typically guarantees eventual messagedelivery to intermediary destinations like queues [1,7],but does not guarantee that an enqueued message willalso be read from the queue and be processed by someapplication.From the message sender’s perspective, however,message receipt and message processing by final recipi-ents often are important criteria that represent a condi-tion on further processing by the sender. For example, ina coordinated workflow management system, a messagerepresenting the notification of a group meeting is sentto a set of participants, some of which may be requiredto acknowledge the receipt and accept the meetingbefore the meeting can be scheduled and databases(such as for room reservation and other purposes) can beupdated. Or, in an air traffic control scenario, a messagerepresenting an incoming flight is delivered to a queueandmustbepickedupfromthequeuebyacontrollerwithin a certain time frame, otherwise, some exceptionhandling must be started.With current middleware, applications themselvesare forced to implement the management of such condi-tions on messages as part of the application. The senderapplication itself must in some manner define the condi-tions on message delivery and/or processing and mustimplement some observation and evaluation mechanismto determine the satisfaction (respective violation) of theconditions. The receiver applications must send explicitacknowledgments of receipt and/or processing back tothe sender, and these must conform to the sender’sexpectations, that is, the sender’s particular implementa-tion mechanism for working with conditions. There isno defined middleware support available today to aid inthe development of applications that require the man-agement of conditions on messages.In this paper we address this shortcoming of currentmiddleware. We define and introduce the notion of con-ditional messaging and present a middleware servicethat shifts the responsibilities for implementing themanagement of conditions on messages from the appli-cation to the middleware. Our solution is compliant to,and built on top of, standard messaging middleware,Conditional Messaging:Extending Reliable Messaging with Application ConditionsStefan Tai, Thomas Mikalsen, Isabelle Rouvellou, Stanley M. Sutton Jr.IBM T.J. Watson Research Center, New York, USA{stai | tommi | rouvellou | [email protected]}which is an important requirement for its application toEAI scenarios. We also present the use of conditionalmessaging in the context of an extended transactionprocessing middleware service, the Dependency-Spheres service [14], which allows conditional mes-sages to be integrated with distributed transaction pro-cessing.The paper is structured as follows. Section 2 definesconditional messaging and addresses all aspects of sup-porting the management of conditions on messages; itis structured into seven subsections that successivelyexplain the concepts and the design and realization ofour middleware service, using the same recurring moti-vating application examples in each subsection. Section3 presents Dependency-Spheres, a novel approach tointegrating distributed transactions and messaging thatemploys conditional messaging as a fundamental ele-ment. Section 4 concludes with a summary and discus-sion.2 Conditional MessagingWe define conditional messaging as follows: Condi-tional messaging is messaging in which messages areassociated with application-defined conditions on mes-sage delivery and message processing in order to defineand determine a messaging outcome of success or fail-ure.Conditional messaging is a general notion. Specificmodels of conditional messaging can be defined withrespect to• specific models of messaging, such as messagequeuing and publish/subscribe systems,• particular participant roles, such as sender, pub-lisher,


View Full Document

Toronto ECE 1770 - Conditional Messaging - Extending Reliable Messaging with Application Conditions

Download Conditional Messaging - Extending Reliable Messaging with Application Conditions
Our administrator received your request to download this document. We will send you the file to your email shortly.
Loading Unlocking...
Login

Join to view Conditional Messaging - Extending Reliable Messaging with Application Conditions and access 3M+ class-specific study document.

or
We will never post anything without your permission.
Don't have an account?
Sign Up

Join to view Conditional Messaging - Extending Reliable Messaging with Application Conditions 2 2 and access 3M+ class-specific study document.

or

By creating an account you agree to our Privacy Policy and Terms Of Use

Already a member?