Post on 02-Jan-2016
Web Services Based on
SOA: Concepts, Technology, Designby Thomas Erl
MIS 181.9: Service Oriented Architecture
2nd Semester, 2011-2012
Web Services
►web-based applications that use open, XML-based standards and transport protocols to exchange data with clients
What are web services?
► Web services are application components► Web services communicate using open protocols► Web services are self-contained and self-
describing► Web services can be discovered using UDDI► Web services can be used by other applications► XML is the basis for Web services
How does it work?
►The basic Web services platform is XML + HTTP.► XML provides a language which can be used
between different platforms and programming languages and still express complex messages and functions.
► The HTTP protocol is the most used Internet protocol.
Web services model
Web Service Provider
Web Service Registry
Web Service Client
publish
bind/invoke
find
Web Services
►Technology Framework► Includes one or more of the following:
►Architectures►Technologies►Concepts►Models►Sub-frameworks
Web Services Framework
►Characterized by►Web services, service descriptions,
messages►Communications agreement (service
description) based on WSDL►Messaging framework using SOAP►Service description registration and
discovery architecture using UDDI
Web services platform elements
►SOAP (Simple Object Access Protocol)►UDDI (Universal Description, Discovery
and Integration)►WSDL (Web Services Description
Language)
Web services platform elements
UDDI
WSDL
SOAP
XML
Service Discovery and Publication
Service Description
XML based messaging
Data level description
Why use web services?
►Interoperability has Highest Priority►Web Services take Web-applications to
the Next Level►Web Services have Two Types of Uses
► Reusable application-components.► Connect existing software.
What is SOAP?
►stands for Simple Object Access Protocol ►an XML-based protocol to let applications
exchange information over HTTP►a protocol for accessing a Web Service
What is SOAP?
► a communication protocol► a format for sending messages► designed to communicate via Internet ► platform independent► language independent► based on XML► simple and extensible► SOAP allows you to get around firewalls► SOAP is a W3C standard
What is WSDL?
►an XML-based language for locating and describing Web services
► stands for Web Services Description Language► based on XML► used to describe Web services► used to locate Web services► a W3C standard
What is UDDI?
►a directory service where companies can register and search for Web services
► stands for Universal Description, Discovery and Integration
► a directory for storing information about web services► a directory of web service interfaces described by WSDL► communicates via SOAP► built into the Microsoft .NET platform
Web Services Design Concepts
►Web service can have two classifications►Temporary based on roles assumed
during runtime►Permanent based on application
logic it provides
Web Service Roles
►Web service can assume different roles depending on context of usage►Message Initiator►Message Relayer►Message Recipient
►Agnostic services
Service Roles► Service Provider
► Recipient of the request message
► Service Requestor► Any unit of processing logic capable of issuing a
request message► Searches for provider by reviewing Service
Descriptions
► Web Service is always a provider but can also be a requestor
Other roles
►Intermediaries►Service composition member
Intermediaries
► Web services communications is based on use of messaging paths► Vs. point-to-point communication► message sent by a requester can be processed
by multiple intermediate routing and processing agents before received by ultimate destination
► Intermediaries: web services that route and process a message► After initially sent► Before target destination
Service Composition Member
►Any service can enlist one or more additional services to complete a given task
►Any of the enlisted services can call other services to complete a given sub-task
Service Models
►Application logic classification►Business-related roles within a
solution
►Business service model►Utility service model►Controller service model
Business Service Model
►Most fundamental building block within SOA
►Encapsulates distinct set of business logic
Utility Service Model
►Any generic service designed for potential reuse
►Used in SOA as:► Services that are reused► Solution-agnostic intermediary services► Services with highest degree of
autonomy►Most commonly associated with the
application service layer
Controller Service Model
►Assembles and coordinates service compositions
►Used in SOA►To support and implement principle
of composability►To leverage reuse opportunities
►There can be master controller and sub-controller services
Service Descriptions
►WSDL used to define service descriptions
►Required to accompany any web service
►Service requestor uses WSDL of a service provider to ensure that messages sent is understood and accepted
Service endpoints
►WSDL describes the point of contact for a service provider
►Provides definition of endpoint interface►So requestor can know how to
structure request message►Establishes the physical location
(address) of the service
WSDL Definition
► Abstract Definition► Interface characteristics► Technology
Independent► portType/interface► operation
► Represents a specific action performed by a service
► Similar to public method
► message
WSDL Definition
►Concrete Description► Binding
►Technology transport►E.g. SOAP
► Port/endpoint►Physical address
SOAP
► Header► Meta information on how data
will be delivered and processed► Allows SOAP messages to be
independent► Sample instructions
► Processing► Routing/workflow► Security
► Body► XML formatted data
Service Description Advertisement and Discovery
►UDDI► One standard for structuring registries that
keep track of service descriptions► Registries can be searched manually or
automatically thru an API►Public Registries
► Accept registration from any organizations►Private Registries
► Can be implemented within an organization
UDDI Registry Records Components
►Business entities►For public registry records►Profile of business entity►Services offered by the entity
►Binding information►Can be an address of a web site►Can be a pointer to actual service
descriptions