SlideShare uma empresa Scribd logo
1 de 44
Web Services and Primitive SOA
By :Amar Nath MTech NIT Rourkela
Chapter 5
Contemporary SOA is intrinsically reliant on Web services so much so that Web
services concepts and technology used to actualize service-orientation have
influenced and contributed to a number of the common SOA characteristics we
identified in Chapter 3
Figure 5.1: The structural relationship between sections
in Chapters 3 and 5.
•
“A technology framework is a collection of things. It can include one or more architectures,
technologies, concepts, models, and even sub-frameworks”.
Specifically, this framework is characterized by:
1. an abstract (vendor-neutral) existence defined by standards organizations and implemented by
(proprietary) technology platforms.
2. core building blocks that include Web services, service descriptions, and messages
3. a communications agreement centered around service descriptions based on WSDL
4. a messaging framework comprised of SOAP technology and concepts
5. a service description registration and discovery architecture sometimes realized through UDDI
6. a well-defined architecture that supports messaging patterns and compositions (covered in Chapter
6)
7. a second generation of Web services extensions (also known as the WS-*specifications) continually
broadening its underlying feature-set (covered in Chapters 6 and 7)
The Web services framework
Services (as Web services)
• In previous section we introduced the concept of services and how they
provide a means of encapsulating various extents of logic.
• Manifesting services in real world automation solutions requires the use of
a technology capable of preserving fundamental service-orientation, while
implementing real world business functionality.
• Web services provide the potential of fulfilling these primitive
requirements, but they need to be intentionally designed to do so.
• This is because the Web services framework is flexible and adaptable.
Web services can be designed to duplicate the behavior and functionality
found in proprietary distributed systems, or they can be designed to be
fully SOA-compliant.
• This flexibility has allowed Web services to become part of many existing
application environments and has been one of the reasons behind their
popularity
Copyright © Pearson Education, Inc.
Service Roles
• A Web service is capable of assuming different roles, depending on the
context within which it is used.
• For example, a service can act as the initiator, relayer, or the recipient of
a message.
• A service is therefore not labeled exclusively as a client or server, but
instead as a unit of software capable of altering its role, depending on its
processing responsibility in a given scenario.
Different Role as Follows
• Service provider
• The Web service is invoked via an external source, such as a
service requestor (Figure 5.2).
• The Web service provides a published service description offering
information about its features and behavior
• The service provider role is synonymous with the server role in the
classic client-server architecture.
Figure 5.2: As the recipient of a request message, the Web service is
classified as a service provider.
Some Terms used in service context.
• service provider entity (the organization or individual providing the
Web service)
• service provider agent (the Web service itself, acting as an agent
on behalf of its owner)
Service Requestor
• Any unit of processing logic capable of issuing a request message that can
be understood by the service provider is classified as a service requestor .
• A Web service is always a service provider but also can act as a service
requestor.
A Web service takes on the service requestor role under the
following circumstances:
• The Web service invokes a service provider by sending it a message
• The Web service searches for and assesses the most suitable service
provider by studying available service descriptions. (Service descriptions and
service registries are covered in the Service descriptions
service requestor entity (the organization or individual requesting the Web
service)
service requestor agent (the Web service itself, acting as an agent on behalf of
its owner)
Figure 5.3: The sender of the request message
is classified as a service requestor.
Figure 5.4: TLS and RailCo services swapping roles in different but related
message exchanges
Figure 5.5: The intermediary service transitions through service
provider and service requestor roles while processing a message.
Figure 5.6: A passive intermediary service processing a message without
altering its contents.
Copyright © Pearson Education, Inc.
Figure 5.7: An active intermediary service.
Figure 5.8: Web services acting as initial
sender and ultimate receiver.
Figure 5.9: The TLS Load Balancing Service acting as an intermediary
between the RailCo initial sender and the TLS ultimate receiver.
Figure 5.10: A service composition consisting of four members.
Figure 5.11: The Accounts Payable Service enlisting other TLS
services in a service composition.
 Service models
“The manner in which services are being utilized in the real world, though, has
led to a classification based on the nature of the application logic they provide, as
well as their business-related roles within the overall solution. These
classifications are known as service models” .
•It is important to note that a service can and frequently does belong to more
than one service model.
“Type of Service Model”
• Business service model,
•Utility service model,
•Controller service model
Business service model,
Within an SOA, the business service represents the most fundamental building
block. It encapsulates a distinct set of business logic within a well-
defined functional boundary. It is fully autonomous but still not limited to
executing in isolation, as business services are frequently expected to participate
in service compositions.
Copyright © Pearson Education, Inc.
Business services are used within SOAs as follows:
•as fundamental building blocks for the representation of business logic
•to represent a corporate entity or information set
•to represent business process logic
•as service composition members
Utility service model
“Any generic Web service or service agent designed for potential reuse can
be classified as a utility service” .
Utility services are used within SOAs as follows:
•as services that enable the characteristic of reuse within SOA
•as solution-agnostic intermediary services
•as services that promote the intrinsic interoperability characteristic of SOA
•as the services with the highest degree of autonomy
• Case Study
In the examples we've gone through so far in this chapter, we've described eight 
Web services. Six of these are business services, while the other two are utility 
services, as follows:
Accounts Payable Service = business service
Internal Policy Service = utility service
Invoice Submission Service = business service
Ledger Service = business service
Load Balancing Service = utility service
Order Fulfillment Service = business service
Purchase Order Service = business service
Vendor Profile Service = business service
The Load Balancing and Internal Policy Services are classified as utility services 
because they provide generic functionality that can be reused by different types of 
applications. The application logic of the remaining services is specific to a given 
business task or solution, which makes them business-centric services.
Controller service model
• Service compositions are comprised of a set of independent services that each
contribute to the execution of the overall business task.
• The assembly and coordination of these services is often a task in itself and
one that can be assigned as the primary function of a dedicated service or as
the secondary function of a service that is fully capable of executing a business
task independently.
• The controller service fulfills this role, acting as the parent service to service
composition members.
Controller services are used within SOAs as follows:
• to support and implement the principle of composability
• to leverage reuse opportunities
• to support autonomy in other services
Note that controller services themselves can become subordinate service
composition members. In this case the composition coordinated by a controller
is, in its entirety, composed into a larger composition. In this situation there
may be a master controller service that acts as the parent to the entire service
composition, as well as a sub-controller, responsible for coordinating a portion
of the composition (Figure 5.12).
Figure 5.12: A service composition consisting of a master
controller, a sub-controller, four business services, and one
utility service.
Figure 5.13: The Accounts Payable Service acting as a business and
controller service, composing two other business services.
Service descriptions (with WSDL)
 This part of SOA provides the key ingredient to establishing a consistently
loosely coupled form of communication between services implemented as
Web services.
• For this purpose, description documents are required to accompany any
service wanting to act as an ultimate receiver. The primary service
description document is the WSDL definition (Figure 5.14).
Figure 5.14: WSDL definitions enable loose coupling between services.
Case Study
 For RailCo to design its B2B Web services in full compliance with the TLS
services, RailCo acquires the WSDL service description published by TLS for
their Accounts Payable Service.
 This definition file then is used by developers to build the Invoice Submission
Service so that it can process SOAP messages in accordance with the service
interface requirements defined in the TLS service descriptions.
 Further, RailCo provides TLS with a copy of the WSDL definition for the RailCo
Order Fulfillment Service. TLS registers this service description and adds it to the
list of vendor endpoints that will receive electronic purchase orders. (Figure 5.15
illustrates both scenarios.)
Figure 5.15: Each service requestor is using the WSDL of a
service provider to ensure that messages sent will be
understood and accepted.
Figure 5.16: WSDL document consisting of abstract and concrete parts
that collectively describe a service endpoint.
Service endpoints and service descriptions/WSDL service definition
A WSDL describes the point of contact for a service provider, also known as
the service endpoint or just endpoint . It provides a formal definition of the endpoint
interface (so that requestors wishing to communicate with the service provider know
exactly how to structure request messages) and also establishes the physical location
(address) of the service.
Abstract description
An abstract description establishes the interface characteristics of the Web
service without any reference to the technology used to host or enable a Web
service to transmit messages. By separating this information, the integrity of the
service description can be preserved regardless of what changes might occur
to the underlying technology platform.
portType, operation, and message
The parent portType section of an abstract description provides a high-level
view of the service interface by sorting the messages a service can process into
groups of functions known as operations .
Web services rely exclusively on messaging-based communication, parameters
are represented as messages. Therefore, an operation consists of a set of input
and output messages .
The term "portType" is being renamed to "interface" in version 2.0 of the WSDL 
specification.
Concrete description
• For a Web service to be able to execute any of its logic, it needs for its
abstract interface definition to be connected to some real, implemented
technology.
• Because the execution of service application logic always involves
communication, the abstract Web service interface needs to be connected to
a physical transport protocol.
binding, port, and service
• A WSDL description's binding describes the requirements for a service to
establish physical connections or for connections to be established with the
service.
• In other words, a binding represents one possible transport technology the
service can use to communicate.
• SOAP is the most common form of binding, but others also are supported. A
binding can apply to an entire interface or just a specific operation.
The term "port" is being renamed "endpoint" in version 2.0 of the WSDL 
specification.
Metadata and service contracts
We have up to three separate documents that each describe an aspect of a service:
•WSDL definition
•XSD schema
•Policy
Each of these three service description documents can be classified as
service metadata , as each provides information about the service.
Service description documents can be collectively viewed as establishing a service
contract a set of conditions that must be met and accepted by a potential service
requestor to enable successful communication.
Note that a service contract can refer to additional documents or agreements not
expressed by service descriptions. For example, a Service Level Agreement (SLA)
agreed upon by the respective owners of a service provider and its requestor can
be considered part of an overall service contract (Figure 5.17).
Figure 5.17: A service contract comprised of a collection of service
descriptions and possibly additional documents.
Semantic descriptions
Most of the metadata currently provided by services focuses
on expressing technical information related to data representation and processing
requirements. However, these service description documents generally do
not prove useful in explaining details about a service's behavioral characteristics.
In fact, the most challenging part of providing a complete description of a Web
service is in communicating its semantic qualities.
Examples of service semantics include:
•how a service behaves under certain conditions
•how a service will respond to a specific condition
•what specific tasks the service is most suited for
Semantic information is usually of greater importance when dealing with
external service providers, where your knowledge of another party's service is
limited to the information the service owner decides to publish. But even within
organizational boundaries, semantic characteristics tend to take on greater
relevance as the amount of internal Web services grows.
Service description advertisement and
discovery
As we've established, the sole requirement for one service to contact another is
access to the other service's description.
As the amount of services increases within and outside of organizations,
mechanisms for advertising and discovering service descriptions may become
necessary.
For example, central directories and registries become an option to keep track of
the many service descriptions that become available. These repositories allow
humans (and even service requestors) to:
• locate the latest versions of known service descriptions
• discover new Web services that meet certain criteria
• When the initial set of Web services standards emerged, this eventuality
was taken into account.
This is why UDDI formed part of the first generation of Web services standards.
Though not yet commonly implemented, UDDI provides us with a registry model
worth describing.
Private and public registries
UDDI specifies a relatively accepted standard for structuring registries that
keep track of service descriptions (Figure 5.18). These registries can be
searched manually and accessed programmatically via a standardized API.
Figure 5.18: Service description locations centralized in a registry.
Public registries accept registrations from any organizations, regardless of
whether they have Web services to offer. Once signed up, organizations
acting as service provider entities can register their services.
Private registries can be implemented within organization boundaries to
provide a central repository for descriptions of all services the organization
develops, leases, or purchases.
Figure 5.19: The basic structure of a UDDI business entity record.
Copyright © Pearson Education, Inc.
Figure 5.20: The TLS service registry
containing pointers to current TLS WSDL
definitions.
Copyright © Pearson Education, Inc.
Figure 5.21: The basic structure
of a SOAP message
Copyright © Pearson Education, Inc.
Figure 5.22: The RailCo Invoice Submission Service packaging the
contents of three documents into one SOAP message.
Copyright © Pearson Education, Inc.
Figure 5.23: A SOAP node
transmitting a SOAP message
received by the service logic.
Copyright © Pearson Education, Inc.
Figure 5.24: The positioning of SOAP ondes within a message
transmission between RailCo and TLS.
Copyright © Pearson Education, Inc.
Figure 5.25: Different Types of SOAP nodes
involved with processing a message.
Copyright © Pearson Education, Inc.
Figure 5.26: A message path consisting of three Web services.
Copyright © Pearson Education, Inc.
Figure 5.27: A message path determined at runtime.

Mais conteúdo relacionado

Mais procurados

SOA Fundamentals
SOA  FundamentalsSOA  Fundamentals
SOA Fundamentalsabhi1112
 
Introduction to Service Oriented Architecture
Introduction to Service Oriented ArchitectureIntroduction to Service Oriented Architecture
Introduction to Service Oriented ArchitectureDATA Inc.
 
Service Oriented Architecture
Service Oriented ArchitectureService Oriented Architecture
Service Oriented ArchitectureSyed Mustafa
 
Service-Oriented Architecture (SOA)
Service-Oriented Architecture (SOA)Service-Oriented Architecture (SOA)
Service-Oriented Architecture (SOA)WSO2
 
Web Services - Architecture and SOAP (part 1)
Web Services - Architecture and SOAP (part 1)Web Services - Architecture and SOAP (part 1)
Web Services - Architecture and SOAP (part 1)Martin Necasky
 
Microservices architecture
Microservices architectureMicroservices architecture
Microservices architectureAbdelghani Azri
 
Service Oriented Architecture
Service Oriented Architecture Service Oriented Architecture
Service Oriented Architecture Prabhat gangwar
 
Service oriented architecture characteristics of soa
Service oriented architecture characteristics  of soaService oriented architecture characteristics  of soa
Service oriented architecture characteristics of soasmithaps4
 
Introduction to Message-Oriented Middleware
Introduction to Message-Oriented MiddlewareIntroduction to Message-Oriented Middleware
Introduction to Message-Oriented MiddlewareEdward Curry
 
Service Oriented Architecture
Service Oriented ArchitectureService Oriented Architecture
Service Oriented ArchitectureRobert Sim
 
Microservices: Decomposing Applications for Deployability and Scalability (ja...
Microservices: Decomposing Applications for Deployability and Scalability (ja...Microservices: Decomposing Applications for Deployability and Scalability (ja...
Microservices: Decomposing Applications for Deployability and Scalability (ja...Chris Richardson
 
[한국IBM] ServiceNow로 IT운영관리 최적화!
[한국IBM] ServiceNow로 IT운영관리 최적화![한국IBM] ServiceNow로 IT운영관리 최적화!
[한국IBM] ServiceNow로 IT운영관리 최적화!Sejeong Kim 김세정
 
How to develop an e learning strategy
 How to develop an e learning strategy How to develop an e learning strategy
How to develop an e learning strategySprout Labs
 
Introducción a Cosmos DB
Introducción a Cosmos DBIntroducción a Cosmos DB
Introducción a Cosmos DBEickhel Mendoza
 

Mais procurados (20)

SOA Fundamentals
SOA  FundamentalsSOA  Fundamentals
SOA Fundamentals
 
Introduction to Service Oriented Architecture
Introduction to Service Oriented ArchitectureIntroduction to Service Oriented Architecture
Introduction to Service Oriented Architecture
 
Service Oriented Architecture
Service Oriented ArchitectureService Oriented Architecture
Service Oriented Architecture
 
Service-Oriented Architecture (SOA)
Service-Oriented Architecture (SOA)Service-Oriented Architecture (SOA)
Service-Oriented Architecture (SOA)
 
Web Services - Architecture and SOAP (part 1)
Web Services - Architecture and SOAP (part 1)Web Services - Architecture and SOAP (part 1)
Web Services - Architecture and SOAP (part 1)
 
Microservices architecture
Microservices architectureMicroservices architecture
Microservices architecture
 
Service Oriented Architecture
Service Oriented Architecture Service Oriented Architecture
Service Oriented Architecture
 
Service oriented architecture characteristics of soa
Service oriented architecture characteristics  of soaService oriented architecture characteristics  of soa
Service oriented architecture characteristics of soa
 
Rabbitmq
RabbitmqRabbitmq
Rabbitmq
 
Introduction to Message-Oriented Middleware
Introduction to Message-Oriented MiddlewareIntroduction to Message-Oriented Middleware
Introduction to Message-Oriented Middleware
 
SOA Unit I
SOA Unit ISOA Unit I
SOA Unit I
 
SOA Principles : 6. service composibility
SOA Principles : 6. service composibilitySOA Principles : 6. service composibility
SOA Principles : 6. service composibility
 
Service Oriented Architecture
Service Oriented ArchitectureService Oriented Architecture
Service Oriented Architecture
 
Service Oriented Computing - Session1 : Intro
Service Oriented Computing - Session1 : IntroService Oriented Computing - Session1 : Intro
Service Oriented Computing - Session1 : Intro
 
Microservices: Decomposing Applications for Deployability and Scalability (ja...
Microservices: Decomposing Applications for Deployability and Scalability (ja...Microservices: Decomposing Applications for Deployability and Scalability (ja...
Microservices: Decomposing Applications for Deployability and Scalability (ja...
 
[한국IBM] ServiceNow로 IT운영관리 최적화!
[한국IBM] ServiceNow로 IT운영관리 최적화![한국IBM] ServiceNow로 IT운영관리 최적화!
[한국IBM] ServiceNow로 IT운영관리 최적화!
 
SOA Principles : 5. service abstraction
SOA Principles : 5. service abstractionSOA Principles : 5. service abstraction
SOA Principles : 5. service abstraction
 
How to develop an e learning strategy
 How to develop an e learning strategy How to develop an e learning strategy
How to develop an e learning strategy
 
Introducción a Cosmos DB
Introducción a Cosmos DBIntroducción a Cosmos DB
Introducción a Cosmos DB
 
SOA unit-3-notes-Introduction to Service Oriented Architecture
SOA unit-3-notes-Introduction to Service Oriented ArchitectureSOA unit-3-notes-Introduction to Service Oriented Architecture
SOA unit-3-notes-Introduction to Service Oriented Architecture
 

Destaque

Lecture08 examples
Lecture08 examplesLecture08 examples
Lecture08 examplesartgreen
 
Service Analysis And Design
Service Analysis And DesignService Analysis And Design
Service Analysis And DesignRody Middelkoop
 
Lotusphere 2008 - Jumpstart 206 - Web Services Bootcamp
Lotusphere 2008 - Jumpstart 206 - Web Services BootcampLotusphere 2008 - Jumpstart 206 - Web Services Bootcamp
Lotusphere 2008 - Jumpstart 206 - Web Services BootcampBill Buchan
 
Lecture 10 - Message Exchange Patterns
Lecture 10 - Message Exchange PatternsLecture 10 - Message Exchange Patterns
Lecture 10 - Message Exchange Patternsphanleson
 
Online Loan Management System
Online Loan Management SystemOnline Loan Management System
Online Loan Management SystemSoban Ahmad
 
Object and component based middleware for distributed system development
Object and component based middleware for distributed system developmentObject and component based middleware for distributed system development
Object and component based middleware for distributed system developmentektabhalwara
 
BIT (UCSC) Final Year Project - Microfinance Loan Management System
BIT (UCSC) Final Year Project - Microfinance Loan Management SystemBIT (UCSC) Final Year Project - Microfinance Loan Management System
BIT (UCSC) Final Year Project - Microfinance Loan Management SystemThiwanka Makumburage
 
A Comprehensive Introduction to Everything SOA
A Comprehensive Introduction to Everything SOAA Comprehensive Introduction to Everything SOA
A Comprehensive Introduction to Everything SOAMehmet Akyuz
 
Middleware Basics
Middleware BasicsMiddleware Basics
Middleware BasicsVarun Arora
 
TEDx Manchester: AI & The Future of Work
TEDx Manchester: AI & The Future of WorkTEDx Manchester: AI & The Future of Work
TEDx Manchester: AI & The Future of WorkVolker Hirsch
 

Destaque (15)

Lecture08 examples
Lecture08 examplesLecture08 examples
Lecture08 examples
 
Lecture12
Lecture12Lecture12
Lecture12
 
Service Analysis And Design
Service Analysis And DesignService Analysis And Design
Service Analysis And Design
 
Lotusphere 2008 - Jumpstart 206 - Web Services Bootcamp
Lotusphere 2008 - Jumpstart 206 - Web Services BootcampLotusphere 2008 - Jumpstart 206 - Web Services Bootcamp
Lotusphere 2008 - Jumpstart 206 - Web Services Bootcamp
 
Lecture 10 - Message Exchange Patterns
Lecture 10 - Message Exchange PatternsLecture 10 - Message Exchange Patterns
Lecture 10 - Message Exchange Patterns
 
Lecture07
Lecture07Lecture07
Lecture07
 
.NET Vs J2EE
.NET Vs J2EE.NET Vs J2EE
.NET Vs J2EE
 
Online Loan Management System
Online Loan Management SystemOnline Loan Management System
Online Loan Management System
 
Object and component based middleware for distributed system development
Object and component based middleware for distributed system developmentObject and component based middleware for distributed system development
Object and component based middleware for distributed system development
 
BIT (UCSC) Final Year Project - Microfinance Loan Management System
BIT (UCSC) Final Year Project - Microfinance Loan Management SystemBIT (UCSC) Final Year Project - Microfinance Loan Management System
BIT (UCSC) Final Year Project - Microfinance Loan Management System
 
Middleware
MiddlewareMiddleware
Middleware
 
Middleware
MiddlewareMiddleware
Middleware
 
A Comprehensive Introduction to Everything SOA
A Comprehensive Introduction to Everything SOAA Comprehensive Introduction to Everything SOA
A Comprehensive Introduction to Everything SOA
 
Middleware Basics
Middleware BasicsMiddleware Basics
Middleware Basics
 
TEDx Manchester: AI & The Future of Work
TEDx Manchester: AI & The Future of WorkTEDx Manchester: AI & The Future of Work
TEDx Manchester: AI & The Future of Work
 

Semelhante a Soa chapter 5

web service technologies
web service technologiesweb service technologies
web service technologiesYash Darak
 
SOA@MODULE-III.pptSOA@MODULE-III.pptSOA@MODULE-III.ppt
SOA@MODULE-III.pptSOA@MODULE-III.pptSOA@MODULE-III.pptSOA@MODULE-III.pptSOA@MODULE-III.pptSOA@MODULE-III.ppt
SOA@MODULE-III.pptSOA@MODULE-III.pptSOA@MODULE-III.pptNKannanCSE
 
Ch19-Software Engineering 9
Ch19-Software Engineering 9Ch19-Software Engineering 9
Ch19-Software Engineering 9Ian Sommerville
 
Enhancement in Web Service Architecture
Enhancement in Web Service ArchitectureEnhancement in Web Service Architecture
Enhancement in Web Service ArchitectureIJERA Editor
 
Web services provide an organization without human supervision
Web services provide an organization without human  supervisionWeb services provide an organization without human  supervision
Web services provide an organization without human supervisionnandepovanhu
 
SOA UNIT-IV.pdfSOA UNIT-IV.pdfSOA UNIT-IV.pdf
SOA UNIT-IV.pdfSOA UNIT-IV.pdfSOA UNIT-IV.pdfSOA UNIT-IV.pdfSOA UNIT-IV.pdfSOA UNIT-IV.pdf
SOA UNIT-IV.pdfSOA UNIT-IV.pdfSOA UNIT-IV.pdfNKannanCSE
 
Soa Overview
Soa OverviewSoa Overview
Soa OverviewTerry Cho
 
03 Service Oriented Architecture Series - Basic SOA Architecture
03 Service Oriented Architecture Series - Basic SOA Architecture03 Service Oriented Architecture Series - Basic SOA Architecture
03 Service Oriented Architecture Series - Basic SOA ArchitecturePouria Ghatrenabi
 
Web Services Composition
Web Services CompositionWeb Services Composition
Web Services Compositioneldorina
 
Service oriented software engineering
Service oriented software engineeringService oriented software engineering
Service oriented software engineeringSweta Kumari Barnwal
 
Service-oriented architecture (SOA) is a method of software development that ...
Service-oriented architecture (SOA) is a method of software development that ...Service-oriented architecture (SOA) is a method of software development that ...
Service-oriented architecture (SOA) is a method of software development that ...ssuser0d0f881
 
Enterprise Service Bus
Enterprise Service BusEnterprise Service Bus
Enterprise Service BusHamed Hatami
 

Semelhante a Soa chapter 5 (20)

Unit iii soa
Unit iii soaUnit iii soa
Unit iii soa
 
web service technologies
web service technologiesweb service technologies
web service technologies
 
SOA@MODULE-III.pptSOA@MODULE-III.pptSOA@MODULE-III.ppt
SOA@MODULE-III.pptSOA@MODULE-III.pptSOA@MODULE-III.pptSOA@MODULE-III.pptSOA@MODULE-III.pptSOA@MODULE-III.ppt
SOA@MODULE-III.pptSOA@MODULE-III.pptSOA@MODULE-III.ppt
 
Ch19-Software Engineering 9
Ch19-Software Engineering 9Ch19-Software Engineering 9
Ch19-Software Engineering 9
 
Enhancement in Web Service Architecture
Enhancement in Web Service ArchitectureEnhancement in Web Service Architecture
Enhancement in Web Service Architecture
 
Web services provide an organization without human supervision
Web services provide an organization without human  supervisionWeb services provide an organization without human  supervision
Web services provide an organization without human supervision
 
SOA UNIT-IV.pdfSOA UNIT-IV.pdfSOA UNIT-IV.pdf
SOA UNIT-IV.pdfSOA UNIT-IV.pdfSOA UNIT-IV.pdfSOA UNIT-IV.pdfSOA UNIT-IV.pdfSOA UNIT-IV.pdf
SOA UNIT-IV.pdfSOA UNIT-IV.pdfSOA UNIT-IV.pdf
 
Stateful Web Services - Short Report
Stateful Web Services - Short ReportStateful Web Services - Short Report
Stateful Web Services - Short Report
 
Soa Eai Ver1 0
Soa Eai Ver1 0Soa Eai Ver1 0
Soa Eai Ver1 0
 
Java web services
Java web servicesJava web services
Java web services
 
Ch19
Ch19Ch19
Ch19
 
Soa Overview
Soa OverviewSoa Overview
Soa Overview
 
Web services-Notes
Web services-NotesWeb services-Notes
Web services-Notes
 
03 Service Oriented Architecture Series - Basic SOA Architecture
03 Service Oriented Architecture Series - Basic SOA Architecture03 Service Oriented Architecture Series - Basic SOA Architecture
03 Service Oriented Architecture Series - Basic SOA Architecture
 
Web Services Composition
Web Services CompositionWeb Services Composition
Web Services Composition
 
Service oriented software engineering
Service oriented software engineeringService oriented software engineering
Service oriented software engineering
 
Web service
Web serviceWeb service
Web service
 
Bpm soa
Bpm soaBpm soa
Bpm soa
 
Service-oriented architecture (SOA) is a method of software development that ...
Service-oriented architecture (SOA) is a method of software development that ...Service-oriented architecture (SOA) is a method of software development that ...
Service-oriented architecture (SOA) is a method of software development that ...
 
Enterprise Service Bus
Enterprise Service BusEnterprise Service Bus
Enterprise Service Bus
 

Último

Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAndikSusilo4
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?XfilesPro
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...HostedbyConfluent
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Paola De la Torre
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Alan Dix
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxOnBoard
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 

Último (20)

Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & Application
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping Elbows
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptx
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food Manufacturing
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 

Soa chapter 5

  • 1. Web Services and Primitive SOA By :Amar Nath MTech NIT Rourkela Chapter 5
  • 2. Contemporary SOA is intrinsically reliant on Web services so much so that Web services concepts and technology used to actualize service-orientation have influenced and contributed to a number of the common SOA characteristics we identified in Chapter 3 Figure 5.1: The structural relationship between sections in Chapters 3 and 5.
  • 3. • “A technology framework is a collection of things. It can include one or more architectures, technologies, concepts, models, and even sub-frameworks”. Specifically, this framework is characterized by: 1. an abstract (vendor-neutral) existence defined by standards organizations and implemented by (proprietary) technology platforms. 2. core building blocks that include Web services, service descriptions, and messages 3. a communications agreement centered around service descriptions based on WSDL 4. a messaging framework comprised of SOAP technology and concepts 5. a service description registration and discovery architecture sometimes realized through UDDI 6. a well-defined architecture that supports messaging patterns and compositions (covered in Chapter 6) 7. a second generation of Web services extensions (also known as the WS-*specifications) continually broadening its underlying feature-set (covered in Chapters 6 and 7) The Web services framework
  • 4. Services (as Web services) • In previous section we introduced the concept of services and how they provide a means of encapsulating various extents of logic. • Manifesting services in real world automation solutions requires the use of a technology capable of preserving fundamental service-orientation, while implementing real world business functionality. • Web services provide the potential of fulfilling these primitive requirements, but they need to be intentionally designed to do so. • This is because the Web services framework is flexible and adaptable. Web services can be designed to duplicate the behavior and functionality found in proprietary distributed systems, or they can be designed to be fully SOA-compliant. • This flexibility has allowed Web services to become part of many existing application environments and has been one of the reasons behind their popularity
  • 5. Copyright © Pearson Education, Inc. Service Roles • A Web service is capable of assuming different roles, depending on the context within which it is used. • For example, a service can act as the initiator, relayer, or the recipient of a message. • A service is therefore not labeled exclusively as a client or server, but instead as a unit of software capable of altering its role, depending on its processing responsibility in a given scenario. Different Role as Follows • Service provider • The Web service is invoked via an external source, such as a service requestor (Figure 5.2). • The Web service provides a published service description offering information about its features and behavior • The service provider role is synonymous with the server role in the classic client-server architecture.
  • 6. Figure 5.2: As the recipient of a request message, the Web service is classified as a service provider. Some Terms used in service context. • service provider entity (the organization or individual providing the Web service) • service provider agent (the Web service itself, acting as an agent on behalf of its owner)
  • 7. Service Requestor • Any unit of processing logic capable of issuing a request message that can be understood by the service provider is classified as a service requestor . • A Web service is always a service provider but also can act as a service requestor. A Web service takes on the service requestor role under the following circumstances: • The Web service invokes a service provider by sending it a message • The Web service searches for and assesses the most suitable service provider by studying available service descriptions. (Service descriptions and service registries are covered in the Service descriptions service requestor entity (the organization or individual requesting the Web service) service requestor agent (the Web service itself, acting as an agent on behalf of its owner)
  • 8. Figure 5.3: The sender of the request message is classified as a service requestor.
  • 9. Figure 5.4: TLS and RailCo services swapping roles in different but related message exchanges
  • 10. Figure 5.5: The intermediary service transitions through service provider and service requestor roles while processing a message.
  • 11. Figure 5.6: A passive intermediary service processing a message without altering its contents.
  • 12. Copyright © Pearson Education, Inc. Figure 5.7: An active intermediary service.
  • 13. Figure 5.8: Web services acting as initial sender and ultimate receiver.
  • 14. Figure 5.9: The TLS Load Balancing Service acting as an intermediary between the RailCo initial sender and the TLS ultimate receiver.
  • 15. Figure 5.10: A service composition consisting of four members.
  • 16. Figure 5.11: The Accounts Payable Service enlisting other TLS services in a service composition.
  • 17.  Service models “The manner in which services are being utilized in the real world, though, has led to a classification based on the nature of the application logic they provide, as well as their business-related roles within the overall solution. These classifications are known as service models” . •It is important to note that a service can and frequently does belong to more than one service model. “Type of Service Model” • Business service model, •Utility service model, •Controller service model Business service model, Within an SOA, the business service represents the most fundamental building block. It encapsulates a distinct set of business logic within a well- defined functional boundary. It is fully autonomous but still not limited to executing in isolation, as business services are frequently expected to participate in service compositions.
  • 18. Copyright © Pearson Education, Inc. Business services are used within SOAs as follows: •as fundamental building blocks for the representation of business logic •to represent a corporate entity or information set •to represent business process logic •as service composition members Utility service model “Any generic Web service or service agent designed for potential reuse can be classified as a utility service” . Utility services are used within SOAs as follows: •as services that enable the characteristic of reuse within SOA •as solution-agnostic intermediary services •as services that promote the intrinsic interoperability characteristic of SOA •as the services with the highest degree of autonomy
  • 19. • Case Study In the examples we've gone through so far in this chapter, we've described eight  Web services. Six of these are business services, while the other two are utility  services, as follows: Accounts Payable Service = business service Internal Policy Service = utility service Invoice Submission Service = business service Ledger Service = business service Load Balancing Service = utility service Order Fulfillment Service = business service Purchase Order Service = business service Vendor Profile Service = business service The Load Balancing and Internal Policy Services are classified as utility services  because they provide generic functionality that can be reused by different types of  applications. The application logic of the remaining services is specific to a given  business task or solution, which makes them business-centric services.
  • 20. Controller service model • Service compositions are comprised of a set of independent services that each contribute to the execution of the overall business task. • The assembly and coordination of these services is often a task in itself and one that can be assigned as the primary function of a dedicated service or as the secondary function of a service that is fully capable of executing a business task independently. • The controller service fulfills this role, acting as the parent service to service composition members. Controller services are used within SOAs as follows: • to support and implement the principle of composability • to leverage reuse opportunities • to support autonomy in other services Note that controller services themselves can become subordinate service composition members. In this case the composition coordinated by a controller is, in its entirety, composed into a larger composition. In this situation there may be a master controller service that acts as the parent to the entire service composition, as well as a sub-controller, responsible for coordinating a portion of the composition (Figure 5.12).
  • 21. Figure 5.12: A service composition consisting of a master controller, a sub-controller, four business services, and one utility service.
  • 22. Figure 5.13: The Accounts Payable Service acting as a business and controller service, composing two other business services.
  • 23. Service descriptions (with WSDL)  This part of SOA provides the key ingredient to establishing a consistently loosely coupled form of communication between services implemented as Web services. • For this purpose, description documents are required to accompany any service wanting to act as an ultimate receiver. The primary service description document is the WSDL definition (Figure 5.14).
  • 24. Figure 5.14: WSDL definitions enable loose coupling between services.
  • 25. Case Study  For RailCo to design its B2B Web services in full compliance with the TLS services, RailCo acquires the WSDL service description published by TLS for their Accounts Payable Service.  This definition file then is used by developers to build the Invoice Submission Service so that it can process SOAP messages in accordance with the service interface requirements defined in the TLS service descriptions.  Further, RailCo provides TLS with a copy of the WSDL definition for the RailCo Order Fulfillment Service. TLS registers this service description and adds it to the list of vendor endpoints that will receive electronic purchase orders. (Figure 5.15 illustrates both scenarios.)
  • 26. Figure 5.15: Each service requestor is using the WSDL of a service provider to ensure that messages sent will be understood and accepted.
  • 27. Figure 5.16: WSDL document consisting of abstract and concrete parts that collectively describe a service endpoint. Service endpoints and service descriptions/WSDL service definition A WSDL describes the point of contact for a service provider, also known as the service endpoint or just endpoint . It provides a formal definition of the endpoint interface (so that requestors wishing to communicate with the service provider know exactly how to structure request messages) and also establishes the physical location (address) of the service.
  • 28. Abstract description An abstract description establishes the interface characteristics of the Web service without any reference to the technology used to host or enable a Web service to transmit messages. By separating this information, the integrity of the service description can be preserved regardless of what changes might occur to the underlying technology platform. portType, operation, and message The parent portType section of an abstract description provides a high-level view of the service interface by sorting the messages a service can process into groups of functions known as operations . Web services rely exclusively on messaging-based communication, parameters are represented as messages. Therefore, an operation consists of a set of input and output messages . The term "portType" is being renamed to "interface" in version 2.0 of the WSDL  specification.
  • 29. Concrete description • For a Web service to be able to execute any of its logic, it needs for its abstract interface definition to be connected to some real, implemented technology. • Because the execution of service application logic always involves communication, the abstract Web service interface needs to be connected to a physical transport protocol. binding, port, and service • A WSDL description's binding describes the requirements for a service to establish physical connections or for connections to be established with the service. • In other words, a binding represents one possible transport technology the service can use to communicate. • SOAP is the most common form of binding, but others also are supported. A binding can apply to an entire interface or just a specific operation. The term "port" is being renamed "endpoint" in version 2.0 of the WSDL  specification.
  • 30. Metadata and service contracts We have up to three separate documents that each describe an aspect of a service: •WSDL definition •XSD schema •Policy Each of these three service description documents can be classified as service metadata , as each provides information about the service. Service description documents can be collectively viewed as establishing a service contract a set of conditions that must be met and accepted by a potential service requestor to enable successful communication. Note that a service contract can refer to additional documents or agreements not expressed by service descriptions. For example, a Service Level Agreement (SLA) agreed upon by the respective owners of a service provider and its requestor can be considered part of an overall service contract (Figure 5.17).
  • 31. Figure 5.17: A service contract comprised of a collection of service descriptions and possibly additional documents.
  • 32. Semantic descriptions Most of the metadata currently provided by services focuses on expressing technical information related to data representation and processing requirements. However, these service description documents generally do not prove useful in explaining details about a service's behavioral characteristics. In fact, the most challenging part of providing a complete description of a Web service is in communicating its semantic qualities. Examples of service semantics include: •how a service behaves under certain conditions •how a service will respond to a specific condition •what specific tasks the service is most suited for Semantic information is usually of greater importance when dealing with external service providers, where your knowledge of another party's service is limited to the information the service owner decides to publish. But even within organizational boundaries, semantic characteristics tend to take on greater relevance as the amount of internal Web services grows.
  • 33. Service description advertisement and discovery As we've established, the sole requirement for one service to contact another is access to the other service's description. As the amount of services increases within and outside of organizations, mechanisms for advertising and discovering service descriptions may become necessary. For example, central directories and registries become an option to keep track of the many service descriptions that become available. These repositories allow humans (and even service requestors) to: • locate the latest versions of known service descriptions • discover new Web services that meet certain criteria • When the initial set of Web services standards emerged, this eventuality was taken into account. This is why UDDI formed part of the first generation of Web services standards. Though not yet commonly implemented, UDDI provides us with a registry model worth describing.
  • 34. Private and public registries UDDI specifies a relatively accepted standard for structuring registries that keep track of service descriptions (Figure 5.18). These registries can be searched manually and accessed programmatically via a standardized API. Figure 5.18: Service description locations centralized in a registry.
  • 35. Public registries accept registrations from any organizations, regardless of whether they have Web services to offer. Once signed up, organizations acting as service provider entities can register their services. Private registries can be implemented within organization boundaries to provide a central repository for descriptions of all services the organization develops, leases, or purchases.
  • 36. Figure 5.19: The basic structure of a UDDI business entity record.
  • 37. Copyright © Pearson Education, Inc. Figure 5.20: The TLS service registry containing pointers to current TLS WSDL definitions.
  • 38. Copyright © Pearson Education, Inc. Figure 5.21: The basic structure of a SOAP message
  • 39. Copyright © Pearson Education, Inc. Figure 5.22: The RailCo Invoice Submission Service packaging the contents of three documents into one SOAP message.
  • 40. Copyright © Pearson Education, Inc. Figure 5.23: A SOAP node transmitting a SOAP message received by the service logic.
  • 41. Copyright © Pearson Education, Inc. Figure 5.24: The positioning of SOAP ondes within a message transmission between RailCo and TLS.
  • 42. Copyright © Pearson Education, Inc. Figure 5.25: Different Types of SOAP nodes involved with processing a message.
  • 43. Copyright © Pearson Education, Inc. Figure 5.26: A message path consisting of three Web services.
  • 44. Copyright © Pearson Education, Inc. Figure 5.27: A message path determined at runtime.