WS-1-Middleware

advertisement
Middleware &
Web Services
Purpose of Layered Models
mask the heterogeneity of systems
provide convenient programming
abstraction
Layered Protocols: OSI
Layers, interfaces, and protocols in the OSI model.
TvS 2.2
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
General structure of a distributed system as middleware.
TvS 1.24
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
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
©Gustavo Alonso, ETH Zürich.
Message-based Middleware
Asynchronous
Sending and receiving documents
No remote procedure calls or object
invocation
Less coordination required
The message world
©Gustavo Alonso, ETH Zürich.
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)
<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 Commission
Standard 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_74981_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>
Download