Middleware & Web Services
Layered Protocols: IP Layers, interfaces, and protocols in the Internet model.
Purpose of Layered Models mask the heterogeneity of systems provide convenient programming abstraction
Layered Protocols: OSI TvS 2.2 Layers, interfaces, and protocols in the OSI model.
Middleware Protocols An adapted reference model for networked communication. TvS 2.6
Purpose of Middleware ‘Middleware is primarily a set of programming abstractions developed to facilitate the development of complex distributed systems.’ – Gustavo Alonso
Middleware provides… protocols to support general-purpose services to more specific applications, e.g. authentication protocols authorization protocols distributed commit protocols distributed locking protocols high-level communication protocols ^remote procedure calls (RPC) ^remote method invocation (RMI)
Middleware 1-22 TvS 1.24 General structure of a distributed system as middleware.
Middleware and Openness In an open middleware-based distributed system, the protocols used by each middleware layer should be the same, as well as the interfaces they offer to applications TvS 1.25
Old-style Middleware programming models Remote Calls Remote Procedure Calls (RPC) Distributed objects and Remote Method Invocation E.g. Java RMI Common Object Request Broker Architecture (CORBA) Cross-language RMI Other Programming Models Remote event notification Remote SQL access Distributed transaction processing
©Gustavo Alonso, ETH Zürich. WS architecture: application integration o A popular interpretation of Web services is based on IBM’s Web service architecture which is based on three elements: ÞService requester: The potential user of a service ÞService provider: The entity that implements the service and offers to carry it out on behalf of the requester ÞService registry: A place where available services are listed and which allows providers to advertise their services and requesters to query for services o The goal is just-in-time integration of applications by discovering and orchestrating network-available services
©Gustavo Alonso, ETH Zürich. How is it ‘bottom up’? o The Web service architecture proposed by IBM is based on two key concepts: Þarchitecture of existing synchronous middleware platforms Þcurrent specifications of SOAP, UDDI and WSDL o The architecture has a remarkable client/server flavor o It reflects only what can be done with ÞSOAP (Simple Object Access Protocol) ÞUDDI (Universal Description and Discovery Protocol) ÞWSDL (Web Services Description Language) UDDI SOAP WSDL
Message-based Middleware Asynchronous Sending and receiving documents No remote procedure calls or object invocation Less coordination required
©Gustavo Alonso, ETH Zürich. The message world
Sources: Middleware Adapted from Introduction to Distributed Systems: Slides for CSCI 3171 Lectures by E. W. Grundke References: [TvS] A. Tanenbaum and M. van Steen Distributed Systems: Principles and Paradigms, Prentice-Hall (2002) [CDK] G. Coulouris, J. Dollimore and T. Kindberg Distributed System: Concepts and Design, Addison-Wesley (2001) [ISO] International Organization for Standardization/ International Electrotechnical Commission Standard ISO/IEC : Information Technology — Open Systems Interconnection — Basic Reference Model: The Basic Model (Second ed., corrected and reprinted ) Reference number ISO/IEC :1994(E) 1_1994(E).zip
Sources: Web Services Gustavo Alonso, Fabio Casati, and Harumi Kuno. Web Services: Concepts Architectures and Applications (Springer-Verlag, 2004) Slides from. Gustavo Alonso and Cesare Pautasso. Graduate course given at the University of Lappeenranta,Finland. August 9–13,