
Middleware for Distributed Systems
Citation: Richard E. Schantz and Douglas C. Schmidt. "Middleware for Distributed Systems." Encyclopedia of Computer Science and Engineering. Ed. Benjamin W. Wah. Vol. 3. pp. 1875-1883. Hoboken, NJ: Wiley, January 2009.
Formats:
Paper (PDF)
Abstract:
Middleware represents the confluence of two key areas of information technology (IT): distributed systems and advanced software engineering. Techniques for developing distributed systems focus on integrating many computing devices to act as a coordinated computational resource. Likewise, software engineering techniques for developing component-based systems focus on reducing software complexity by capturing successful patterns of interactions and creating reusable frameworks for integrating these components. Middleware is the area of specialization dealing with providing environments for developing systems that can be distributed effectively over a myriad of topologies, computing devices, and communication networks. It aims to provide developers of networked applications with the necessary platforms and tools to (1) formalize and coordinate how parts of applications are composed and how they interoperate and (2) monitor, enable, and validate the (re)configuration of resources to ensure appropriate application end-to-end quality of service (QoS), even in the face of failures or attacks.