Design guidelines for coordination components

The distributed nature of a typical web application combined with the rapid evolution of underlying platforms demands for a plug-in component architecture. Nevertheless, code for controlling distributed activities is usually spread over multiple subsystems, which makes it hard to dynamically reconfigure coordination services. This paper investigates coordination components as a way to encapsulate the coordination of a distributed system into a separate, pluggable entity. In an object-oriented context we introduce two design guidelines (namely, “ turn contracts into objects ” and “turn configuration into a factory object ”) that help developers to separate coordination from computation and to develop reusable and flexible solutions for coordination in distributed systems.

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

[2]  Ramana Rao,et al.  Implementational Reflection in Silica , 1991, ECOOP.

[3]  Oscar Nierstrasz,et al.  Design Guidelines for Tailorable Frameworks , 1997 .

[4]  Farhad Arbab,et al.  The IWIM Model for Coordination of Concurrent Activities , 1996, COORDINATION.

[5]  Serge Demeyer,et al.  ZYPHER - Tailorability as a Link from Object-Oriented Software Engineering to Open Hypermedia , 1996 .

[6]  Cristina V. Lopes,et al.  Aspect-oriented programming , 1999, ECOOP Workshops.

[7]  Jan A. Bergstra,et al.  The TOOLBUS Coordination Architecture , 1996, COORDINATION.

[8]  Nicholas Carriero,et al.  Linda in context , 1989, CACM.

[9]  Rachid Guerraoui,et al.  Thinking objectively: object-oriented abstractions for distributed programming , 1999, CACM.

[10]  Giuseppe Attardi,et al.  Metalevel Programming in CLOS , 1989, ECOOP.

[11]  Bertrand Meyer,et al.  Object-Oriented Software Construction, 2nd Edition , 1997 .

[12]  Jean-Marc Andreoli,et al.  The Coordination Language Facility: Coordination of Distributed Objects , 1996, Theory Pract. Object Syst..

[13]  Bedir Tekinerdogan,et al.  An application framework for building dynamically configurable transaction systems , 1996, OOPSLA 1996.

[14]  AFTERJ.-P. Banâtre GAMMA AND THE CHEMICAL REACTION MODEL : TEN YEARS , 2022 .

[15]  Doug Lea,et al.  Concurrent programming in Java - design principles and patterns , 1996, Java series.

[16]  Douglas C. Schmidt,et al.  Lessons learned building reusable OO frameworks for distributed software , 1997, CACM.

[17]  Oscar Nierstrasz,et al.  Object-oriented software composition , 1995 .

[18]  Robert Laddaga,et al.  Dynamic object technology , 1997, CACM.

[19]  Jee Mcaaer Meta-level Programming with Coda , 1995 .

[20]  Gregor Kiczales,et al.  Aspect-oriented programming , 2001, ESEC/FSE-9.

[21]  Sander Tichelaar,et al.  Managing evolution of coordination aspects in Open systems , 1998, Proceedings Ninth International Workshop on Database and Expert Systems Applications (Cat. No.98EX130).

[22]  Stéphane Ducasse,et al.  Evaluating Message Passing Control Techniques in Smalltalk , 1999 .

[23]  Mario Banville SONIA: An Adaptation of LINDA for Coordination of Activities in Organisations , 1996, COORDINATION.