{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2023,9,4]],"date-time":"2023-09-04T19:51:59Z","timestamp":1693857119127},"reference-count":18,"publisher":"World Scientific Pub Co Pte Lt","issue":"04","content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":["Int. J. Soft. Eng. Knowl. Eng."],"published-print":{"date-parts":[[2003,8]]},"abstract":"<jats:p> Software architectures promote development focused on modular functional building blocks (components), their interconnections (configurations), and their interactions (connectors). Since architecture-level components often contain complex functionality, it is reasonable to expect that their interactions will be complex as well. Middleware technologies such as CORBA, COM, and RMI provide a set of predefined services for enabling component composition and interaction. However, the potential role of such services in the implementations of software architectures is not well understood. In practice, middleware can resolve various types of component heterogeneity \u2014 across platform and language boundaries, for instance \u2014 but also can induce unwanted architectural constraints on application development. We present an approach in which components communicate through architecture-level software connectors that are implemented using middleware. This approach preserves the properties of the architecture-level connectors while leveraging the beneficial capabilities of the underlying middleware. We have implemented this approach in the context of a component- and message-based architectural style called C2 and demonstrated its utility in the context of several diverse applications. We argue that our approach provides a systematic and reasonable way to bridge the gap between architecture-level connectors and implementation-level middleware packages. <\/jats:p>","DOI":"10.1142\/s0218194003001330","type":"journal-article","created":{"date-parts":[[2003,9,8]],"date-time":"2003-09-08T09:56:09Z","timestamp":1063014969000},"page":"367-393","source":"Crossref","is-referenced-by-count":25,"title":["The Role of Middleware in Architecture-Based Software Development"],"prefix":"10.1142","volume":"13","author":[{"given":"Nenad","family":"Medvidovic","sequence":"first","affiliation":[{"name":"Computer Science Department,  University of Southern California, Los Angeles, CA 90089, USA"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Eric M.","family":"Dashofy","sequence":"additional","affiliation":[{"name":"School of Information and Computer Science,  Department of Informatics, University of California, Irvine, Irvine,  CA 92697, USA"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Richard N.","family":"Taylor","sequence":"additional","affiliation":[{"name":"School of Information and Computer Science,  Department of Informatics, University of California, Irvine, Irvine,  CA 92697, USA"}],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"219","published-online":{"date-parts":[[2011,11,21]]},"reference":[{"key":"rf6","doi-asserted-by":"publisher","DOI":"10.1145\/258077.258078"},{"key":"rf8","first-page":"332","volume":"9","author":"Carzaniga A.","journal-title":"ACM Trans. on Computer Systems"},{"key":"rf13","series-title":"Addison-Wesley Professional Computing Series","volume-title":"Design Patterns: Elements of Reusable Object-Oriented Software","author":"Gamma E.","year":"1995"},{"key":"rf15","doi-asserted-by":"publisher","DOI":"10.1145\/359576.359585"},{"key":"rf17","volume-title":"WebSphere MQ \u2014 Product Overview","year":"2003"},{"key":"rf21","volume-title":"HARDPack Developer's Guide","year":"1998"},{"key":"rf22","doi-asserted-by":"publisher","DOI":"10.1109\/32.464548"},{"key":"rf25","doi-asserted-by":"publisher","DOI":"10.1109\/32.825767"},{"key":"rf28","doi-asserted-by":"publisher","DOI":"10.1145\/504087.504088"},{"key":"rf29","doi-asserted-by":"publisher","DOI":"10.1109\/32.385972"},{"key":"rf30","volume-title":"The Common Object Request Broker: Architecture and Specification","year":"2001"},{"key":"rf31","volume-title":"Peer-to-Peer: Harnessing the Power of Disruptive Technologies","author":"Oram A.","year":"2001"},{"key":"rf32","doi-asserted-by":"publisher","DOI":"10.1145\/174625.174629"},{"key":"rf33","volume-title":"COM and DCOM: Microsoft's Vision for Distributed Objects","author":"Sessions R.","year":"1997"},{"key":"rf34","doi-asserted-by":"publisher","DOI":"10.1109\/32.385970"},{"key":"rf35","volume-title":"Software Architecture: Perpectives on an Emerging Discipline","author":"Shaw M.","year":"1996"},{"key":"rf36","doi-asserted-by":"publisher","DOI":"10.1109\/32.508313"},{"key":"rf37","volume-title":"The Component Object Model: A Technical Overview","author":"Williams S.","year":"1994"}],"container-title":["International Journal of Software Engineering and Knowledge Engineering"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/www.worldscientific.com\/doi\/pdf\/10.1142\/S0218194003001330","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2019,8,7]],"date-time":"2019-08-07T01:47:36Z","timestamp":1565142456000},"score":1,"resource":{"primary":{"URL":"https:\/\/www.worldscientific.com\/doi\/abs\/10.1142\/S0218194003001330"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2003,8]]},"references-count":18,"journal-issue":{"issue":"04","published-online":{"date-parts":[[2011,11,21]]},"published-print":{"date-parts":[[2003,8]]}},"alternative-id":["10.1142\/S0218194003001330"],"URL":"https:\/\/doi.org\/10.1142\/s0218194003001330","relation":{},"ISSN":["0218-1940","1793-6403"],"issn-type":[{"value":"0218-1940","type":"print"},{"value":"1793-6403","type":"electronic"}],"subject":[],"published":{"date-parts":[[2003,8]]}}}