clappingknaveSoftware and s/w Development

Dec 14, 2013 (8 years and 2 months ago)


Service Oriented

Burr Watters

Tasha Wells

April 5, 2004


What Service Oriented Computing?

Service Oriented Architecture

Web Service Componentization

Service Composition



Contracts and Port Types

Web Service Transactions

What is Service Oriented

It is the paradigm for distributed computing to
enable application networks to be built using
services as fundamental elements for
developing applications.

Service Oriented Architecture

Management Level

Operations Management:

Support critical applications that require organizations to manage the service
platform, the applications and the deployment of services.

The organization responsible for these functions is known as the service

Market Management:

Administration of the marketplace and maintenance to guarantee the
administration is open for business.

The creator/maintainer of a marketplace is known as the market

Composition Level

Allows consolidation of multiple services into a single composite
service using the following functionality:


Controls the execution of component services and manages the
dataflow between them.


Monitors events or information produced by component services.


Ensures consistency of composite services by matching parameter
types with parameters of component services

imposes constraints on component services to enforce business

Quality of Service (QoS) composition:

Combines the component’s QoS to determine the composite QoS
such as overall cost, performance and security.

Description/Integration Level

Creation of composite service through the following functions:

Service description:

Communicates the service’s capabilities/functionalities, interface,
behavior, cost and quality of service.

Service discovery:

Locates appropriate services using requirements and selection criteria.

Service delivery:


request for specified service according to agreed terms and


the agreed
upon service is supplied within the period agreed
to in the contract.


establish point where the service will no longer be needed.

Service composition:

Composes service from lower
level services in which the previous three
functions are known.

Description/Integration Level

Service Protocols

Simple Object Access Protocol (SOAP)

Provides a format for communicating between web

Web Services Description Language (WSDL)

Provides the definition interface for web components
to communicate.

Universal Description, Discovery, and Integration

Provides a directory that can be used to locate
available services and learn their details.

Web Service

Web Service

Service Composition

Componentized model becomes a natural

Services become the building blocks of an application.

Service compositions become the “glue” which binds the

Web services must provide standards on:

An interoperability communication protocol,

Mechanisms for service description, discovery, and
communication, and

Quality of Service

The Web Services Stack

Business Process Execution Language for Web
Services (BPEL4WS)

BPEL (for short)

Standardized by the Organization for the
Advancement of Structured Information Standards

Provides a mechanism for defining service
compositions in the form of choreographies of Web

A choreography consists of the aggregation of
services to certain business rules.

BPEL Interactions

BPEL composition are called processes.

Services that interact with each other are partners.

Business Protocols


BPEL composition defines the message
exchange between partners.

Partnerships are declared through the WSDL
interfaces that are specified in the BPEL

WSDL provides the abstraction between service
description and service deployment.

Provides multi
protocol access to services.

Business Protocols


Facilities the message exchange between the
process and its partners.

Complex algorithm are created using

Primitive Activities

Signaling faults, Terminating process execution,
Manipulating data

Structured Activities

Sequence, Switch, While, Pick, Flow

Message Correlation

Tracks messages received from one partner to another in a
particular conversation.

Fault Handling and Compensation

Provides a fault handling to deal with errors
that may occur in an application.

Similar to a “try
catch” block.

Compensation is the process of rolling back
actions that have been completed before a
fault occurred.

Scopes determine how fault handling /
compensation are resolved in a process.

Closed tied to WS


Framework for pluggable coordination models.

Allows a set of independently distributed services to
reach a consistent and defined outcome.

Elements of WS


extensible context representing the
coordination that is propagated to the distributed


used by clients to create a coordination


used by participants to register resources for
inclusion in specific coordination protocols.

Coordinating BPEL Web Services

Behavioral Aspects of Service

Connectivity is great, but most of the
complexity comes with interoperating

Web services have the autonomy to run
independently of each other.

The heterogeneity of the web causes
processes to be written in any language
under any assumptions.

Port Types

A service can send any message to a port a
process may be running on and expect a

The port must be able to understand the

Thus, port types describes to the requesting
service what messages the port will respond

Convenient because programmers do not have to
code for erroneous messages.


Port types do not describe:

Quality of Service


Execute Order

These are prescribed in a contract

Sets the communication protocol for using the port.

Disciplines the channels of communication between
service and port.

Allows the service to eliminate ports whose service
agreements do not conform to its needs.


Specifies two types of coordination activities.

Atomic Transaction

running transactions.

Allows the transaction to hold the resources being used by the
service operations.

All resources must be committed before transaction succeeds.

Similar to the two
phase commit protocol.

Business Activity

running business transactions.

Resources are not held; business logic provides error handling.

Allows for participants to register and leave the activity at will.

Participants can declare its outcome before being asked.

Web Service Transactions

Example of Two
Phase Commit Protocol

Are ACID transactions too strong?

Could hold a service until the transaction is completed.

Thus, making it available to other services.

Web Service Transactions

Long running activities


“Logical” long running activities

Each transaction is confirmed and release when done.

In the event of a rollback, certain compensation activities
must may be necessary to get the system back to a
consistent state.

Business Transaction Protocol


Developed by Oasis

Gives the appearance of a two
phase commit
protocol without have ACID characteristics

top commit protocol

Executes entire two
phase commit protocol before
returning an outcome

Verbs: begin, commit, and rollback

to commit protocol

Allows the application to control the time between the two
phase commit protocol

Verbs: prepare, confirm, and cancel

Business Transaction Protocol


BTP introduced two types of extended transactions

Atom Transactions

Traditional method of performing transactions.

All participants see the same outcome.

Cohesion Transactions

Allows business logic to confirm/cancel transaction.

Sets a “cohesion” scope for entire transaction.

Creates Atom scopes for services to “enroll” in.

These Atom scopes come with caveat.

That it may be “canceled” or “prepared”.

That it could take some time before arriving at its “confirm

Once the “confirm
set” has been reached, then the cohesion
collapses to a atom and the participates see the resulting


Service Oriented Architecture

Management, Composition, and Description/Integration

Web Service Componentization

Service Composition


Interactions, Protocols, Fault Handling and Compensation


Contracts and Port Types


Web Service Transactions and BTP


Papazoglou, M. & Georgakopoulos, D.
Service Oriented Computing
Communications of the
. October 2003. p 25.

Curbera, F., Khalaf, R., Mukhi, N., Tai, S., & Weerawarana, S. The Next Step in Web Services.
Communications of the ACM
. October 2003. p 29.

Yang, J.
Web Service Componentization
Communications of the ACM
. October 2003. p 35.

Meredith L. & Bjorg, S.
Contracts and Types
Communications of the ACM
. October 2003.
p 41.

Little, M.
Transactions and Web Services
Communications of the ACM
. October 2003. p 49.

Tuner, M., Budgen, D., & Brereton, P.
Turning Software into a Service
IEEE Computer
October 2003. p 38.

Curbera, F., Duftler, M., Khalaf, R., Nagy, W., Mukhi, N., & Weerawarana, S.
Unraveling the
Web Services Web: An Introduction of SOAP, WSDL, and UDDI
IEEE Internet
. March/April 2003. p 86.


Thank you!