Upload
nicole-karson
View
227
Download
0
Tags:
Embed Size (px)
Citation preview
Middleware &Web Services
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 protocolsauthorization protocolsdistributed commit protocolsdistributed locking protocolshigh-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.
Old-style Middlewareprogramming 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 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
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’? 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
The architecture has a remarkable client/server flavor
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
AsynchronousSending and receiving documentsNo remote procedure calls or object invocation
Less coordination required
©Gustavo Alonso, ETH Zürich.
The message world
Sources: MiddlewareAdapted 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)<URL:http://www.prenhall.com/divisions/esm/app/author_tanenbaum/custom/dist_sys_1e/
>
[CDK] G. Coulouris, J. Dollimore and T. Kindberg Distributed System: Concepts and Design, Addison-Wesley (2001) <URL:http://www.cdk3.net/ig/beida/>
[ISO] International Organization for Standardization/ International Electrotechnical CommissionStandard ISO/IEC 7498-1: Information Technology — Open Systems Interconnection — Basic Reference Model: The Basic Model (Second ed., corrected and reprinted 1996-06-15)Reference number ISO/IEC 7498-1:1994(E)
<URL:http://standards.iso.org/ittf/PubliclyAvailableStandards/s020269_ISO_IEC_7498-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 <URL:http://www.inf.ethz.ch/~alonso/WebServicesBook>.
Gustavo Alonso and Cesare Pautasso. Graduate course given at the University of Lappeenranta,Finland.
August 9–13, 2004. <URL:http://www.inf.ethz.
ch/personal/alonso/Web-book/Lappeenranta-graduate-course.zip>