Data & knowledge engineering vol:51 issue:1 pages:81-107
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. (C) 2004 Elsevier B.V. All rights reserved.