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 architecture
UDDI
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 Envelope
SOAP header
Transactional
context
SOAP Body
Input parameter 1
Input parameter 2
Name of Procedure
HTTP POST
SOAP EnvelopeSOAP Envelope
SOAP header
Transactional
context
SOAP Body
Return parameter
HTTP Acknowledgement
SERVICE REQUESTER SERVICE PROVIDER
RPC call
HTTPengine
SOAP
engine
Procedure
HTTPengine
SOAP
engine
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
Concrete
implementation
WSDL service definition
XML namespace declarations
Type declarations
Interface declarations
Message declarations
Binding declarations
Endpoint 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
Request
processor
Setup job
parameters
Download
data
Start
computation
Store
results
Report
completion
Restart
Fail
Check
Availability
Allocate
resources
Initialise Compute
Return
results
OK
No processor
OK
Orchestration
within services
Choreography
between services
16
Choreography perspective
17
Orchestration perspective
18
Orchestration and choreography

Description of soa and SOAP,WSDL & UDDI

  • 1.
    1 Tushar Varshney Description ofSOA and SOAP,WSDL&UDDI
  • 2.
    2 Service-oriented architectures  Ameans 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.
    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.
    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.
    5 SOA and WebServices  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.
    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.
  • 8.
    8 SOAP messages  SOAPis 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.
    9 SOAP EnvelopeSOAP Envelope SOAPheader Transactional context SOAP Body Input parameter 1 Input parameter 2 Name of Procedure HTTP POST SOAP EnvelopeSOAP Envelope SOAP header Transactional context SOAP Body Return parameter HTTP Acknowledgement SERVICE REQUESTER SERVICE PROVIDER RPC call HTTPengine SOAP engine Procedure HTTPengine SOAP engine SOAP and HTTP
  • 10.
    10 Web service descriptionlanguage  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.
    11 Structure of aWSDL specification Intro Abstract interface Concrete implementation WSDL service definition XML namespace declarations Type declarations Interface declarations Message declarations Binding declarations Endpoint declarations
  • 12.
    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.
    13 Standards for webservice 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.
    14 Orchestration vs. choreography Orchestration ASingle Director In Control. Choreography Defines Interaction.
  • 15.
    15 Orchestration and choreographyexample Request processor Setup job parameters Download data Start computation Store results Report completion Restart Fail Check Availability Allocate resources Initialise Compute Return results OK No processor OK Orchestration within services Choreography between services
  • 16.
  • 17.
  • 18.

Editor's Notes

  • #6 Open source software for SOA, IONA Technologies A-Trenaman-SOA.pdf