slides-almeida

Download Report

Transcript slides-almeida

Web Services and Seamless
Interoperability
João Paulo Almeida ([email protected])
Luís Ferreira Pires ([email protected])
Marten van Sinderen ([email protected])
Centre for Telematics and Information Technology
(CTIT), University of Twente
1
Web Services are about…
• SOAP, WSDL, XML Schema, UDDI, BPEL4WS, …
2
Web Services are about… and about…
• SOAP, WSDL, XML Schema, UDDI, BPEL4WS, …
• Web Services hosting platforms
• JAX-RPC / JSP / EJB / Java
• .NET / CLR / XML Web Services / C#
• CORBA / C++, Java, COBOL, …
• CCM
• Add your favourite:
- middleware platforms
- programming languages
3
There are always other platforms involved
Web Services
EJB / Java
Intra-domain
abstractions
Utilities
(UDDI)
CCM / C++
EAI
.NET
SOAP
Inter-domain
abstractions
WSDL
4
Mismatch: Web Services x Hosting Platform
Web Services
EJB / Java
C++
.NET
• Mappings:
• from and to Java in the JAX-RPC
Utilities
specification
(UDDI)
• from and to .NET’s Common Type
EAI
System
• from and to CORBA IDL
• recurring: and then to
programming languages
• Can be automated, and spare us
from a lot of work
• (WSDL may be “human readable”
WSDL
(?) but
I prefer Java)
5
Mismatch: Web Services x Hosting Platform
Web Services
EJB / Java
C++
.NET
• Mismatch Example:
• A Java developer is used to
Utilities
passing
(UDDI) remote object references
as parameters in J2EE
EAIif an object is to be exposed
• Not
as a web service endpoint (JAXRPC)
• Lots of patterns used will depend
on references
WSDL
6
Mismatch: Web Services x Hosting Platform
• Divergences in the behavior of components of
different technology domains
• E.g., use of the Naming Service in CORBA
• Even if the mapping from SOAP/IIOP were
transparent, requesters would have to be able
to use the Naming Service
• Rule of thumb:
• Avoid exposing such “internal” characteristics
in a web services definition
• Works with trivial web services
• Assumes services can be simplified regardless
of complexity of service requester - service
provider interactions
7
Challenge: Seamless interoperation
• Developers should be shielded from:
• the existence of different middleware
platforms and programming languages
• and from the resulting mismatch
• We need support to accommodate the
differences, to:
• provide abstractions that are suitable and
intuitive for application developers, and
• re-use specifications and components
defined in terms of the abstractions of
particular technology domains
8
Opportunity: MDA and platform-independence
Web Services
EJB / Java
Utilities
(UDDI)
CCM / C++
EAI
.NET
SOAP
WSDL
9
Risk: it starts again...
PIM
flavour2
PIM
flavour1
PIM
flavour MS
PIM …
10