0% found this document useful (0 votes)
3 views19 pages

Chapter8 AdvancedWebServices

The document outlines advanced web service technologies, focusing on key standards such as UDDI, SOAP, and WSDL, as well as the evolution of web service standards from first to second generation. It discusses the significance of WS-BPEL for orchestrating business processes and the integration of human tasks through BPEL4People and WS-HumanTask. Additionally, it covers essential aspects of security, reliable messaging, and transaction management in web services.

Uploaded by

jamesblanco1202
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
3 views19 pages

Chapter8 AdvancedWebServices

The document outlines advanced web service technologies, focusing on key standards such as UDDI, SOAP, and WSDL, as well as the evolution of web service standards from first to second generation. It discusses the significance of WS-BPEL for orchestrating business processes and the integration of human tasks through BPEL4People and WS-HumanTask. Additionally, it covers essential aspects of security, reliable messaging, and transaction management in web services.

Uploaded by

jamesblanco1202
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 19

27/05/2015

Advanced Web Service Technologies

Dr. Amor Lazzez

Office location: Tarbia Campus (C/ 306)


Phone: 0549071465 (cell)
Email: [email protected]

502510-3/Systems-Integration
Week 12
Source: These slides are largely prepared based on Chapter 4 from textbook “Service-Oriented Architecture: A Field Guide to
Integrating XML and Web Services” by Thomas Erl

Key and Basic Web service standards

1
1. Use UDDI to search for
services
2
– Use SOAP to access UDDI 3
– Search using key words
2. Download WSDL
document from UDDI for
selected service 4
3. Use URI information from
WSDL document to
invoke the service using
SOAP
4. After the services accepts
your request, then your First Generation
application and the Web Service Standards:
service can exchange WSDL, SOAP, and UDDI
data using SOAP

1
27/05/2015

High-level Relationships between First- and


Second-Generation Web Service Standards
• Business Processes
– WS-BPEL
• Context and transaction
management
– WS-Coordination and WS-
Transaction
• Security
– WS-Security
• Reliable messaging
– WS-Reliable Messaging
• Policies
– WS-Policy

WS-BPEL Specifications

2
27/05/2015

Business Processes
• Business Processes not only play a key role in Business-to-
Business (B2B) and Enterprise Application Integration (EAI)
scenarios by exposing the appropriate invocation and
interaction patterns but they are the fundamental basis for
building heterogeneous and distributed applications
(workflow-based applications).
• In order to compose Web services into a structured workflow,
a standard vocabulary is required.
• WS-BPEL provides a process description vocabulary that can
be compiled into runtime scripts, executable by middleware
products that support orchestration.
• WS-BPEL along with other business process vocabularies,
brings Web services into the realm of systems integration.

WS-BPEL Specification
• Web Services Business Process Execution Language (WS-
BPEL) provides the language to specify business processes
that are composed of Web services as well as exposed as
Web services.
• Business Processes specified via WS-BPEL are portable;
they can be carried out by every WS-BPEL compliant
execution environment.
• BPEL processes can automate both simple and complex
interactions between Web services
– Supporting business transactions
– Correlating message exchanges
– Implementing parallel processing of activities
– Mapping data between partner interactions
– Providing consistent exception and recovery handling

3
27/05/2015

BPEL Historical Timeline


• BPEL is the Web Services Orchestration standard from OASIS
– http://www.oasis-open.org/committees/tc_home.php?wg_abbrev=wsbpel
• December 2000
– Microsoft publishes XLANG
• March 2001
– IBM publishes WSFL
• July 2002
– IBM, Microsoft and BEA converge WSFL & XLANG into BPEL4WS 1.0
• March 2003
– BPEL4WS is submitted to OASIS
• May 2003
– OASIS publishes BPEL4WS 1.1
• April 2007
– WS-BPEL 2.0 released

WS-BPEL Language Structure

• Process
• Partner links
• Data handling
• Properties and correlation
• Basic and structured activities
• Scopes

4
27/05/2015

WS-BPEL Process Definition

process
Declare dependencies on Declare namespaces of
external XML Schema or WS-BPEL extension
WSDL definitions imports extensions attributes and elements

Relationships that a WS- Relationship between


BPEL process will employ partner message inbound and outbound
in its behavior links exchanges message activities

Data holding state of a Application data fields


correlation
business process or variables that together identify a
sets
exchanged with partners conversation

Concurrently process
event fault Deal with exceptional
inbound messages or
handlers handlers situations in a process
timer alarms

Perform the process logic primary


– any number of activities activity
may be recursively
nested

Basic Activities
process

Do a blocking wait for a Immediately terminate


matching message to arrive / receive reply exit execution of a business
send a message in reply process instance
Invoke compensation on
Invoke a one-way or invoke compensate all completed child scopes
request-response operation in default order

Update the values of Invoke compensation on


assign compensateScope
variables or partner links one completed child scope
with new data
Validate XML data stored Wait for a given time
validate wait period or until a certain
in variables
time has passed

Generate a fault from inside throw empty No-op instruction for


the business process a business process

Forward a fault from inside Wrapper for language


rethrow extensionActivity
a fault handler extensions

5
27/05/2015

Structured Activities
process

Contained activities are flow pick Block and wait for a


executed in parallel, A suitable message to arrive
partially ordered through
B C M1 M2 … A (or time out)
control links

Contained activities are sequence forEach Contained activity is


performed sequentially in performed sequentially or
lexical order 1. 2. … N. 1. 2. … N. in parallel, controlled by a
specified counter variable

Contained activity is while if-elseif-else Select exactly one branch


repeated while a predicate of activity from a set of
c1 c2
holds c … choices

Contained activity is repeatUntil scope Associate contained activity


repeated until a predicate with its own local variables,
holds c partner links, etc.,
and handlers

Nesting Structured Activities


sequence
<sequence>
<receive .../>
receive
<flow>
<sequence> flow

<invoke .../>
sequence sequence
<while ... >
<assign>...</assign>
</while> invoke receive

</sequence>
<sequence> while invoke
<receive .../>
<invoke ... /> assign
</sequence>
</flow>
<reply .../>
reply
</sequence>

6
27/05/2015

Scopes
Scopes provide a context process
which influences the
execution behavior of its scope
enclosed activities scope

Local declarations –
partner links, message scope
exchanges, variables, scope

correlation sets
Local handlers – event
handlers, fault handlers, a
termination handler, and a
primary activity
compensation handler scope

Isolated scopes provide


control of concurrent scope scope
access to shared scope Termination handler to deal
resources scope with forced scope termination
(external faults)
Compensation handler to
undo persisted effects of
already completed activities

BPEL Process Service orchestrates


invocation of internal Services

After being accessed by the external


An external partner service accessing
partner service, the process service
a process service.
invokes another service.

7
27/05/2015

Basic activities involved in a simple


interaction scenario

Composition of Web Services


Travel Agent Service P
Flight Service B

Hotel Service A receive


Car Rental
sequence
invoke Service C
invoke

invoke

reply

A’s WSDL P’s WSDL P’s WSDL B’s WSDL

Partner Link Type


Partner Link Type
P’s WSDL C’s WSDL

Partner Link Type

8
27/05/2015

Flight Reservation - Example

Traveler Process Agent Process Airline Process

plan get get


trip itinerary order

submit select reserve


to agent airline seats

order charge
tickets credit card

receive receive receive confirm


confirmation tickets confirmation flight

send send
confirmation tickets

Loan Processing Example

flow
riskAssessmentPT loanApprovalPT
amount < 10000 amount >= 10000
receive

risk = "high"
loan invoke invoke loan
assessor approver
assign
risk = "low" approved = "true"

approved = "false"
reply

1. A customer asks for a loan, providing name and amount info


2. Two services are involved:
a) A risk assessor which can approve the loan if the risk is low
b) A loan approver which checks the name and approves/disapproves the loan
3. The reply is returned to the customer

9
27/05/2015

WS-BPEL Adoption: Products


• Active Endpoints ActiveBPEL
• BEA WebLogic
• Cape Clear Orchestrator
• Intalio/Apache Orchestration Director Engine (Ode)
• IBM WebSphere Process Server
• Microsoft BizTalk Server
• MidOffice BPEL Engine (open source)
• OpenLink Virtuoso Universal Server
• Oracle BPEL Process Manager
• Parasoft BPEL Maestro
• Progress Sonic BPEL Server
• SAP NetWeaver
• Sun eInsight BPM

BPEL4People & WS-HumanTask


• Integration of human-executed activities in Web services-
based business processes
• Integration of human-executed activities in SOA-based
applications
• Standard-based solution to support interoperability and
portability scenarios
• BPEL4People
– Definition of human interactions within WS-BPEL processes
– Specification built on top of WS-BPEL 2.0
• WS-HumanTask
– Definition of service-enabled human tasks and notifications
– Coordination protocol used to control autonomy and life cycle of
service-enabled human tasks in an interoperable manner
– Interoperable programming interface enabling task client applications
to work with human tasks

10
27/05/2015

BPEL4People: Web Service vs. Human Task

Translation Process

receive document

automatic manual
translation translation

Web Service Endpoint Abstract Organizational Group

reply translation

BPEL4People: People Links and People Resolution

Brochure Creation Process

Org Database

create Deployment Descriptor Departments


Select staff Department1
Where Member1
"Authors"
qualification Member2
= ...
"tech writer" Department2
...
Users
approve Group1
Member1
Deployment Descriptor Member2
...
Select staff Group2
"Approvers" Where ...
responsibility Roles
= Role1
revise "marketing" Member1
Member2
...
Role2
...

11
27/05/2015

BPEL4People & WS-HumanTask – Benefits

• BPEL4People
– Enable unified design tools for automated Web services-based
business processes and human-centric processes
– Enable unified monitoring environments for automated Web services-
based business processes and human-centric processes
– Interoperate and integrate with BPEL4People-aware environments

• WS-HumanTask
– Leverage UI technology that can consume and execute tasks from
different task engines
– Build and leverage vendor neutral task-aware applications
– Interoperate and exchange work with other WS-HumanTask-aware
environments

Context and Transaction Management


• Without an active, stateful context, Web services act
independently and cannot support distributed transaction.
• Loosely coupled nature of Web services requires an
approach to maintaining a persistent activity context.
– Structured protocols are required to dictate behavioral aspects of
services that participate in the activity.
• When a group of services collectively interact to execute a
unit of programming logic, it will often be required for these
services to share a common context.
– Each activity receives an identity that is propagated to participating
services.
• WS-Coordination standard provides a context management
system, which is applied to support atomic and long-running
transactions, using protocol described in the WS-Transaction
specification.

12
27/05/2015

WS-Coordination Specification

A WS-Coordination service
keeping track of an
activity’s coordination
context

A coordinator service used to manage a


coordination context.

WS-Transaction specification

• WS-Transaction specification defines two


coordination types
– Atomic transactions
• ACID type functionality – commit and rollback mechanisms, where
the activity either successfully completes as a whole, or is returned
to its original state.
• During execution, resources involved with the activity are often
locked and remain in suspension until the transaction finishes.
• Execution duration lasts maximum few minutes.
– Business activities
• Used for context to be preserved for long-running transactions.
• Transactions that can last hours or even days to complete.
• Resources typically are not locked.

13
27/05/2015

Security

• Organizations are reluctant to expose their business


process over the Internet without security.
• WS-Security framework institutes a thorough
security model consisting of a stack of
complementary standards.
• WS-Security framework establishes security
measures to protect SOAP messages throughout a
message path, and supports the creation of policies
and the unification of trust boundaries.
• The core WS-Security specifications are further
supplemented by a series of established XML
security standards.

Security Concepts – Identification and


Authentication

Identification of the sender by the recipient.

Authentication of the sender by the recipient.

14
27/05/2015

Security Concepts – Authorization, Integrity and


Confidentiality

Recipient assesses the authorization level of the sender.

The integrity of a message is questioned by the recipient.

The confidentiality of a message is questioned by the recipient.

WS-Security allows for claims to be


represented within standard security tokens

15
27/05/2015

Security Roles and Specifications


Identification WS-Security Framework
Authentication Extensible Access Control Markup Language (XACML)
Authorization Extensible Rights Markup Language (XrML)
XML Key Management Systems (XKMS)
Security Assertion Markup Language (SAML)
.NET Passport
Confidentiality WS-Security Framework
XML-Encryption
Secure-Sockets Layer (SSL)
Integrity WS-Security Framework
XML-Signature

Reliable Messaging
• In order for a solution to be truly robust, its communications
framework must be fail safe.
• This requires a system for the guaranteed delivery of a
message, which includes a way of communicating delivery
failures.
• WS-Reliable Messaging provides such a system, along with
a set of policies that can be used to support delivery-related
business rules.
– Reliable messaging exists within SOAP header blocks, which are
processed by SOAP receivers along a message path
– Can be used in conjunction with WS-Security, WS-Policy, WS-
Coordination, and WS-Transaction

16
27/05/2015

WS-ReliableMessaging mechanism for guaranteed delivery of


a SOAP message

WS-ReliableMessaging establishes a
standard method of notifying the message
sender of the success or failure of the
delivery.
This notification is accomplished through an acknowledgement that is sent either as
a separate message that is sent either as a separate message, or as an embedded
within the response generated by the message recipient.

Failed delivery is followed by another


delivery attempt

17
27/05/2015

Successful delivery of a message being


confirmed with an acknowledgement

WS-ReliableMessaging
can also guarantee that
sequence of messages
are delivered in the order
in which they are sent.

Policies
• For organizations using SOA, it would be useful to be able to
abstract high-level business rules, security rules, and
descriptive properties so that they can be applied to groups
of services as policies.
• WS-Policy framework consists of a set of specifications that
allow for the description of such policies, as well as a
standard means of attaching them to Web services.
• WS-Policy framework relies on the WS-PolicyAssertions and
WS-PolicyAttachments specifications as a means of defining
and associating a policy assertion to a message
• Other standards, such as WS-Security and WS-
ReliableMessaging depend on the use WS-Policy features

18
27/05/2015

Service-Oriented Enterprise (SOE)


• The driving motivation behind extending the capabilities of
the first-generation Web services framework is to empower
service-oriented architecture to represent and even improve
upon the range of business functions required for
contemporary enterprises.
• The army of second-generation Web service specifications
that have emerged position SOA as a viable successor to
prior distributed platforms.
• Their feature sets continue to broaden, as do vendor-
sponsored variations of the specifications themselves.
• The continuing maturity of these standards and their
implementations set the stage for the viable evolution of a
service-oriented enterprise.

19

You might also like