On the Notion of Coupling in Communication Middleware

It is well accepted that different types of distributed architectures require different levels of coupling. For example, in client-server and three-tier architectures the application components are generally tightly coupled between them and with the underlying communication middleware. Meanwhile, in off-line transaction processing, grid computing and mobile application architectures, the degree of coupling between application components and with the underlying middleware needs to be minimised along different dimensions. In the literature, terms such as synchronous, asynchronous, blocking, non-blocking, directed, and non-directed are generally used to refer to the degree of coupling required by a given architecture or provided by a given middleware. However, these terms are used with various connotations by different authors and middleware vendors. And while several informal definitions of these terms have been provided, there is a lack of an overarching framework with a formal grounding upon which software architects can rely to unambiguously communicate architectural requirements with respect to coupling. This paper addresses this gap by: (i) identifying and formally defining three dimensions of coupling; (ii) relating these dimensions to existing communication middleware; and (iii) proposing notational elements for representing coupling configurations. The identified dimensions provide the basis for a classification of middleware which can be used as a selection instrument.

[1]  David Gelernter,et al.  Generative communication in Linda , 1985, TOPL.

[2]  Laurent Pautet,et al.  Towards an Adaptable Message Oriented Middleware for Mobile Environment , 2003 .

[3]  Steffen Staab,et al.  Web Services: Been There, Done That? , 2003, IEEE Intell. Syst..

[4]  Rahul Sharma,et al.  Java¿ Message Service API Tutorial and Reference: Messaging for the J2EE¿ Platform , 2002 .

[5]  Gregor Hohpe,et al.  Enterprise Integration Patterns: Designing, Building, and Deploying Messaging Solutions , 2003 .

[6]  Douglas C. Schmidt,et al.  Middleware for Distributed Systems Evolving the Common Structure for Network-centric Applications , 2001 .

[7]  Salah Sadou,et al.  Communication Abstractions for Distributed Systems , 2003, ECOOP Workshops.

[8]  Richard T. Dué,et al.  OBJECT-ORIENTED TECHNOLOGY: The Economics of a New Paradigm , 1993 .

[9]  Kurt Jensen,et al.  Coloured Petri Nets: Basic Concepts, Analysis Methods and Practical Use. Vol. 2, Analysis Methods , 1992 .

[10]  Anne-Marie Kermarrec,et al.  The many faces of publish/subscribe , 2003, CSUR.

[11]  Robert Cypher,et al.  The semantics of blocking and nonblocking send and receive primitives , 1994, Proceedings of 8th International Parallel Processing Symposium.

[12]  W.M.P. van der Aalst,et al.  Don't go with the flow: web services composition standards exposed , 2003 .

[13]  Douglas C. Schmidt,et al.  Applying the Quality Connector Pattern to Optimise Distributed Real-time and Embedded Applications , 2003, Patterns and Skeletons for Parallel and Distributed Computing.

[14]  Luís Ferreira Pires,et al.  On the Role of Basic Design Concepts in Behaviour Structuring , 1997, Comput. Networks ISDN Syst..

[15]  Andrew S. Tanenbaum,et al.  Distributed systems: Principles and Paradigms , 2001 .

[16]  Francisco Curbera,et al.  Web services description language (wsdl) version 1. 2 , 2001 .

[17]  John J. Marciniak,et al.  Encyclopedia of Software Engineering , 1994, Encyclopedia of Software Engineering.

[18]  Kurt Jensen,et al.  Coloured Petri nets (2nd ed.): basic concepts, analysis methods and practical use: volume 1 , 1996 .

[19]  Isabelle Rouvellou,et al.  Strategies for Integrating Messaging and Distributed Object Transactions , 2000, Middleware.

[20]  Ekkart Rudolph,et al.  Tutorial on Message Sequence Charts , 1996, Comput. Networks ISDN Syst..

[21]  Kurt Jensen,et al.  Coloured Petri Nets , 1997, Monographs in Theoretical Computer Science An EATCS Series.

[22]  Jess Thompson Toolbox: Avoiding a Middleware Muddle , 1997, IEEE Softw..