An Overview of Middleware

For a variety of reasons, middleware has become a critical substrate for numerous distributed applications. Middleware provides portability, protects applications from the inherent complexities of networking and distribution, supplies generally useful horizontal services (such as directory services, security, and transactions), and shields developers from system-level concerns so they can focus on the logic of their applications. This paper presents an overview of middleware, including its origins, its fundamental aspects, the different evolutionary paths it has taken, the effects that middleware standards have had on that evolution, and where middleware appears to be headed in the future.

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

[2]  Paul J. Leach,et al.  Network computing architecture , 1990 .

[3]  Andrew Birrell,et al.  Implementing remote procedure calls , 1984, TOCS.

[4]  Peter Sommerlad,et al.  Pattern-Oriented Software Architecture , 1996 .

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

[6]  Steve Vinoski,et al.  Integration with Web services , 2003, IEEE Internet Computing.

[7]  Steve Vinoski It's Just a Mapping Problem , 2003, IEEE Internet Comput..

[8]  Juan M. Andrade,et al.  The TUXEDO System: Software for Constructing and Managing Distributed Business Applications , 1996 .

[9]  Philip A. Bernstein,et al.  Principles of Transaction Processing , 1996 .

[10]  Grady Booch,et al.  Essential COM , 1998 .

[11]  Ward Rosenberry,et al.  Understanding DCE , 1992 .

[12]  Douglas C. Schmidt,et al.  An overview of the Real-Time CORBA specification , 2000, Computer.

[13]  Steve Vinoski,et al.  Web Services Interaction Models, Part 1: Current Practice , 2002, IEEE Internet Comput..

[14]  Larry Carter,et al.  Distrbution and Abstract Types in Emerald , 1987, IEEE Transactions on Software Engineering.

[15]  C. Zook,et al.  Growth outside the core. , 2003, Harvard business review.

[16]  Ralph Johnson,et al.  design patterns elements of reusable object oriented software , 2019 .

[17]  Barbara Liskov,et al.  The Argus Language and System , 1984, Advanced Course: Distributed Systems.

[18]  Gordon S. Blair,et al.  Guest Editorial: Middleware Technologies for Future Communication Networks , 2004, IEEE Netw..

[19]  Sape Mullender,et al.  Distributed systems , 1989 .

[20]  A. Watson,et al.  OMG (Object Management Group) architecture and CORBA (common object request broker architecture) specification , 2002 .

[21]  Jim Waldo,et al.  A Note on Distributed Computing , 1996, Mobile Object Systems.

[22]  J. Roy,et al.  Understanding Web services , 2001 .

[23]  Eric Newcomer,et al.  Understanding Web Services: XML, WSDL, SOAP, and UDDI , 2002 .

[24]  D. L. Parnas,et al.  On the criteria to be used in decomposing systems into modules , 1972, Software Pioneers.

[25]  Michi Henning,et al.  A new approach to object-oriented middleware , 2004, IEEE Internet Computing.

[26]  Douglas C. Schmidt,et al.  C++ network programming , 2002 .

[27]  B. M. Yelavich Customer Information Control System - An Evolving System Facility , 1985, IBM Syst. J..

[28]  Ian Foster,et al.  The Grid: A New Infrastructure for 21st Century Science , 2002 .

[29]  Steve Vinoski,et al.  Putting the "Web" into Web Services: Interaction Models, Part 2 , 2002, IEEE Internet Comput..

[30]  Ian T. Foster,et al.  Grid Services for Distributed System Integration , 2002, Computer.

[31]  Andrew P. Black,et al.  The Eden System: A Technical Review , 1985, IEEE Transactions on Software Engineering.

[32]  Douglas C. Schmidt,et al.  Pattern-Oriented Software Architecture, Patterns for Concurrent and Networked Objects , 2013 .