General Introduction
As companies attempt
to integrate their business and IT strategies using the power of modern
Information Technology, they recognise, more and more, the need for
architectural infrastructures, re-engineering techniques and methodological
solutions that can deliver Business and Technology-Reactive Information
Systems. This methodology is grounded on a particular separation of concerns, namely between "computation" (the mechanisms through which the functionality of services is ensured at the local level of the components of the system) and "coordination" (the mechanisms through which interactions between components can be established so that the global properties that are required of the system can emerge from the local computations and the interconnections established between them). The rationale for this separation, inspired by the work started in the early 90s around what are known as "Coordination Languages and Models", was the realisation that it reflects the existence of two different rates of change in most business domains, namely the fact that the services provided by the core business entities, which reflect "business invariants", are much less volatile than the business rules that determine how they should be used in the applications that the organisation offers in its business portfolio. By separating coordination from computation, we are able to externalise and make first-class citizens the business rules with which the organisation operates, and allow them to evolve in a way that is non-intrusive on the implementation of the core components of the system. The proposed methodology is supported by a number of semantic primitives that can be used in conjunction with one's favourite Modelling Approach or Programming Language. At its core is the notion of Coordination Contract, a modelling primitive with the expressive power of connectors as known in Software Architectures, and through which interactions can be dynamically superposed over system components without interfering with their implementation. The Coordination Development Environment (CDE) that we are making freely available supports the use of coordination contracts for Java applications. These pages make available documentation both on the use of the CDE and the methodology that it supports. More general information, including downloadable publications, can be found at the website of ATX. Any comments and reports on bugs found on the CDE or its documentation are most welcome and can be sent to cde@atxsoftware.com. Please consider subscribing the mailing list to receive first-hand news on updates to the CDE and developments on the metodological and technological aspects. We hope you will enjoy using the CDE and find coordination contracts both fun and useful for your work!
The CDE Team
|