Events as atomic contracts for component integration

Today many companies rely on third party applications and application services for (part of) their information systems. When applications from different parties are used together, an integration problem arises. Similarly, cross-organisational application integration requires the coordination of distributed processing across several autonomous applications. In this paper, we describe an integration approach based on an event-based coordination paradigm. Interaction is based on atomic units of interaction called "business events". Each business event mirrors some event in the real world that requires the coordination of actions within a number of components. The coordination between applications is achieved by having applications specify preconditions for business events. As a result, a business event becomes a small scale contract between involved applications: each application can insert its own clauses into the contract by specifying preconditions. Moreover, a formal method for contract analysis is proposed, to verify whether the contract is free from contradictions and inconsistencies. Finally, in addition to its contracting aspect, the event-based communication paradigm entails a dispatching and coordination mechanism, which offers the additional advantage of a complete separation of the coordination aspects from the functionality aspects. The paper discusses different alternative architectures for event-based coordination, with particular emphasis on distributed, loosely coupled environments such as web services.

[1]  C. A. R. Hoare,et al.  Communicating sequential processes , 1978, CACM.

[2]  Herman Lam,et al.  Integration of Business Event and Rule Management With the Web Services Model , 2004, Int. J. Web Serv. Res..

[3]  Mary Shaw,et al.  Software architecture - perspectives on an emerging discipline , 1996 .

[4]  Robert B. France,et al.  Defining Precise Semantics for UML , 2000, ECOOP Workshops.

[5]  簡聰富,et al.  物件導向軟體之架構(Object-Oriented Software Construction)探討 , 1989 .

[6]  Jeffrey D. Ullman,et al.  Formal languages and their relation to automata , 1969, Addison-Wesley series in computer science and information processing.

[7]  Henk Sol,et al.  Information Systems Design Methodologies; A Comparative Review: Proceedings of the IFIP WG 8.1 Working Conference on Comparative Review of Information Systems Design Methodologies, Noordwijkerhout, the Netherlands, 10-14 May 1982 , 1982 .

[8]  David S. Rosenblum,et al.  A design framework for Internet-scale event observation and notification , 1997, ESEC '97/FSE-5.

[9]  David S. Rosenblum,et al.  Issues in supporting event-based architectural styles , 1998, ISAW '98.

[10]  Balachander Krishnamurthy,et al.  Yeast: A General Purpose Event-Action System , 1995, IEEE Trans. Software Eng..

[11]  Miroslaw Staron,et al.  Workshop on "Consistency Problems in UML-based Software Development II" , 2003 .

[12]  Monique Snoeck,et al.  Object-Oriented Enterprise Modelling with MERODE , 1999 .

[13]  Adam Arkin Business process Modeling Language , 2002 .

[14]  Gianna Reggio,et al.  Consistency Problems in UML-Based Software Development , 2004, UML Satellite Activities.

[15]  Monique Snoeck,et al.  An enterprise layer-based approach to application service integration , 2003, Bus. Process. Manag. J..

[16]  Jean Bacon,et al.  Using events to build distributed applications , 1995, Second International Workshop on Services in Distributed and Networked Environments.

[17]  Desmond D'Souza,et al.  Objects, Components, and Frameworks with UML: The Catalysis Approach , 1998 .

[18]  Robin Milner,et al.  A Calculus of Communicating Systems , 1980, Lecture Notes in Computer Science.

[19]  Betty H. C. Cheng,et al.  A Formal Semantics for Object Model Diagrams , 1995, IEEE Trans. Software Eng..

[20]  Monique Snoeck,et al.  A Layered Architecture Sustaining Model-Driven and Event-Driven Software Development , 2003, Ershov Memorial Conference.

[21]  Vinny Cahill,et al.  Taxonomy of distributed event-based programming systems , 2002, Proceedings 22nd International Conference on Distributed Computing Systems Workshops.

[22]  Monique Snoeck,et al.  Existence Dependency: The Key to Semantic Integrity Between Structural and Behavioral Aspects of Object Types , 1998, IEEE Trans. Software Eng..

[23]  Monique Snoeck,et al.  Event Based Web Service Description and Coordination , 2003, WES.

[24]  Henk Sol,et al.  Information Systems Design Methodologies: A Comparative Review , 1983 .

[25]  Guido Dedene,et al.  Formal Deadlock Elimination in an Object Oriented Conceptual Schema , 1995, Data Knowl. Eng..

[26]  Alfonso Fuggetta,et al.  The JEDI Event-Based Infrastructure and Its Application to the Development of the OPSS WFMS , 2001, IEEE Trans. Software Eng..

[27]  Herman Lam,et al.  Component Interoperability in a Virtual Enterprise Using Events/Triggers/Rules , 1998 .

[28]  Keith Robinson,et al.  Object Oriented SSADM , 1994 .

[29]  Yuh-Jzer Joung,et al.  A comprehensive study of the complexity of multiparty interaction , 1992, POPL '92.

[30]  Edsger W. Dijkstra,et al.  Cooperating sequential processes , 2002 .

[31]  King Sing Cheung,et al.  Consistency Analysis on Lifecycle Model and Interaction Model , 1998 .

[32]  Mira Mezini,et al.  Engineering Event-Based Systems with Scopes , 2002, ECOOP.