SlideShare a Scribd company logo
1 of 32
Download to read offline
UNIT IV WEB SERVICES
Service descriptions – WSDL – Messaging with SOAP – Service discovery – UDDI –
Message Exchange Patterns – Orchestration – Choreography –WS Transactions
------------------------------------------------------------------------------------------------------------------
-
4.1 Web services framework
It is comprised of all of the parts such as technology platform, Web services, service descriptions
(WSDL), messages (SOAP), a service description registration and discovery architecture (UDDI)
and a well-defined architecture that supports messaging patterns and compositions.
The structural relationship between SOA and Web
service
Figure 1: relationship between SOA and web service
• Services (as Web services)
– A service is a means of encapsulating various extents of logic.
• Every Web service can be associated with:
– A temporary classification based on the roles during the runtime processing of a
message
– A permanent classification based on the application logic and the roles it
assumes within a solution environment.
• Service roles
– A Web service is capable of assuming different roles depending on the context.
• the initiator, (Service requestor)
• relayer, (intermediaries)
• the recipient of a message(service provider)
• Service provider
– The Web service is invoked via an external source such as a service requestor
– The recipient of a request message is classified as a service provider
• The service provider may reply to a request message with a response message.
• The term "service provider" is used to identify the organization (or individual) responsible
for providing the Web service.
• 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 is classified as a
service requestor.
– The sender of the request message is classified as a service requestor
– A Web service is always a service provider but also can act as a service requestor
– service requestor entity (the organization or individual requesting the Web service)
• Intermediaries or intermediary services
– Web services and service agents’ route and process a message after it is initially
sent and before it arrives at its destination are referred to as intermediaries or
intermediary services. Because an intermediary receives and submits messages, it
always transitions through service provider and service requestor roles.
– Two types of intermediaries.
• passive intermediary
• Active intermediary
• Passive intermediary
– It is responsible for routing messages to a subsequent location.
– It may use information in the SOAP message header to determine the routing path.
• Active intermediaries
– It route messages to a forwarding destination. Prior to transmitting a message,
these services process and alter the message contents.
– Active intermediaries will look for particular SOAP header blocks and perform
actions in response to the information. They always alter data in header blocks and
may insert or even delete header blocks entirely.
• Service compositions
– Any service enlists one or more additional services to complete a given task.
Further, any of the enlisted services call other services to complete a given sub-
task. Therefore, each service participates in a composition as service composition
member
4.1.1 Service models
• Service models refer to permanent classifications that represent the application logic
housed by the service, as well as its business-related role within the solution.
– Business service model
– Utility service model
– Controller service model
4.1.1.1 Business service model
• Within an SOA, It encapsulates a distinct set of business logic within a well-defined
functional boundary.
• It is fully autonomous that are participate in service compositions.
4.1.1.2 Utility service model
• Any Web service or service agent designed for reuse can be classified as a utility service.
4.1.1.3 Controller service model
• Service compositions are comprised of independent services that execute the overall
business task. The controller service is acting as the parent service to service composition
members.
4.2 Service description (WSDL) (16 marks)
Or
Write the WSDL document consisting of abstract and concrete parts for Arithmetic
calculator web service (16 marks)
– Web service Description language (WSDL) is an XML format for describing web services
as a set of endpoints operating on messages containing procedure-oriented information.
The operations and messages are described abstractly.
– It establishes a loosely coupled form of communication between services.
4.2.1 WSDL definition or Service endpoints and service descriptions
• A WSDL describes the point of contact for a service provider known as the service
endpoint.
• It provides a formal definition of the endpoint interface and establishes the physical
address of the service.
• Two categories
– abstract description
– concrete description
4.2.1.1 Abstract description
• An abstract description establishes the interface of the Web service without any reference to
the technology or enables a Web service to transmit messages.
• Three main parts of an abstract description.
– portType, operation, and message
– The parent portType provides a high-level view of the service interface that includes
groups of functions known as operations.
– Each operation represents a specific logic or action performed by the service. A service
operation is a public method.
– Web services rely on messaging-based communication, parameters are represented as
messages. Therefore, an operation consists of a set of input and output messages.
4.2.1.2 Concrete description
• The abstract Web service interface needs to be connected to a physical transport
protocol(SOAP) for its communication. This connection is defined in the concrete
description portion of the WSDL file.
• Three parts of concrete description :
• binding, port, and service
– A WSDL description's binding establish physical connections between services.
– Simple Object Access Protocol(SOAP) is the common form of binding. A binding
can apply to an entire interface or a specific operation.
– Port represents the physical address at which a service can be accessed with a
specific protocol.
– Within the WSDL language, the service is used to refer to a group of related
endpoints.
8
4.2.1.4 Service Contract
• A service contract comprised of a collection of service descriptions(WSDL) and
additional documents(XSD schema, policy, SLA)
4.2.1.5 Semantic descriptions
• A semantic description is a supplementary documentation published along with service
descriptions (WSDL) to provide sufficient semantic information in a structured manner so
that, service requestors can evaluate and choose suitable service providers independently.
• Service policies can be designed to express the semantic descriptions of service behavior.
4.2.1.6 Service description advertisement and discovery
– Advertising and discovering service descriptions may become necessary for
amount of services increases within and outside of organizations.
– Universal Description, Discovery, and Integration (UDDI) provides a registry
model worth describing.
• Private and public registries
– UDDI is a accepted standard for structuring registries that keep track of service
descriptions These registries can be searched manually and accessed
programmatically.
– Public registries accept registrations from any organizations. Once signed up,
organizations acting as service provider can register their web 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.
4.3 Message with SOAP
• SOAP
– The Simple Object Access Protocol(SOAP) specification is universally accepted
standard transport protocol for messages processed by Web services
• All communication between services is message-based, the messaging framework provide
standardization for services.
• SOAs emphasis on a message-centric application designs that increasing amount of
business and application logic is embedded into messages.
• The messaging framework can be flexible and highly extensible.
4.3.1 SOAP Messages format (16 marks)
• Envelope
– SOAP message is packaged into a container known as an envelope.
– The envelope is responsible for housing all parts of the message
• Header
– Header is hosting Meta information.
• Body
– The actual message contents are hosted by the message body, which consists of
XML formatted data.
– The contents of a message body are referred to as the message payload
4.3.1.1 Header block
• Supplementary Meta information stored in the header area.
• Header blocks contain information required for any services with contact to process and route
the message based on the rules, instructions, and properties.
• Features of message with header blocks :
– processing instructions may be executed by service intermediaries or the ultimate
receiver
– routing or workflow information associated with the message
– security measures implemented in the message
– reliability rules related to the delivery of the message
– context and transaction management information
– correlation information (an identifier used to associate a request message with a
response message)
Example
<env:Header>
<MaxTime value="10000" role="ultimateReceiver"/> </env:Header>
<env:Header>
<MaxRelayTime value="10000“ role=“next” relay=“true"/>
</env:Header>
<maxRelayTime> must be relayed from node to node
role=“next” - intermediate node
4.3.1.2 Message styles
• SOA relies on document-style messages to enable larger payloads, interface operations,
and reduced message transmission volumes between services.
– As a result, a single document-style message used by RailCo is capable of
providing an invoice, an account statement, and volume discount pricing formulas.
4.3.1.3 Attachments
– SOAP attachments are commonly employed to transport binary files, such as
images.
4.3.1.4 Faults
– SOAP messages offer exception handling logic by providing an optional fault
section that can reside within the body area.
– The section is store a simple message that deliver error condition information when
an exception occurs.
Example:
<env:Body>
<env:Fault>
<env: Code>
<env: Value> env:Sender</env:Value>
</env: Code>
<env: Reason> <env:Text>Processing error</env:Text>
</env: Reason>
</env:Fault>
4.3.1.5 Nodes
• The programs that services use to transmit and receive SOAP messages are referred to as
SOAP nodes.
• A SOAP node transmitting a SOAP message received by the service logic
• Node types
– The SOAP specification has a different "role" is refers to SOAP types or labels as
concepts.
– SOAP sendera
• SOAP node that transmits a message
– SOAP receivera
• SOAP node that receives a message
– SOAP intermediarya
• SOAP node that receives and transmits a message, and optionally processes
the message prior to transmission
– initial SOAP sender
• the first SOAP node to transmit a message
– ultimate SOAP receiver
• the last SOAP node to receive a message
SOAP intermediaries
– SOAP intermediary nodes transition through service provider and service requestor
roles,
– SOAP intermediary nodes move through SOAP receiver and SOAP sender types when
processing a message.
– Types
• Forwarding intermediary nodes
• Active intermediary nodes.
– Forwarding intermediary nodes
• it is responsible for relaying the contents of a message to a subsequent SOAP
node
• The intermediary will process and alter header block information relating to the
forwarding logic it is executing.
– Active intermediary nodes
• An active intermediary can alter existing header blocks, insert new ones,
and execute a variety of supporting actions
4.3.1.6 Message paths
• A message path refers to the route taken by a message from when it is first sent until it
arrives at its ultimate destination. Therefore, a message path consists of at least one initial
sender, one ultimate receiver, and zero or more intermediaries.
• The use of header blocks processed by intermediaries can dynamically determine the path
of a message. This may be routing logic, workflow logic, or environmental conditions.
 A message path determined at runtime
Write SOAP request message and response message for arithmetic calculator (8 marks)
SOAP input message (Service requestor)
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org"
<soap:Body>
<add xmlns="http://tempuri.org/">
<a> int </a>
<b> int </b>
</add>
</soap:Body>
</soap:Envelope>
SOAP output message (Service provider)
<?xml version="1.0" encoding="utf-8"?>
</soap:Envelope>
<soap:Body>
<addResponse xmlns="http://tempuri.org/">
<addResult > int </addResult>
</addResponse>
</soap:Body>
</soap:Envelope>
4.4 Service discovery (UDDI) – (16 marks)
• UDDI (2 marks)
– UDDI stands for Universal Description, Discovery, and Integration.
– UDDI is an XML-based standard for describing, publishing, and finding web
services
• UDDI has two sections
– A registry of all web service's metadata, including a pointer to the WSDL
description of a service.
– A set of WSDL port type definitions for manipulating and searching that registry
4.4.1 Private and public registries (2 marks)
– UDDI is a standard for structuring registries that keep track of service descriptions.
– Public registries accept registrations from any organizations. Once signed up,
organizations acting as service provider can register their web 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.
4.4.2 Three elements of UDDI.(2 marks)
– White Pages,
– Yellow Pages,
– Green Pages.
• White pages
– Basic information about the company and its business.
– Basic contact information including business name, address, contact phone
number, etc.
– A Unique identifiers for the company tax IDs.
• Yellow Pages
– Yellow pages contain more details about the company.
– Yellow pages include industry codes, product codes, and business identification
codes.
• Green Pages
– Green pages contain technical information about a web service.
• The various interfaces
• The URL locations
4.4.3 The basic structure of a UDDI – (16 marks)
– business Entity: Detail about company
– business Service: Individual web service
– binding Template- technical descriptions of the web services
4.4.3.1 business Entity Data Structure(16 marks)
or
Develop the businessEntity data Structure of UDDI. Assume, IBM is the service
provider that provides arithmetic calculator web service (16 marks)
• The business entity structure represents the services provider.
• This structure contains information about the company including
–
- contact information
– industry categories
– business identifiers
– list of services provided
<businessEntity businessKey = "uuid”
operator = "www.ibm.com" authorizedName = "John Doe">
<name>Acme Company</name>
<description> We create Arithmetic Web services</description>
<contacts>
<contact useType = "general info">
<personName>John Doe</personName>
<phone>(123) 123-1234</phone>
<email>jdoe@acme.com</email>
</contact>
</contacts>
</businessEntity>
4.4.3.2 Business Service Data Structure
• The business service structure represents an individual web service provided by the business
entity.
• Its description includes information on
– binding to the web service,
– type of web services
– Categories it belongs to.
<businessService serviceKey = "uuid" businessKey = "uuid:C">
<name> Calculator Web Service</name>
<description> Arithmetic calculation</description>
</businessService>
4.4.3.3 binding Template Data Structure
– Binding templates are the technical descriptions of the web services represented by
the business service structure.
<bindingTemplate serviceKey = "uuid" bindingKey = "uuid:C00">
<description> Calculator SOAP Binding</description>
<accessPoint URLType = "http"> http://localhost:8080
</accessPoint></bindingTemplate>
4.4.3.4 tModel Data Structure
• tModel stands for technical model.
• tModel is describing the various business, service, and template structures stored within
the UDDI registry.
<tModel tModelKey = "uuid:xyz987.." operator = "www.ibm.com" authorizedName = "John
Doe">
<name> Calculator Interface Port Type</name>
<overviewDoc>
<overviewURL> http://localhost/ Calculator.wsdl </overviewURL>
</overviewDoc>
</tModel>
4.5 Message Exchange Pattern (MEP) (8 marks)
• A MEP is a interaction pattern to define the message exchange between two services.
• Message exchange patterns (MEPs) represent a set of templates that provide a group of
sequences for the exchange of messages.
• Common example is a request and response pattern.
• Types
– Primitive MEPs
– Complex MEPs
19
4.5.1 Primitive MEPs(2 marks)(Nov 2016)
• Request-response
• Fire and forget
4.5.1.1 Request-response
• This MEP used in distributed application environments that defines synchronous
communication
• The request-response MEP establishes a simple exchange in which a message is first
transmitted from a source (service requestor) to a destination (service provider).
• Upon receiving the message, the destination (service provider) then responds with a
message back to the source (service requestor).
4.5.1.2 Fire-and-forget
• This simple asynchronous pattern is based on the unidirectional transmission of messages
from a source to one or more destinations
• Types of fire-and-forget MEP
– The single-destination pattern, where a source sends a message to one destination
only.
– The multi-cast pattern, where a source sends messages to a predefined set of
destinations.
– The broadcast pattern, where the message is sent out to a broader range of recipient
destinations.
4.5.3 MEP and SOAP
• The SOAP provides a messaging framework designed to support single-direction message
transfer.
• The SOAP allows messaging characteristics and behaviors to be implemented via SOAP
header blocks.
• The SOAP provides an optional parameter to identify the MEP associated with a message.
4.5.4 MEP and WSDL
• MEPs play a vital role in WSDL as they can coordinate the input and output messages
associated with an operation.
• The association of MEPs to WSDL operations embeds behavior into the interface
definition.
• WSDL operations support different configurations of incoming, outgoing, and fault
messages. These configurations are referred as message exchange patterns.
4.5.5 WSDL 1.1 specification supports four message exchange patterns (8 marks)
• Request-response operation: Service requestor submits a message to service provider,
upon receiving a message, the service provider respond with a message or a fault message.
• Solicit-response operation service provider submit a message to a service requestor, the
service provider expects a standard response message or a fault message.
• One-way operation: The service expects a single message and is not obligated to respond.
• Notification operation: The service sends a message and expects no response.
Figure : The four basic patterns supported by WSDL 1.1
4.5.6 WSDL 2.0 specification support to eight patterns corresponds to MEP. (8 marks)
• The in-out pattern is equivalent to the WSDL 1.1 request-response operation.
• The out-in pattern, which is the reverse of the previous pattern where the service provider
initiates the exchange by transmitting the request. (Equivalent to the WSDL 1.1 solicit-
response operation.)
• The in-only pattern, which supports the fire-and-forget MEP.
• The out-only pattern, which is the reverse of the in-only pattern. It is used primarily in support
of event notification. (Equivalent to the WSDL 1.1 notification operation.)
• The robust in-only pattern, a variation of the in-only pattern that provides the option for fault
response message as a result of a transmission or processing error.
• The robust out-only pattern, which, like the out-only pattern, has an outbound message
initiating the transmission. The difference here is that a fault message can be issued in
response to the receipt of this message.
• The in-optional-out pattern, which is similar to the in-out pattern with one exception. In this,
the delivery of a response message is optional. This pattern also supports the generation of a
fault message.
• The out-optional-in pattern is the reverse of the in-optional-out pattern, where the incoming
message is optional. Fault message generation is again supported.
4.6 Service Activity (8 marks)
Activity
An activity is representing a task or a unit of work performed by a set of services.
Service Activity (2 marks)
The interaction of a group of services working together to complete a task can be referred
to as a service activity
4.6.1 Primitive and complex service activities
• Primitive activity(2 marks)
– Primitive activity is synchronous communication and consists of two services
exchanging information using a standard request-response MEP
– Primitive activities are almost always short-lived
• Complex activities(2 marks)
– In complex activities, many services can involve that collaborate to complete
multiple processing steps over a long period of time
– Ex: composition-oriented concepts, such as choreography and orchestration.
4.7 Coordination (8 marks)
• Coordination provides a context management framework using a service composition
headed by a coordinator service.
• Examples of implementations of this framework are WS-Atomic Transaction and WS-
Business Activity.
4.7.1 Coordinator composition
This coordinator service controls a composition of other services that each plays a specific part in
the management of context data
• The coordinator composition consists of the following services:
– Activation service: Responsible for the creation of a new context for a particular
activity in the context.
– Registration service: Allows participating services to use context information
received from the activation service to register for a supported context protocol.
– Protocol-specific services: These services represent the protocols supported by the
coordinator.
– Coordinator The controller service of this composition, also known as the
coordination service.
4.7.2 Coordination types and coordination protocols
• Each coordinator is based on a coordination type, which specifies the underlying logic of
an activity for which context information is being managed.
• The two coordination types
– WS-Atomic Transaction
– WS-Business Activity.
• Coordination type extensions provide a set of coordination protocols, which represent
unique coordination types and consist of a collection of specific behaviors and rules.
• A protocol is a set of rules that are imposed on activities and all registered participants
must follow.
4.7.3.2 Coordination and SOA
• A coordinator-based context management framework, as provided by WS-Coordination
and its supporting coordination types, introduces a layer of composition control to SOAs
• It standardizes the management and interchange of context information within a variety of
key business protocols.
4.8 Orchestration (8 marks)
• Organizations employed enterprise application integration (EAI) middleware to integrate
various legacy environments.
• In these systems, a centrally controlled set of workflow logic facilitates interoperability
between different applications. Ex: WS-BPEL
• Orchestration represent business logic and services-based venue
• A common implementation of orchestration is the hub-and-spoke model that allows multiple
external participants to interface with a central orchestration engine.
• With orchestration, different processes can be connected without redevelop the solutions for
automated process.
Advantages:
• Orchestration can significantly reduce the complexity of solution environments.
• Workflow logic is abstracted and more easily maintained
4.8.1 Business protocols and process definition (2 marks)
– The workflow logic comprises an orchestration that consists of numerous business
rules, conditions, and events.
– Collectively, these parts of an orchestration establish a business protocol that
defines how participants (spoke) interoperate to achieve the completion of a
business task.
– The details of the workflow logic encapsulated and expressed by an orchestration
are contained within a process definition
4.8.2 Process services and partner services
– The process itself is represented as a process service
– Identified process definitions are allowing the process participants.
– Other services allowed to interact with the process service are identified as partner
services or partner links.
– Depending on the workflow logic, the process service can be invoked by an
external partner service
4.8.3 Basic activities and structured activities
– WS-BPEL breaks down workflow logic into a series of predefined primitive
activities such as receive, invoke, reply, throw, and wait.
– Basic activities represent workflow actions which can be assembled using the logic
supplied by structured activities (sequence, switch, while, flow, pick).
4.8.3.1 Sequences, flows, and links
• Sequence
– A sequence aligns groups of related activities into a list that determines a sequential
execution order. In Sequences, one piece of application logic is dependent on the
outcome of another.
• Flows
– Flows also contain groups of related activities, but they introduce different execution
requirements. Pieces of application logic can execute concurrently within a flow,
meaning that there is not necessarily a requirement for one set of activities to wait
before another finishes.
• Links
– Links are used to establish formal dependencies between activities that are part of
flows. Before an activity fully can complete, it must ensure that any requirements
established in outgoing links first are met. Similarly, before any linked activity can
begin, requirements contained within any incoming links first must be satisfied. Rules
provided by links are also referred to as synchronization dependencies
4.8.4 Orchestrations and activities
• An activity can be applied to any logical unit of work completed by a service-oriented
solution.
• The scope of a orchestration can be classified as a complex and long-running activity
4.8.5 Orchestration and coordination
• Orchestration is represented by WS-BPEL, can fully utilize the Coordination context
management framework by incorporating the coordination type.
• The coordination protocols designed to support complex, and long-running activities
4.8.6 Orchestration and SOA
• Orchestration provides an automation model where business process logic is centralized
yet still extensible and composable .
• Through the use of orchestrations, service-oriented solution environments become
extensible and adaptive.
• Orchestrations themselves typically establish a common point of integration for other
applications, which makes an implemented orchestration a key integration enabler
4.9 Choreography (8 marks)
• The goal is to establish a collaboration pattern between services representing different
organization.
• Choreographies consist of multiple participants that can different roles with different
relationships.
• Choreographies are reusable, composable, and can be modularized.
• The concept of choreography extends the SOA vision to standardize cross-organization
collaboration.
4.9.1 WS-CDL (Web Services Choreography Description Language) (2 marks)
The WS-CDL is the specifications that organize information exchange between multiple
organizations (or even multiple applications within organizations), with an emphasis on public
collaboration
Ex: Retailer – distributor
4.9.2 Collaboration
– The goal is to establish a collaboration pattern between services representing
different organization.
– Choreographies establish universal interoperability patterns for inter-organization
business tasks.
– It can be applied to enable collaboration between applications belonging to a single
organization. It use orchestration techniques.
4.9.3 Roles and participants
– Within choreography, a Web service assumes predefined roles. This establishes
what the service can do within the context of a particular business task.
– Related roles are grouped accordingly, categorized as participants (services).
4.9.4 Relationships and channels
– Every action within choreography can be broken down into a series of message
exchanges between two services. Each exchange between two roles in
choreography is defined as a relationship. Every relationship consequently consists
of exactly two roles.
– Channels define the characteristics of the message exchange between two specific
roles. it fosters dynamic discovery and increases the number of participants within
large-scale collaborative tasks.
4.9.5 Interactions and work units
o Finally, the actual logic behind a message exchange is encapsulated within an
interaction.
o An interaction represents actual progress within choreography.
o Related to interactions are work units. These impose rules and constraints that must be
adhered for an interaction to successfully complete
4.9.6 Reusability, composability, and modularity
• Each choreography can be designed in a reusable manner, allowing it to be applied to
different business tasks comprised of the same fundamental actions.
• Choreography can be assembled from independent modules. These modules can represent
distinct sub-tasks and can be reused by different parent choreographies.
4.9.7 Orchestrations Vs choreographies (Comparison) (2 marks)
• Orchestrations
– An orchestration expresses organization-specific business workflow. An
organization owns and controls the logic, even if that logic involves interaction
with external business partners.
– Service orchestration represents a single centralized executable business process
(the orchestrator) that coordinates the interaction among different services
• choreographies
– The goal is to establish a collaboration pattern between services representing
different organization.
– The decision logic is distributed, with no centralized point
4.9.8 Choreography and SOA
• Choreography can assist in the realization of SOA across organization boundaries.
• Choreography supports composability, reusability, and extensibility, also increase
organizational agility and discovery.
• Organizations are able to join into multiple online collaborations, which can dynamically
extend or even alter related business processes that integrate with the choreographies.
• WS- AtomicTransaction is a coordination type that supplies three coordination protocols
that can be used to achieve two-phase commit transactions across multiple service
participants.
• The atomic transaction coordinator makes the ultimate decision to commit or rollback a
transaction. This decision is based on votes collected from participants.
• Atomic transactions apply an all-or- nothing requirement to work performed as part of an
activity
• Contemporary SOAs can incorporate cross-service, ACID-type transaction features by
using WS-AtomicTransaction.
4.10.1 ACID transactions
The WS- AtomicTransaction protocols enable cross-service transaction functionality in
distributed application platforms.
– Atomic
• Either all of the changes within the scope of the transaction succeed, or
none of them succeed. This characteristic introduces the need for the
rollback feature that is responsible for restoring any changes completed as
part of a failed transaction to their original state.
– Consistent
• None of the data changes made as a result of the transaction can violate the
validity of any associated data models. Any violations result in a rollback of
the transaction.
– Isolated
• If multiple transactions occur concurrently, they may not interfere with
each other. Each transaction must be guaranteed an isolated execution
environment.
– Durable
• Upon the completion of a successful transaction, changes made as a result
of the transaction can survive subsequent failures.
4.10.2 Atomic transaction protocols (2 marks)
• WS-Atomic Transaction is an extension of WS-Coordination context management
framework.
• To participate in an atomic transaction, a service first receives a coordination context from
the activation service. It can subsequently register for available atomic transaction
protocols.
• Transaction protocols :
– A Completion protocol is used to initiate the commit or abort states of the
transaction.
– The Durable 2PC protocol for which services representing permanent data
repositories should register.
– The Volatile 2PC protocol to be used by services managing temporary data.
• Most often these protocols are used to enable a two-phase commit (2PC) that manages
an atomic transaction across multiple service participants.
4.10.3 The atomic transaction coordinator
– When WS-Atomic Transaction protocols are used, the coordinator controller
service can be referred to as an atomic transaction coordinator.
– The atomic transaction coordinator plays a key role in managing the participants
of the transaction process and in deciding the transaction's ultimate outcome.
4.10.4 The atomic transaction process
– The atomic transaction coordinator is responsibility of deciding the outcome of a
transaction. The decision is based on receives feedback from all of the transaction
participants.
– The collection of feedback is separated into two phases.
• Prepare phase, all participants are notified by the coordinator, and each is
asked to prepare and then issue a vote. Each participant's vote consists of
either a "commit" or "abort" request
• Commit phase. It now reviews all votes and decides whether to commit or
rollback the transaction.
4.10.5 Atomic Transaction and SOA
– More services emerge within an organization and as service compositions become more
commonplace, the need to move transaction boundaries into cross-service interaction
scenarios increases. Being able to guarantee an outcome of an activity is a key part of
enterprise-level computing, and atomic transactions therefore play an important role in
ensuring quality of service.
– Not only do atomic transactional capabilities lead to a robust execution environment for
SOA activities, they promote interoperability when extended into integrated environments.
This allows the scope of an activity to span different solutions built with different vendor
platforms, while still being assured a guaranteed all-or-nothing outcome.

More Related Content

Similar to SOA UNIT-IV.pdfSOA UNIT-IV.pdfSOA UNIT-IV.pdf

Service Oriented Architecture
Service Oriented ArchitectureService Oriented Architecture
Service Oriented ArchitectureMohamed Zaytoun
 
Introduction to Enterprise Service Bus
Introduction to Enterprise Service BusIntroduction to Enterprise Service Bus
Introduction to Enterprise Service BusMahmoud Ezzat
 
Applying xml
Applying xmlApplying xml
Applying xmlKumar
 
Unit-I-Introduction.pptx
Unit-I-Introduction.pptxUnit-I-Introduction.pptx
Unit-I-Introduction.pptxkeerthanamp4
 
SOA standards
SOA standardsSOA standards
SOA standardsKumar
 
Soa 6 service architecture components
Soa 6 service architecture componentsSoa 6 service architecture components
Soa 6 service architecture componentsVaibhav Khanna
 
Unit-5_2 PPT on Distributed Web based System.pdf
Unit-5_2 PPT on Distributed Web based System.pdfUnit-5_2 PPT on Distributed Web based System.pdf
Unit-5_2 PPT on Distributed Web based System.pdframeshwarchintamani
 
Part I -Summary of service oriented architecture (soa) concepts, technology, ...
Part I -Summary of service oriented architecture (soa) concepts, technology, ...Part I -Summary of service oriented architecture (soa) concepts, technology, ...
Part I -Summary of service oriented architecture (soa) concepts, technology, ...Mohammed Omar
 
SOA1-Background.ppt SOFTWARE ORIENTED SERVICES AND ARCHITECTURE
SOA1-Background.ppt SOFTWARE ORIENTED SERVICES AND ARCHITECTURESOA1-Background.ppt SOFTWARE ORIENTED SERVICES AND ARCHITECTURE
SOA1-Background.ppt SOFTWARE ORIENTED SERVICES AND ARCHITECTUREAnyaForger34
 
Complete Architecture and Development Guide To Windows Communication Foundati...
Complete Architecture and Development Guide To Windows Communication Foundati...Complete Architecture and Development Guide To Windows Communication Foundati...
Complete Architecture and Development Guide To Windows Communication Foundati...Abdul Khan
 
E-Services course Chapter II ISI by Ettaieb Abdessattar
E-Services course Chapter II ISI by Ettaieb AbdessattarE-Services course Chapter II ISI by Ettaieb Abdessattar
E-Services course Chapter II ISI by Ettaieb AbdessattarAbdessattar Ettaieb
 
Part II - Summary of service oriented architecture (SOA) concepts, technology...
Part II - Summary of service oriented architecture (SOA) concepts, technology...Part II - Summary of service oriented architecture (SOA) concepts, technology...
Part II - Summary of service oriented architecture (SOA) concepts, technology...Mohammed Omar
 
Service oriented architecture characteristics of soa
Service oriented architecture characteristics  of soaService oriented architecture characteristics  of soa
Service oriented architecture characteristics of soasmithaps4
 
Webservices divya 1
Webservices divya 1Webservices divya 1
Webservices divya 1rajamandava4
 

Similar to SOA UNIT-IV.pdfSOA UNIT-IV.pdfSOA UNIT-IV.pdf (20)

Service Oriented Architecture
Service Oriented ArchitectureService Oriented Architecture
Service Oriented Architecture
 
Introduction to Enterprise Service Bus
Introduction to Enterprise Service BusIntroduction to Enterprise Service Bus
Introduction to Enterprise Service Bus
 
Xml.ppt
Xml.pptXml.ppt
Xml.ppt
 
Applying xml
Applying xmlApplying xml
Applying xml
 
Unit-I-Introduction.pptx
Unit-I-Introduction.pptxUnit-I-Introduction.pptx
Unit-I-Introduction.pptx
 
SOA standards
SOA standardsSOA standards
SOA standards
 
Soa 6 service architecture components
Soa 6 service architecture componentsSoa 6 service architecture components
Soa 6 service architecture components
 
Unit-5_2 PPT on Distributed Web based System.pdf
Unit-5_2 PPT on Distributed Web based System.pdfUnit-5_2 PPT on Distributed Web based System.pdf
Unit-5_2 PPT on Distributed Web based System.pdf
 
Part I -Summary of service oriented architecture (soa) concepts, technology, ...
Part I -Summary of service oriented architecture (soa) concepts, technology, ...Part I -Summary of service oriented architecture (soa) concepts, technology, ...
Part I -Summary of service oriented architecture (soa) concepts, technology, ...
 
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
 
Java web services
Java web servicesJava web services
Java web services
 
WSstandards.ppt
WSstandards.pptWSstandards.ppt
WSstandards.ppt
 
SOA1-Background.ppt SOFTWARE ORIENTED SERVICES AND ARCHITECTURE
SOA1-Background.ppt SOFTWARE ORIENTED SERVICES AND ARCHITECTURESOA1-Background.ppt SOFTWARE ORIENTED SERVICES AND ARCHITECTURE
SOA1-Background.ppt SOFTWARE ORIENTED SERVICES AND ARCHITECTURE
 
Complete Architecture and Development Guide To Windows Communication Foundati...
Complete Architecture and Development Guide To Windows Communication Foundati...Complete Architecture and Development Guide To Windows Communication Foundati...
Complete Architecture and Development Guide To Windows Communication Foundati...
 
E-Services course Chapter II ISI by Ettaieb Abdessattar
E-Services course Chapter II ISI by Ettaieb AbdessattarE-Services course Chapter II ISI by Ettaieb Abdessattar
E-Services course Chapter II ISI by Ettaieb Abdessattar
 
Part II - Summary of service oriented architecture (SOA) concepts, technology...
Part II - Summary of service oriented architecture (SOA) concepts, technology...Part II - Summary of service oriented architecture (SOA) concepts, technology...
Part II - Summary of service oriented architecture (SOA) concepts, technology...
 
Service oriented architecture characteristics of soa
Service oriented architecture characteristics  of soaService oriented architecture characteristics  of soa
Service oriented architecture characteristics of soa
 
Cc unit 2 updated
Cc unit 2 updatedCc unit 2 updated
Cc unit 2 updated
 
Soa chapter 5
Soa chapter 5Soa chapter 5
Soa chapter 5
 
Webservices divya 1
Webservices divya 1Webservices divya 1
Webservices divya 1
 

Recently uploaded

Navigating Complexity: The Role of Trusted Partners and VIAS3D in Dassault Sy...
Navigating Complexity: The Role of Trusted Partners and VIAS3D in Dassault Sy...Navigating Complexity: The Role of Trusted Partners and VIAS3D in Dassault Sy...
Navigating Complexity: The Role of Trusted Partners and VIAS3D in Dassault Sy...Arindam Chakraborty, Ph.D., P.E. (CA, TX)
 
2016EF22_0 solar project report rooftop projects
2016EF22_0 solar project report rooftop projects2016EF22_0 solar project report rooftop projects
2016EF22_0 solar project report rooftop projectssmsksolar
 
Online food ordering system project report.pdf
Online food ordering system project report.pdfOnline food ordering system project report.pdf
Online food ordering system project report.pdfKamal Acharya
 
Double Revolving field theory-how the rotor develops torque
Double Revolving field theory-how the rotor develops torqueDouble Revolving field theory-how the rotor develops torque
Double Revolving field theory-how the rotor develops torqueBhangaleSonal
 
COST-EFFETIVE and Energy Efficient BUILDINGS ptx
COST-EFFETIVE  and Energy Efficient BUILDINGS ptxCOST-EFFETIVE  and Energy Efficient BUILDINGS ptx
COST-EFFETIVE and Energy Efficient BUILDINGS ptxJIT KUMAR GUPTA
 
HOA1&2 - Module 3 - PREHISTORCI ARCHITECTURE OF KERALA.pptx
HOA1&2 - Module 3 - PREHISTORCI ARCHITECTURE OF KERALA.pptxHOA1&2 - Module 3 - PREHISTORCI ARCHITECTURE OF KERALA.pptx
HOA1&2 - Module 3 - PREHISTORCI ARCHITECTURE OF KERALA.pptxSCMS School of Architecture
 
Computer Lecture 01.pptxIntroduction to Computers
Computer Lecture 01.pptxIntroduction to ComputersComputer Lecture 01.pptxIntroduction to Computers
Computer Lecture 01.pptxIntroduction to ComputersMairaAshraf6
 
notes on Evolution Of Analytic Scalability.ppt
notes on Evolution Of Analytic Scalability.pptnotes on Evolution Of Analytic Scalability.ppt
notes on Evolution Of Analytic Scalability.pptMsecMca
 
HAND TOOLS USED AT ELECTRONICS WORK PRESENTED BY KOUSTAV SARKAR
HAND TOOLS USED AT ELECTRONICS WORK PRESENTED BY KOUSTAV SARKARHAND TOOLS USED AT ELECTRONICS WORK PRESENTED BY KOUSTAV SARKAR
HAND TOOLS USED AT ELECTRONICS WORK PRESENTED BY KOUSTAV SARKARKOUSTAV SARKAR
 
Rums floating Omkareshwar FSPV IM_16112021.pdf
Rums floating Omkareshwar FSPV IM_16112021.pdfRums floating Omkareshwar FSPV IM_16112021.pdf
Rums floating Omkareshwar FSPV IM_16112021.pdfsmsksolar
 
Work-Permit-Receiver-in-Saudi-Aramco.pptx
Work-Permit-Receiver-in-Saudi-Aramco.pptxWork-Permit-Receiver-in-Saudi-Aramco.pptx
Work-Permit-Receiver-in-Saudi-Aramco.pptxJuliansyahHarahap1
 
Thermal Engineering-R & A / C - unit - V
Thermal Engineering-R & A / C - unit - VThermal Engineering-R & A / C - unit - V
Thermal Engineering-R & A / C - unit - VDineshKumar4165
 
Standard vs Custom Battery Packs - Decoding the Power Play
Standard vs Custom Battery Packs - Decoding the Power PlayStandard vs Custom Battery Packs - Decoding the Power Play
Standard vs Custom Battery Packs - Decoding the Power PlayEpec Engineered Technologies
 
AIRCANVAS[1].pdf mini project for btech students
AIRCANVAS[1].pdf mini project for btech studentsAIRCANVAS[1].pdf mini project for btech students
AIRCANVAS[1].pdf mini project for btech studentsvanyagupta248
 
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXssuser89054b
 
Online electricity billing project report..pdf
Online electricity billing project report..pdfOnline electricity billing project report..pdf
Online electricity billing project report..pdfKamal Acharya
 
scipt v1.pptxcxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx...
scipt v1.pptxcxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx...scipt v1.pptxcxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx...
scipt v1.pptxcxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx...HenryBriggs2
 
Design For Accessibility: Getting it right from the start
Design For Accessibility: Getting it right from the startDesign For Accessibility: Getting it right from the start
Design For Accessibility: Getting it right from the startQuintin Balsdon
 
S1S2 B.Arch MGU - HOA1&2 Module 3 -Temple Architecture of Kerala.pptx
S1S2 B.Arch MGU - HOA1&2 Module 3 -Temple Architecture of Kerala.pptxS1S2 B.Arch MGU - HOA1&2 Module 3 -Temple Architecture of Kerala.pptx
S1S2 B.Arch MGU - HOA1&2 Module 3 -Temple Architecture of Kerala.pptxSCMS School of Architecture
 

Recently uploaded (20)

Navigating Complexity: The Role of Trusted Partners and VIAS3D in Dassault Sy...
Navigating Complexity: The Role of Trusted Partners and VIAS3D in Dassault Sy...Navigating Complexity: The Role of Trusted Partners and VIAS3D in Dassault Sy...
Navigating Complexity: The Role of Trusted Partners and VIAS3D in Dassault Sy...
 
2016EF22_0 solar project report rooftop projects
2016EF22_0 solar project report rooftop projects2016EF22_0 solar project report rooftop projects
2016EF22_0 solar project report rooftop projects
 
Online food ordering system project report.pdf
Online food ordering system project report.pdfOnline food ordering system project report.pdf
Online food ordering system project report.pdf
 
Double Revolving field theory-how the rotor develops torque
Double Revolving field theory-how the rotor develops torqueDouble Revolving field theory-how the rotor develops torque
Double Revolving field theory-how the rotor develops torque
 
COST-EFFETIVE and Energy Efficient BUILDINGS ptx
COST-EFFETIVE  and Energy Efficient BUILDINGS ptxCOST-EFFETIVE  and Energy Efficient BUILDINGS ptx
COST-EFFETIVE and Energy Efficient BUILDINGS ptx
 
HOA1&2 - Module 3 - PREHISTORCI ARCHITECTURE OF KERALA.pptx
HOA1&2 - Module 3 - PREHISTORCI ARCHITECTURE OF KERALA.pptxHOA1&2 - Module 3 - PREHISTORCI ARCHITECTURE OF KERALA.pptx
HOA1&2 - Module 3 - PREHISTORCI ARCHITECTURE OF KERALA.pptx
 
Computer Lecture 01.pptxIntroduction to Computers
Computer Lecture 01.pptxIntroduction to ComputersComputer Lecture 01.pptxIntroduction to Computers
Computer Lecture 01.pptxIntroduction to Computers
 
notes on Evolution Of Analytic Scalability.ppt
notes on Evolution Of Analytic Scalability.pptnotes on Evolution Of Analytic Scalability.ppt
notes on Evolution Of Analytic Scalability.ppt
 
HAND TOOLS USED AT ELECTRONICS WORK PRESENTED BY KOUSTAV SARKAR
HAND TOOLS USED AT ELECTRONICS WORK PRESENTED BY KOUSTAV SARKARHAND TOOLS USED AT ELECTRONICS WORK PRESENTED BY KOUSTAV SARKAR
HAND TOOLS USED AT ELECTRONICS WORK PRESENTED BY KOUSTAV SARKAR
 
Rums floating Omkareshwar FSPV IM_16112021.pdf
Rums floating Omkareshwar FSPV IM_16112021.pdfRums floating Omkareshwar FSPV IM_16112021.pdf
Rums floating Omkareshwar FSPV IM_16112021.pdf
 
Work-Permit-Receiver-in-Saudi-Aramco.pptx
Work-Permit-Receiver-in-Saudi-Aramco.pptxWork-Permit-Receiver-in-Saudi-Aramco.pptx
Work-Permit-Receiver-in-Saudi-Aramco.pptx
 
Thermal Engineering-R & A / C - unit - V
Thermal Engineering-R & A / C - unit - VThermal Engineering-R & A / C - unit - V
Thermal Engineering-R & A / C - unit - V
 
Standard vs Custom Battery Packs - Decoding the Power Play
Standard vs Custom Battery Packs - Decoding the Power PlayStandard vs Custom Battery Packs - Decoding the Power Play
Standard vs Custom Battery Packs - Decoding the Power Play
 
Integrated Test Rig For HTFE-25 - Neometrix
Integrated Test Rig For HTFE-25 - NeometrixIntegrated Test Rig For HTFE-25 - Neometrix
Integrated Test Rig For HTFE-25 - Neometrix
 
AIRCANVAS[1].pdf mini project for btech students
AIRCANVAS[1].pdf mini project for btech studentsAIRCANVAS[1].pdf mini project for btech students
AIRCANVAS[1].pdf mini project for btech students
 
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
 
Online electricity billing project report..pdf
Online electricity billing project report..pdfOnline electricity billing project report..pdf
Online electricity billing project report..pdf
 
scipt v1.pptxcxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx...
scipt v1.pptxcxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx...scipt v1.pptxcxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx...
scipt v1.pptxcxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx...
 
Design For Accessibility: Getting it right from the start
Design For Accessibility: Getting it right from the startDesign For Accessibility: Getting it right from the start
Design For Accessibility: Getting it right from the start
 
S1S2 B.Arch MGU - HOA1&2 Module 3 -Temple Architecture of Kerala.pptx
S1S2 B.Arch MGU - HOA1&2 Module 3 -Temple Architecture of Kerala.pptxS1S2 B.Arch MGU - HOA1&2 Module 3 -Temple Architecture of Kerala.pptx
S1S2 B.Arch MGU - HOA1&2 Module 3 -Temple Architecture of Kerala.pptx
 

SOA UNIT-IV.pdfSOA UNIT-IV.pdfSOA UNIT-IV.pdf

  • 1. UNIT IV WEB SERVICES Service descriptions – WSDL – Messaging with SOAP – Service discovery – UDDI – Message Exchange Patterns – Orchestration – Choreography –WS Transactions ------------------------------------------------------------------------------------------------------------------ - 4.1 Web services framework It is comprised of all of the parts such as technology platform, Web services, service descriptions (WSDL), messages (SOAP), a service description registration and discovery architecture (UDDI) and a well-defined architecture that supports messaging patterns and compositions. The structural relationship between SOA and Web service Figure 1: relationship between SOA and web service • Services (as Web services) – A service is a means of encapsulating various extents of logic. • Every Web service can be associated with: – A temporary classification based on the roles during the runtime processing of a message – A permanent classification based on the application logic and the roles it assumes within a solution environment. • Service roles – A Web service is capable of assuming different roles depending on the context. • the initiator, (Service requestor) • relayer, (intermediaries) • the recipient of a message(service provider)
  • 2. • Service provider – The Web service is invoked via an external source such as a service requestor – The recipient of a request message is classified as a service provider • The service provider may reply to a request message with a response message. • The term "service provider" is used to identify the organization (or individual) responsible for providing the Web service. • 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 is classified as a service requestor. – The sender of the request message is classified as a service requestor – A Web service is always a service provider but also can act as a service requestor – service requestor entity (the organization or individual requesting the Web service) • Intermediaries or intermediary services – Web services and service agents’ route and process a message after it is initially sent and before it arrives at its destination are referred to as intermediaries or intermediary services. Because an intermediary receives and submits messages, it always transitions through service provider and service requestor roles. – Two types of intermediaries.
  • 3. • passive intermediary • Active intermediary • Passive intermediary – It is responsible for routing messages to a subsequent location. – It may use information in the SOAP message header to determine the routing path. • Active intermediaries – It route messages to a forwarding destination. Prior to transmitting a message, these services process and alter the message contents. – Active intermediaries will look for particular SOAP header blocks and perform actions in response to the information. They always alter data in header blocks and may insert or even delete header blocks entirely.
  • 4. • Service compositions – Any service enlists one or more additional services to complete a given task. Further, any of the enlisted services call other services to complete a given sub- task. Therefore, each service participates in a composition as service composition member 4.1.1 Service models • Service models refer to permanent classifications that represent the application logic housed by the service, as well as its business-related role within the solution. – Business service model – Utility service model – Controller service model 4.1.1.1 Business service model • Within an SOA, It encapsulates a distinct set of business logic within a well-defined functional boundary. • It is fully autonomous that are participate in service compositions. 4.1.1.2 Utility service model • Any Web service or service agent designed for reuse can be classified as a utility service. 4.1.1.3 Controller service model • Service compositions are comprised of independent services that execute the overall business task. The controller service is acting as the parent service to service composition members.
  • 5. 4.2 Service description (WSDL) (16 marks) Or Write the WSDL document consisting of abstract and concrete parts for Arithmetic calculator web service (16 marks) – Web service Description language (WSDL) is an XML format for describing web services as a set of endpoints operating on messages containing procedure-oriented information. The operations and messages are described abstractly. – It establishes a loosely coupled form of communication between services. 4.2.1 WSDL definition or Service endpoints and service descriptions • A WSDL describes the point of contact for a service provider known as the service endpoint. • It provides a formal definition of the endpoint interface and establishes the physical address of the service. • Two categories – abstract description – concrete description
  • 6. 4.2.1.1 Abstract description • An abstract description establishes the interface of the Web service without any reference to the technology or enables a Web service to transmit messages. • Three main parts of an abstract description. – portType, operation, and message – The parent portType provides a high-level view of the service interface that includes groups of functions known as operations. – Each operation represents a specific logic or action performed by the service. A service operation is a public method. – Web services rely on messaging-based communication, parameters are represented as messages. Therefore, an operation consists of a set of input and output messages. 4.2.1.2 Concrete description • The abstract Web service interface needs to be connected to a physical transport protocol(SOAP) for its communication. This connection is defined in the concrete description portion of the WSDL file. • Three parts of concrete description : • binding, port, and service – A WSDL description's binding establish physical connections between services. – Simple Object Access Protocol(SOAP) is the common form of binding. A binding can apply to an entire interface or a specific operation. – Port represents the physical address at which a service can be accessed with a specific protocol. – Within the WSDL language, the service is used to refer to a group of related endpoints. 8
  • 7. 4.2.1.4 Service Contract • A service contract comprised of a collection of service descriptions(WSDL) and additional documents(XSD schema, policy, SLA) 4.2.1.5 Semantic descriptions • A semantic description is a supplementary documentation published along with service descriptions (WSDL) to provide sufficient semantic information in a structured manner so that, service requestors can evaluate and choose suitable service providers independently. • Service policies can be designed to express the semantic descriptions of service behavior. 4.2.1.6 Service description advertisement and discovery – Advertising and discovering service descriptions may become necessary for amount of services increases within and outside of organizations. – Universal Description, Discovery, and Integration (UDDI) provides a registry model worth describing. • Private and public registries – UDDI is a accepted standard for structuring registries that keep track of service descriptions These registries can be searched manually and accessed programmatically. – Public registries accept registrations from any organizations. Once signed up, organizations acting as service provider can register their web 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.
  • 8. 4.3 Message with SOAP • SOAP – The Simple Object Access Protocol(SOAP) specification is universally accepted standard transport protocol for messages processed by Web services • All communication between services is message-based, the messaging framework provide standardization for services. • SOAs emphasis on a message-centric application designs that increasing amount of business and application logic is embedded into messages. • The messaging framework can be flexible and highly extensible. 4.3.1 SOAP Messages format (16 marks) • Envelope – SOAP message is packaged into a container known as an envelope. – The envelope is responsible for housing all parts of the message • Header – Header is hosting Meta information. • Body – The actual message contents are hosted by the message body, which consists of XML formatted data. – The contents of a message body are referred to as the message payload
  • 9. 4.3.1.1 Header block • Supplementary Meta information stored in the header area. • Header blocks contain information required for any services with contact to process and route the message based on the rules, instructions, and properties. • Features of message with header blocks : – processing instructions may be executed by service intermediaries or the ultimate receiver – routing or workflow information associated with the message – security measures implemented in the message – reliability rules related to the delivery of the message – context and transaction management information – correlation information (an identifier used to associate a request message with a response message) Example <env:Header> <MaxTime value="10000" role="ultimateReceiver"/> </env:Header> <env:Header> <MaxRelayTime value="10000“ role=“next” relay=“true"/> </env:Header> <maxRelayTime> must be relayed from node to node role=“next” - intermediate node 4.3.1.2 Message styles • SOA relies on document-style messages to enable larger payloads, interface operations, and reduced message transmission volumes between services. – As a result, a single document-style message used by RailCo is capable of providing an invoice, an account statement, and volume discount pricing formulas.
  • 10. 4.3.1.3 Attachments – SOAP attachments are commonly employed to transport binary files, such as images. 4.3.1.4 Faults – SOAP messages offer exception handling logic by providing an optional fault section that can reside within the body area. – The section is store a simple message that deliver error condition information when an exception occurs. Example: <env:Body> <env:Fault> <env: Code> <env: Value> env:Sender</env:Value> </env: Code> <env: Reason> <env:Text>Processing error</env:Text> </env: Reason> </env:Fault> 4.3.1.5 Nodes • The programs that services use to transmit and receive SOAP messages are referred to as SOAP nodes. • A SOAP node transmitting a SOAP message received by the service logic
  • 11. • Node types – The SOAP specification has a different "role" is refers to SOAP types or labels as concepts. – SOAP sendera • SOAP node that transmits a message – SOAP receivera • SOAP node that receives a message – SOAP intermediarya • SOAP node that receives and transmits a message, and optionally processes the message prior to transmission – initial SOAP sender • the first SOAP node to transmit a message – ultimate SOAP receiver • the last SOAP node to receive a message SOAP intermediaries – SOAP intermediary nodes transition through service provider and service requestor roles, – SOAP intermediary nodes move through SOAP receiver and SOAP sender types when processing a message. – Types • Forwarding intermediary nodes • Active intermediary nodes. – Forwarding intermediary nodes • it is responsible for relaying the contents of a message to a subsequent SOAP node • The intermediary will process and alter header block information relating to the forwarding logic it is executing. – Active intermediary nodes • An active intermediary can alter existing header blocks, insert new ones, and execute a variety of supporting actions
  • 12. 4.3.1.6 Message paths • A message path refers to the route taken by a message from when it is first sent until it arrives at its ultimate destination. Therefore, a message path consists of at least one initial sender, one ultimate receiver, and zero or more intermediaries. • The use of header blocks processed by intermediaries can dynamically determine the path of a message. This may be routing logic, workflow logic, or environmental conditions.  A message path determined at runtime Write SOAP request message and response message for arithmetic calculator (8 marks) SOAP input message (Service requestor) <?xml version="1.0" encoding="utf-8"?> <soap:Envelope xmlns:xsi="http://www.w3.org" <soap:Body> <add xmlns="http://tempuri.org/"> <a> int </a> <b> int </b> </add>
  • 13. </soap:Body> </soap:Envelope> SOAP output message (Service provider) <?xml version="1.0" encoding="utf-8"?> </soap:Envelope> <soap:Body> <addResponse xmlns="http://tempuri.org/"> <addResult > int </addResult> </addResponse> </soap:Body> </soap:Envelope> 4.4 Service discovery (UDDI) – (16 marks) • UDDI (2 marks) – UDDI stands for Universal Description, Discovery, and Integration. – UDDI is an XML-based standard for describing, publishing, and finding web services • UDDI has two sections – A registry of all web service's metadata, including a pointer to the WSDL description of a service. – A set of WSDL port type definitions for manipulating and searching that registry 4.4.1 Private and public registries (2 marks) – UDDI is a standard for structuring registries that keep track of service descriptions. – Public registries accept registrations from any organizations. Once signed up, organizations acting as service provider can register their web 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. 4.4.2 Three elements of UDDI.(2 marks) – White Pages, – Yellow Pages, – Green Pages.
  • 14. • White pages – Basic information about the company and its business. – Basic contact information including business name, address, contact phone number, etc. – A Unique identifiers for the company tax IDs. • Yellow Pages – Yellow pages contain more details about the company. – Yellow pages include industry codes, product codes, and business identification codes. • Green Pages – Green pages contain technical information about a web service. • The various interfaces • The URL locations 4.4.3 The basic structure of a UDDI – (16 marks) – business Entity: Detail about company – business Service: Individual web service – binding Template- technical descriptions of the web services 4.4.3.1 business Entity Data Structure(16 marks) or Develop the businessEntity data Structure of UDDI. Assume, IBM is the service provider that provides arithmetic calculator web service (16 marks) • The business entity structure represents the services provider. • This structure contains information about the company including –
  • 15. - contact information – industry categories – business identifiers – list of services provided <businessEntity businessKey = "uuid” operator = "www.ibm.com" authorizedName = "John Doe"> <name>Acme Company</name> <description> We create Arithmetic Web services</description> <contacts> <contact useType = "general info"> <personName>John Doe</personName> <phone>(123) 123-1234</phone> <email>jdoe@acme.com</email> </contact> </contacts> </businessEntity> 4.4.3.2 Business Service Data Structure • The business service structure represents an individual web service provided by the business entity. • Its description includes information on – binding to the web service, – type of web services – Categories it belongs to. <businessService serviceKey = "uuid" businessKey = "uuid:C"> <name> Calculator Web Service</name> <description> Arithmetic calculation</description> </businessService>
  • 16. 4.4.3.3 binding Template Data Structure – Binding templates are the technical descriptions of the web services represented by the business service structure. <bindingTemplate serviceKey = "uuid" bindingKey = "uuid:C00"> <description> Calculator SOAP Binding</description> <accessPoint URLType = "http"> http://localhost:8080 </accessPoint></bindingTemplate> 4.4.3.4 tModel Data Structure • tModel stands for technical model. • tModel is describing the various business, service, and template structures stored within the UDDI registry. <tModel tModelKey = "uuid:xyz987.." operator = "www.ibm.com" authorizedName = "John Doe"> <name> Calculator Interface Port Type</name> <overviewDoc> <overviewURL> http://localhost/ Calculator.wsdl </overviewURL> </overviewDoc> </tModel> 4.5 Message Exchange Pattern (MEP) (8 marks) • A MEP is a interaction pattern to define the message exchange between two services. • Message exchange patterns (MEPs) represent a set of templates that provide a group of sequences for the exchange of messages. • Common example is a request and response pattern. • Types – Primitive MEPs – Complex MEPs
  • 17. 19 4.5.1 Primitive MEPs(2 marks)(Nov 2016) • Request-response • Fire and forget 4.5.1.1 Request-response • This MEP used in distributed application environments that defines synchronous communication • The request-response MEP establishes a simple exchange in which a message is first transmitted from a source (service requestor) to a destination (service provider). • Upon receiving the message, the destination (service provider) then responds with a message back to the source (service requestor). 4.5.1.2 Fire-and-forget • This simple asynchronous pattern is based on the unidirectional transmission of messages from a source to one or more destinations • Types of fire-and-forget MEP – The single-destination pattern, where a source sends a message to one destination only. – The multi-cast pattern, where a source sends messages to a predefined set of destinations. – The broadcast pattern, where the message is sent out to a broader range of recipient destinations.
  • 18. 4.5.3 MEP and SOAP • The SOAP provides a messaging framework designed to support single-direction message transfer. • The SOAP allows messaging characteristics and behaviors to be implemented via SOAP header blocks. • The SOAP provides an optional parameter to identify the MEP associated with a message. 4.5.4 MEP and WSDL • MEPs play a vital role in WSDL as they can coordinate the input and output messages associated with an operation. • The association of MEPs to WSDL operations embeds behavior into the interface definition. • WSDL operations support different configurations of incoming, outgoing, and fault messages. These configurations are referred as message exchange patterns. 4.5.5 WSDL 1.1 specification supports four message exchange patterns (8 marks) • Request-response operation: Service requestor submits a message to service provider, upon receiving a message, the service provider respond with a message or a fault message. • Solicit-response operation service provider submit a message to a service requestor, the service provider expects a standard response message or a fault message. • One-way operation: The service expects a single message and is not obligated to respond. • Notification operation: The service sends a message and expects no response. Figure : The four basic patterns supported by WSDL 1.1
  • 19. 4.5.6 WSDL 2.0 specification support to eight patterns corresponds to MEP. (8 marks) • The in-out pattern is equivalent to the WSDL 1.1 request-response operation. • The out-in pattern, which is the reverse of the previous pattern where the service provider initiates the exchange by transmitting the request. (Equivalent to the WSDL 1.1 solicit- response operation.) • The in-only pattern, which supports the fire-and-forget MEP. • The out-only pattern, which is the reverse of the in-only pattern. It is used primarily in support of event notification. (Equivalent to the WSDL 1.1 notification operation.) • The robust in-only pattern, a variation of the in-only pattern that provides the option for fault response message as a result of a transmission or processing error. • The robust out-only pattern, which, like the out-only pattern, has an outbound message initiating the transmission. The difference here is that a fault message can be issued in response to the receipt of this message. • The in-optional-out pattern, which is similar to the in-out pattern with one exception. In this, the delivery of a response message is optional. This pattern also supports the generation of a fault message. • The out-optional-in pattern is the reverse of the in-optional-out pattern, where the incoming message is optional. Fault message generation is again supported. 4.6 Service Activity (8 marks) Activity An activity is representing a task or a unit of work performed by a set of services. Service Activity (2 marks) The interaction of a group of services working together to complete a task can be referred to as a service activity
  • 20. 4.6.1 Primitive and complex service activities • Primitive activity(2 marks) – Primitive activity is synchronous communication and consists of two services exchanging information using a standard request-response MEP – Primitive activities are almost always short-lived • Complex activities(2 marks) – In complex activities, many services can involve that collaborate to complete multiple processing steps over a long period of time – Ex: composition-oriented concepts, such as choreography and orchestration. 4.7 Coordination (8 marks) • Coordination provides a context management framework using a service composition headed by a coordinator service. • Examples of implementations of this framework are WS-Atomic Transaction and WS- Business Activity.
  • 21. 4.7.1 Coordinator composition This coordinator service controls a composition of other services that each plays a specific part in the management of context data • The coordinator composition consists of the following services: – Activation service: Responsible for the creation of a new context for a particular activity in the context. – Registration service: Allows participating services to use context information received from the activation service to register for a supported context protocol. – Protocol-specific services: These services represent the protocols supported by the coordinator. – Coordinator The controller service of this composition, also known as the coordination service. 4.7.2 Coordination types and coordination protocols • Each coordinator is based on a coordination type, which specifies the underlying logic of an activity for which context information is being managed. • The two coordination types – WS-Atomic Transaction – WS-Business Activity. • Coordination type extensions provide a set of coordination protocols, which represent unique coordination types and consist of a collection of specific behaviors and rules. • A protocol is a set of rules that are imposed on activities and all registered participants must follow.
  • 22. 4.7.3.2 Coordination and SOA • A coordinator-based context management framework, as provided by WS-Coordination and its supporting coordination types, introduces a layer of composition control to SOAs • It standardizes the management and interchange of context information within a variety of key business protocols. 4.8 Orchestration (8 marks) • Organizations employed enterprise application integration (EAI) middleware to integrate various legacy environments. • In these systems, a centrally controlled set of workflow logic facilitates interoperability between different applications. Ex: WS-BPEL • Orchestration represent business logic and services-based venue • A common implementation of orchestration is the hub-and-spoke model that allows multiple external participants to interface with a central orchestration engine. • With orchestration, different processes can be connected without redevelop the solutions for automated process. Advantages: • Orchestration can significantly reduce the complexity of solution environments. • Workflow logic is abstracted and more easily maintained
  • 23. 4.8.1 Business protocols and process definition (2 marks) – The workflow logic comprises an orchestration that consists of numerous business rules, conditions, and events. – Collectively, these parts of an orchestration establish a business protocol that defines how participants (spoke) interoperate to achieve the completion of a business task. – The details of the workflow logic encapsulated and expressed by an orchestration are contained within a process definition 4.8.2 Process services and partner services – The process itself is represented as a process service – Identified process definitions are allowing the process participants. – Other services allowed to interact with the process service are identified as partner services or partner links. – Depending on the workflow logic, the process service can be invoked by an external partner service
  • 24. 4.8.3 Basic activities and structured activities – WS-BPEL breaks down workflow logic into a series of predefined primitive activities such as receive, invoke, reply, throw, and wait. – Basic activities represent workflow actions which can be assembled using the logic supplied by structured activities (sequence, switch, while, flow, pick). 4.8.3.1 Sequences, flows, and links • Sequence – A sequence aligns groups of related activities into a list that determines a sequential execution order. In Sequences, one piece of application logic is dependent on the outcome of another. • Flows – Flows also contain groups of related activities, but they introduce different execution requirements. Pieces of application logic can execute concurrently within a flow, meaning that there is not necessarily a requirement for one set of activities to wait before another finishes. • Links – Links are used to establish formal dependencies between activities that are part of flows. Before an activity fully can complete, it must ensure that any requirements established in outgoing links first are met. Similarly, before any linked activity can begin, requirements contained within any incoming links first must be satisfied. Rules provided by links are also referred to as synchronization dependencies 4.8.4 Orchestrations and activities • An activity can be applied to any logical unit of work completed by a service-oriented solution. • The scope of a orchestration can be classified as a complex and long-running activity 4.8.5 Orchestration and coordination • Orchestration is represented by WS-BPEL, can fully utilize the Coordination context management framework by incorporating the coordination type. • The coordination protocols designed to support complex, and long-running activities
  • 25. 4.8.6 Orchestration and SOA • Orchestration provides an automation model where business process logic is centralized yet still extensible and composable . • Through the use of orchestrations, service-oriented solution environments become extensible and adaptive. • Orchestrations themselves typically establish a common point of integration for other applications, which makes an implemented orchestration a key integration enabler 4.9 Choreography (8 marks) • The goal is to establish a collaboration pattern between services representing different organization. • Choreographies consist of multiple participants that can different roles with different relationships. • Choreographies are reusable, composable, and can be modularized. • The concept of choreography extends the SOA vision to standardize cross-organization collaboration. 4.9.1 WS-CDL (Web Services Choreography Description Language) (2 marks) The WS-CDL is the specifications that organize information exchange between multiple organizations (or even multiple applications within organizations), with an emphasis on public collaboration
  • 26. Ex: Retailer – distributor 4.9.2 Collaboration – The goal is to establish a collaboration pattern between services representing different organization. – Choreographies establish universal interoperability patterns for inter-organization business tasks. – It can be applied to enable collaboration between applications belonging to a single organization. It use orchestration techniques. 4.9.3 Roles and participants – Within choreography, a Web service assumes predefined roles. This establishes what the service can do within the context of a particular business task. – Related roles are grouped accordingly, categorized as participants (services).
  • 27. 4.9.4 Relationships and channels – Every action within choreography can be broken down into a series of message exchanges between two services. Each exchange between two roles in choreography is defined as a relationship. Every relationship consequently consists of exactly two roles. – Channels define the characteristics of the message exchange between two specific roles. it fosters dynamic discovery and increases the number of participants within large-scale collaborative tasks. 4.9.5 Interactions and work units o Finally, the actual logic behind a message exchange is encapsulated within an interaction. o An interaction represents actual progress within choreography. o Related to interactions are work units. These impose rules and constraints that must be adhered for an interaction to successfully complete 4.9.6 Reusability, composability, and modularity • Each choreography can be designed in a reusable manner, allowing it to be applied to different business tasks comprised of the same fundamental actions. • Choreography can be assembled from independent modules. These modules can represent distinct sub-tasks and can be reused by different parent choreographies.
  • 28. 4.9.7 Orchestrations Vs choreographies (Comparison) (2 marks) • Orchestrations – An orchestration expresses organization-specific business workflow. An organization owns and controls the logic, even if that logic involves interaction with external business partners. – Service orchestration represents a single centralized executable business process (the orchestrator) that coordinates the interaction among different services • choreographies – The goal is to establish a collaboration pattern between services representing different organization. – The decision logic is distributed, with no centralized point 4.9.8 Choreography and SOA • Choreography can assist in the realization of SOA across organization boundaries. • Choreography supports composability, reusability, and extensibility, also increase organizational agility and discovery. • Organizations are able to join into multiple online collaborations, which can dynamically extend or even alter related business processes that integrate with the choreographies.
  • 29. • WS- AtomicTransaction is a coordination type that supplies three coordination protocols that can be used to achieve two-phase commit transactions across multiple service participants. • The atomic transaction coordinator makes the ultimate decision to commit or rollback a transaction. This decision is based on votes collected from participants. • Atomic transactions apply an all-or- nothing requirement to work performed as part of an activity • Contemporary SOAs can incorporate cross-service, ACID-type transaction features by using WS-AtomicTransaction. 4.10.1 ACID transactions The WS- AtomicTransaction protocols enable cross-service transaction functionality in distributed application platforms. – Atomic • Either all of the changes within the scope of the transaction succeed, or none of them succeed. This characteristic introduces the need for the rollback feature that is responsible for restoring any changes completed as part of a failed transaction to their original state. – Consistent • None of the data changes made as a result of the transaction can violate the validity of any associated data models. Any violations result in a rollback of the transaction.
  • 30. – Isolated • If multiple transactions occur concurrently, they may not interfere with each other. Each transaction must be guaranteed an isolated execution environment. – Durable • Upon the completion of a successful transaction, changes made as a result of the transaction can survive subsequent failures. 4.10.2 Atomic transaction protocols (2 marks) • WS-Atomic Transaction is an extension of WS-Coordination context management framework. • To participate in an atomic transaction, a service first receives a coordination context from the activation service. It can subsequently register for available atomic transaction protocols. • Transaction protocols : – A Completion protocol is used to initiate the commit or abort states of the transaction. – The Durable 2PC protocol for which services representing permanent data repositories should register. – The Volatile 2PC protocol to be used by services managing temporary data. • Most often these protocols are used to enable a two-phase commit (2PC) that manages an atomic transaction across multiple service participants. 4.10.3 The atomic transaction coordinator – When WS-Atomic Transaction protocols are used, the coordinator controller service can be referred to as an atomic transaction coordinator. – The atomic transaction coordinator plays a key role in managing the participants of the transaction process and in deciding the transaction's ultimate outcome.
  • 31. 4.10.4 The atomic transaction process – The atomic transaction coordinator is responsibility of deciding the outcome of a transaction. The decision is based on receives feedback from all of the transaction participants. – The collection of feedback is separated into two phases. • Prepare phase, all participants are notified by the coordinator, and each is asked to prepare and then issue a vote. Each participant's vote consists of either a "commit" or "abort" request • Commit phase. It now reviews all votes and decides whether to commit or rollback the transaction. 4.10.5 Atomic Transaction and SOA – More services emerge within an organization and as service compositions become more commonplace, the need to move transaction boundaries into cross-service interaction scenarios increases. Being able to guarantee an outcome of an activity is a key part of enterprise-level computing, and atomic transactions therefore play an important role in ensuring quality of service. – Not only do atomic transactional capabilities lead to a robust execution environment for SOA activities, they promote interoperability when extended into integrated environments.
  • 32. This allows the scope of an activity to span different solutions built with different vendor platforms, while still being assured a guaranteed all-or-nothing outcome.