description of soa and soap,wsdl & uddi
TRANSCRIPT
1
Tushar Varshney
Description of SOA and SOAP,WSDL&UDDI
2
Service-oriented architectures
A means of developing distributed systems where the components are stand-alone services.
Services may execute on different computers from different service providers.
Standard protocols have been developed to support service communication and information exchange.
3
Services or components?
A service can be defined as: A loosely-coupled, reusable software component that
encapsulates discrete functionality which may be distributed and programmatically accessed. A web service is a service that is accessed using standard Internet and XML-based protocols.
A critical distinction between a service and a component as defined in component-based software engineering is that services are independent. Services do not have a ‘requires’ interface. Services rely on message-based communication with
messages expressed in XML.
4
Benefits of SOA
Services can be provided locally or outsourced to external providers.
Services are language-independent. Investment in legacy systems can be
preserved. Inter-organizational computing is facilitated
through simplified information exchange.
5
SOA and Web Services
Service-oriented architecture is an architectural style Derived from the client-server architectural style. Clients (service consumers or requesters) and servers
(service providers) connected by a service “bus”. Services defined using formal interfaces (contracts). Service bus supports point-to-point and messaging styles
of communication. Support for system qualities, e.g., security and transaction
management.
Web services Services provided in a SOA deployed over the web.
6
Key standards
SOAP (Simple Object Access Protocol) A message exchange standard that supports service
communication.
WSDL (Web Service Definition Language) This standard allows a service interface and its bindings to
be defined.
UDDI (Universal Description Discovery and Integration) Defines the components of a service specification that may
be used to discover the existence of a service.
7
Service-oriented architectureUDDI
SOAP
WSDL
8
SOAP messages
SOAP is based on message exchanges
Messages are seen as envelops where the application encloses the data to be sent
A message has two main parts: header: which can be divided into
blocks body: which can be divided into
blocks SOAP does not say what to do with
the header and the body, it only states that the header is optional and the body is mandatory
Use of header and body, however, is implicit. The body is for application level data. The header is for infrastructure level data
SOAP Envelope
SOAP header
Header Block
SOAP Body
Body Block
9
SOAP EnvelopeSOAP EnvelopeSOAP header
Transactionalcontext
SOAP Body
Input parameter 1
Input parameter 2
Name of Procedure
HTTP POST
SOAP EnvelopeSOAP EnvelopeSOAP header
Transactionalcontext
SOAP Body
Return parameter
HTTP Acknowledgement
SERVICE REQUESTER SERVICE PROVIDER
RPC call
HTTP
engine
SOAPengine
Procedure
HTTP
engine
SOAPengine
SOAP and HTTP
10
Web service description language
The service interface is defined in a service description expressed in WSDL. The WSDL specification defines: What operations the service supports and the format of the
messages that are sent and received by the service. How the service is accessed - that is, the binding maps the
abstract interface onto a concrete set of protocols. Where the service is located. This is usually expressed as
a URI (Universal Resource Identifier).
11
Structure of a WSDL specification
Intro
Abstract interface
Concreteimplementation
WSDL service definition
XML namespace declarations
Type declarationsInterface declarations
Message declarations
Binding declarationsEndpoint declarations
12
A UDDI description
Details of the business providing the service. An informal description of the functionality
provided by the service. Information where to find the service’s WSDL
specification. Subscription information that allows users to
register for service updates.
13
Standards for web service composition
Service orchestration WS-BPEL is an XML-based language for workflow
specification. WS-BPEL is an “orchestration” language.
Service orchestration defines the sequence and conditions in which one Web service invokes other Web services.
Can be used to create a composite service out of other services.
Service choreography WS-CDL is an XML-based language for describing service
“choreography”. Choreography defines the allowable message
exchanges between services.
14
Orchestration vs. choreography
Orchestration A Single Director In Control.
Choreography Defines Interaction.
15
Orchestration and choreography example
Requestprocessor
Setup jobparameters
Downloaddata
Startcomputation
Storeresults
Reportcompletion
Restart
Fail
CheckAvailability
Allocateresources
Initialise Compute
Returnresults
OK
No processor
OK
Orchestration within services
Choreography between services
16
Choreography perspective
17
Orchestration perspective
18
Orchestration and choreography