Chapter8 AdvancedWebServices
Chapter8 AdvancedWebServices
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
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
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
• Process
• Partner links
• Data handling
• Properties and correlation
• Basic and structured activities
• Scopes
4
27/05/2015
process
Declare dependencies on Declare namespaces of
external XML Schema or WS-BPEL extension
WSDL definitions imports extensions attributes and elements
Concurrently process
event fault Deal with exceptional
inbound messages or
handlers handlers situations in a process
timer alarms
Basic Activities
process
5
27/05/2015
Structured Activities
process
<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
7
27/05/2015
invoke
reply
8
27/05/2015
order charge
tickets credit card
send send
confirmation tickets
flow
riskAssessmentPT loanApprovalPT
amount < 10000 amount >= 10000
receive
risk = "high"
loan invoke invoke loan
assessor approver
assign
risk = "low" approved = "true"
approved = "false"
reply
9
27/05/2015
10
27/05/2015
Translation Process
receive document
automatic manual
translation translation
reply translation
Org Database
11
27/05/2015
• 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
12
27/05/2015
WS-Coordination Specification
A WS-Coordination service
keeping track of an
activity’s coordination
context
WS-Transaction specification
13
27/05/2015
Security
14
27/05/2015
15
27/05/2015
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 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.
17
27/05/2015
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
19