Web Services Architecture Web Services & Myths Around it

advertisement
Web Services & Myths Around it
Based on the paper
“Myths around Web Services”
by Gustavo Alonso
Debashis Roy
Deepa Saha
What is claimed?
2
 Web service is a natural evolution of conventional
middleware necessary to meet the challenges of
the Web and of B2B application integration.
Author discusses the challenges and solutions that remain
relevant regardless of how emerging standards and
technologies evolve.
How the claim is proved?
3
 Web services are an accepted & dominant standard.
 Web services are the best way to implement conventional
applications.
 Web services provide a direct link between middleware
platforms of different corporations.
 Dynamic binding will be a common way of working with web
services.
 All data will be in XML.
Outlook towards Web services
4
 A revolutionary technology
 radical change in middleware, application integration & use of
internet.
 An evolutionary step
 An additional layer on top of existing middleware and EAI
platforms.
5
Client
Client
Presentation layer
Application logic layer
Resource management
layer
1-tier architecture
2-tier
3-tier
server
Application logic layer
Middleware
Information system
Presentation layer
Web
Services
& Myths
Around it
From Middleware to Web Services
6
Middleware
7
 Basic infrastucture behind distributed information
system
 Interaction between applications across
heterogeneous platforms
 Solution to integrating set of servers and
applications under a common service interface
8
Programming
Languages
Databases
Operating
Systems
Middleware
Systems
Distributed
Systems
Networking
Types of middleware
9
 RPC based systems
 Transforms procedure calls to remote procedure calls
 Foundation of web services middleware
 TP monitors
 RPC system with transactional capabilities
 Object brokers
 RPC system with object-oriented aspect
 Object monitor
 TP monitors with object-oriented aspect
 Message-Oriented Middleware (MOM)
 TP monitors with persistent message queuing feature
 Message brokers
 MOM with message filtering and transforming capability
Enterprise Application Integration (EAI)
10
 Extends middleware capabilities to cope with
application integration
 Uses application logic layers of different
middleware systems as building blocks
 Integrates applications and enterprise data
sources so that they can easily share business
processes and data
11
Middleware
Middleware
Middleware
EAI
Middleware
Middleware
Middleware
Web Technologies
12
….Intra-enterprise application integration
Web Technology
Inter-enterprise application integration
Web browsers
HTML, Java
Web
Server
Databases
Middleware
Server
Legacy Systems
Web Services
13
 A way to expose the functionality of an information
system and making it available through standard
web technologies.
“a software application identified by a URI, whose
interfaces and bindings are capable of being defined,
described, and discovered as XML artifacts. A Web
service supports direct interactions with other software
agents using XML-based messages exchanged via
Internet-based protocols” [W3C]
Web
Services &
Myths
Around it
Web Services Architecture
14
The two Facets of Web Services architecture
15
 Internal architecture
 Web services expose internal operations to be invoked
through the web
 Receive requests through the web
 Pass the requests to the underlying IT system
 External architecture
 A middleware architecture which integrates different web
services
16
Web service architecture comprises Internal and external architecture
17
Clients from
other companies
Conventional
Middleware
Basic architecture of a Web service implemented atop a tiered architecture
18
External architecture of Web services
Web
Services &
Myths
Around it
A Quick Overview of Web
Services
19
Web Service Components
20
 Web service architecture has three components
 Service requester
 Service provider
 Service registry
 Basic infrastructure is implemented with
 UDDI
 A name and directory server
 WSDL
 A way to describe services
 SOAP
 A way to communicate
Universal Description, Discovery and Integration
21
 A specification that defines
 how to interact with a registry
 What the entries on the registry look like
 Interaction with UDDI
 Registration
 Adding new service descriptions to the registry
 Lookup
 Queries to search for right services
 Types of UDDI registry
 Public
 Open search-engines for web services
 Private
 Created by companies for their own use
Web Services Definition Language
22
 Defines the interface to a web
service
 Types
 XML schema describing used data types
 Messages
 Necessary to invoke an operation of the
WSDL Specification
Abstract Part
Types
service
 Operations
Message
 Reference to input/output message
 Port type
Port Type
Operation
 Set of operations that conform an instance of a
Operation
service
 Binding
 Actual protocol to be used to invoke the
operations
 Services and ports
 References to actual location of service
Concrete Part
Binding
Service
Port
Simple Object Access Protocol
23
SOAP Envelope
 A specification of a protocol
wrapper
 Interaction between requester,
provider and registry happen
through SOAP
 Provides a standardized way to
 Transform different protocols
 Interaction mechanisms into XML
documents
SOAP header
Header Block
SOAP Body
Body Block
24
Interaction among the Web service components
Web
Services
& Myths
Around it
The Myths Around Web Services
25
Web services and standards
26
 Assumption
 Most applications will speak and understand XML
 All systems will support SOAP
 Everybody will advertise their service in UDDI registries
 All services will be described in WSDL
 Reality
Standards no longer means globally unique in the
B2B world.
 Other competing B2B standards coexist
 In manufacturing – Electronic Data Interchange (EDI)
 In financial world – Society for World-wide Interbank Financial
Telecommunication (SWIFT)
Web services and standards….(contd.)
27
 Fact
 Web services are biased towards the protocols,
representation and standards of their underlying middleware.
 Web services add a new layer to the complex multi-tier
architecture
 Translation to and from XML
 Tunneling of RPC through SOAP
 Clients embedded in web servers
 Alternative port types
 Problems
 Addition of a new layer on top of the complex multi-tier
system
 Adds significant performance overhead
 Developing, tuning, maintaining and evolving of multi-tier systems
becomes more complex.
Web Services in Conventional Applications
28
 Conventional applications using web services
 Flight reservations
 Car rental
 Hotel booking, etc.
All of them are B2C but web services were created for B2B
applications.
 There are some applications which can be
implemented with web services but that might not
be the best way
 Applications that sends periodic bug reports
 Applications that automatically download or install patches
 Systems that use remote service to provide a functionality
Web Services in Conventional Applications…. (contd.)
29
 Problems
 Web services are loosely coupled
 Not suitable for atomic transactions among financial institutions
 Trust
 Can applications trust external web services?
 Semantics
 Web services cannot ensure that the remote application receives
understandable data.
Direct Connectivity Across Corporate Boundaries
30
 Claim
 Web services provide a direct link between middleware
platforms of different corporations.
 Problem
 The complexities of application integration and software
design increase.
 Claim
 Using RPC through SOAP is a gateway to interconnect the IT
infrastructure of different companies.
 Reality
 RPC results in a tight integration among the components and
make them dependent on each other.
UDDI and Dynamic Binding
31
 Functionality
 UDDI registries are web services’ catalogues for humans
only.
 Semantic interpretation of parameters and operations
 Interaction between companies are regulated by contracts
 Software Engineering
 Dynamic binding does not make sense for web services.
 UDDI registry cannot do any load balancing nor any
automatic redirection to a different URI in case of failure.
All Data will be in XML
32
 XML is a performance nightmare.
 Some data types does not get along well with it.
 In many cases application data need not to be in XML.
 XML can be used for linking heterogeneous
systems.
 If data format is decided, then XML becomes the syntax of
SOAP only.
Conclusion
33
 This paper intends to give a coherent picture of
 What web services are
 What they contribute
 Where they will be applied
Web services are, at the current stage, only a natural
evolutionary step from conventional application
integration platforms.
Web
Services
& Myths
Around it
Questions? …and may be…
Answers
34
Download