Abstract
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.
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
van der Aalst, W.: Don’t go with the flow: Web services composition standards exposed. IEEE Intelligent Systems 18(1), 72–76 (2003)
Beugnard, A., Fiege, L., Filman, R., Jul, E., Sadou, S.: Communication Abstractions for Distributed Systems. In: Buschmann, F., Buchmann, A., Cilia, M.A. (eds.) ECCV-WS 2003. LNCS, vol. 3013, pp. 17–29. Springer, Heidelberg (2004)
Chinnici, R., Gudgin, M., Moreau, J., Schlimmer, J., Weerawarana, S.: Web Services Description Language (WSDL) Version 2.0. W3C Recommendation (2004), (accessed June 2004), http://www.w3.org/TR/wsdl20
CPN tools homepage (accessed March 2005), http://wiki.daimi.au.dk/cpntools/_home.wiki
Cross, J.K., Schmidt, D.C.: Applying the quality connector pattern to optimise distributed real-time and embedded applications. In: Patterns and skeletons for parallel and distributed computing, pp. 209–235 (2003)
Cypher, R., Leu, E.: The semantics of blocking and nonblocking send and receive primitives. In: Siegel, H. (ed.) Proceedings of 8th International parallel processing symposium (IPPS), April 1994, pp. 729–735 (1994)
Eugster, P., Felber, P., Guerraoui, R., Kermarrec, A.: The Many Faces of Publish/Subscribe. ACM Computing Surveys 35(2), 114–131 (2003)
Gelernter, D.: Generative communication in Linda. ACM Trans. Program. Lang. Syst. 7(1), 80–112 (1985)
Object Management Group. Common Object Request Broker Architecture: Core Specification, 3.0.3 edn. (March 2004) (accessed June 2004), http://www.omg.org/docs/formal/04-03-01.pdf
Hapner, M., Burridge, R., Sharma, R., Fialli, J., Haase, K.: Java Messaging Service API Tutorial and Reference. Addison-Wesley, Reading (2002)
Hohpe, G., Woolf, B.: Enterprise Integration Patterns: Designing, Building, and Deploying Messaging Solutions. Addison-Wesley, Boston (2003)
Jensen, K.: Coloured Petri Nets. Basic Concepts, Analysis Methods and Practical Use. EATCS monographs on Theoretical Computer Science, vol. 1. Springer, Heidelberg (1997)
Kaddour, M., Pautet, L.: Towards an adaptable message oriented middleware for mobile environments. In: Proceedings of the IEEE 3rd workshop on Applications and Services in Wireless Networks, Bern, Switzerland (July 2003)
Sun Microsystems. Java remote method invocation specification (2003) (accessed March 2005), http://java.sun.com/j2se/1.4.2/docs/guide/rmi/spec/rmi-title.html
Websphere MQ family (accessed June 2005), http://www-306.ibm.com/software/integration/wmq/
Microsoft Message Queue (MSMQ) Center (accessed October 2004), http://www.microsoft.com/windows2000/technologies/communications/msmq
Quartel, D., Ferreira Pires, L., van Sinderen, M., Franken, H., Vissers, C.: On the role of basic design concepts in behaviour structuring. Computer Networks and ISDN Systems 29(4), 413–436 (1997)
Rudolph, E., Grabowski, J., Graubmann, P.: Tutorial on Message Sequence Charts. Computer Networks and ISDN Systems 28(12), 1629–1641 (1996)
Schantz, R., Schmidt, D.: Encyclopedia of Software Engineering. In: Middleware for Distributed Systems: Evolving the Common Structure for Network-centric Applications. Wiley & Sons, New York (2002)
Snir, M., Otto, S., Walker, D., Huss-Lederman, S., Dongarra, J.: MPI-The Complete Reference: The MPI Core, 2nd edn. MIT Press, Cambridge (1998)
Tai, S., Rouvellou, I.: Strategies for integrating messaging and distributed object transactions. In: Coulson, G., Sventek, J. (eds.) Middleware 2000. LNCS, vol. 1795, pp. 308–330. Springer, Heidelberg (2000)
Tanenbaum, A., van Steen, M.: Distributed Systems: Principles and Paradigms. Prentice Hall PTR, Upper Saddle River (2001)
Thompson, J.: Toolbox: Avoiding a middleware muddle. IEEE Software 14(6), 92–98 (1997)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2005 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Aldred, L., van der Aalst, W.M.P., Dumas, M., ter Hofstede, A.H.M. (2005). On the Notion of Coupling in Communication Middleware. In: Meersman, R., Tari, Z. (eds) On the Move to Meaningful Internet Systems 2005: CoopIS, DOA, and ODBASE. OTM 2005. Lecture Notes in Computer Science, vol 3761. Springer, Berlin, Heidelberg. https://doi.org/10.1007/11575801_6
Download citation
DOI: https://doi.org/10.1007/11575801_6
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-29738-3
Online ISBN: 978-3-540-32120-0
eBook Packages: Computer ScienceComputer Science (R0)