2. Agenda
Background
Fault Classification
Implemented Fault Propagation
Conclusion and Outlook
presented by Oliver Kopp 2
3. Background
Context:
Web Services (WS‐*)
Processes as orchestrations of Web Services (WS‐BPEL)
Web Services Business Process Execution Language
Concrete Setting:
Networked interactions
Communication faults
Assumption:
No runtime environment failures
Components correctly implemented by themselves
presented by Oliver Kopp 3
5. Web Service Stack
BPEL WS‐C, …
Components
Atomic Composite
Quality WS‐Reliable WS‐AT,
WS‐Security
of Service Messaging WS‐BA
Description WSDL WS‐Policy
Messaging SOAP WS‐Adressing JMS …
“Binding”
Transport HTTP SMTP RMI/IIOP JMS …
Communication TCP/IP …
Curbera, F. et al.: Web Services Platform Architecture: SOAP, WSDL, WS‐Policy, WS‐Addressing, WS‐BPEL,
presented by Oliver Kopp WS‐Reliable Messaging and More. Prentice Hall PTR (2005) 5
6. Message Passing Through the Layers
Components (BPEL)
A Q I
Quality of Service
(WS‐Reliable Messaging)
B P H J
Messaging (SOAP)
C O G K
Transport (HTTP)
D N F L
Communication (TCP/IP)
Sending E Receiving
Application M Application
presented by Oliver Kopp Default flow Exception flow 6
7. Component
Communication Layer Quality of Service
Messaging
All protocols and mechanisms of Transport
OSI Layered Network Model Layers 1 to 6 Communication
Examples of faults (TCP/IP)
Connectivity faults (arc E)
Data integrity faults (arcs E and M)
Transport (HTTP)
D L
N F
E
Communication (TCP/IP) M
Sending Receiving
presented by Oliver Kopp Application Application 7
8. Component
Transport Layer Quality of Service
Messaging
OSI Layered Network Model layer 7 Transport
Examples of faults (HTTP) Communication
4xx Client‐side faults
403 Forbidden
5xx Server‐side faults
503 Service Unavailable
Messaging (SOAP)
C K
O G
Transport (HTTP)
D L
N F
Communication (TCP/IP)
Sending Receiving
presented by Oliver Kopp Application Application 8
9. Component
Messaging Layer Quality of Service
Messaging
SOAP processing Transport
Examples for faults Communication
MustUnderstand fault
Sender fault
Receiver fault
Quality of Service (WS‐RM)
B J
P H
Messaging (SOAP)
C K
O G
Transport (HTTP)
Sending Receiving
presented by Oliver Kopp Application Application 9
10. Component
Quality of Service Layer Quality of Service
Messaging
Reliable Transfer of Messages Transport
i.e., at least once semantics Communication
Implemented by sequences of numbers
If sequence is not acknowledged in time, a
SequenceTerminated fault is propagated
Components (BPEL)
A
Q I
Quality of Service (WS‐RM)
B J
P H
Messaging (SOAP)
Sending Receiving
presented by Oliver Kopp Application Application 10
11. Component
Component Layer Quality of Service
Messaging
Faults: No communication faults Transport
Faults described by component interface Communication
(WSDL)
Sent back to the caller
Faults occurring in the component implementation
Specified ways for interface layer faults
No specified ways to treat faults on lower layers
Components (BPEL)
A
Q I
Quality of Service (WS‐RM)
Sending Receiving
Application Application
presented by Oliver Kopp 11
12. Message Passing Through the Layers
Components (BPEL)
A Q I
Quality of Service
(WS‐Reliable Messaging)
B P H J
Messaging (SOAP)
C O G K
Transport (HTTP)
D N F L
Communication (TCP/IP)
Sending E SOAP Receiving
Application M
Intermediary Application
presented by Oliver Kopp Default flow Exception flow 12
14. Implementation Inspected
Components (BPEL) ODE
Quality of Service Sandesha
(WS‐Reliable Messaging)
Axis
Messaging (SOAP)
Transport (HTTP) HTTP
Components
Communication (TCP/IP) java.io
Application
presented by Oliver Kopp 14
15. Apache ODE
BpelRuntimeContext
Key object to call required functionality
invoke method
SoapExternalService
Axis2: OutInAxisOperationClient
Java Exception: failure method of parent
SOAP fault: completed method of parent
presented by Oliver Kopp 15
16. Axis 2 Architecture
AxisFault MessageContext
AbstractMessageReceiver
OutInAxisOperationClient HTTPTransportReceiver
SandeshaInHandler
SandeshaOutHandler
CommonsHTTPTransportSender
presented by Oliver Kopp http://ws.apache.org/axis2/1_4_1/userguide.html 16
18. Conclusions and Outlook
Overview on the fault handling on all layers
in the Web service Stack
Overview on one implementation
Coordinating distributed fault handling using BPEL
BPEL‐based SOAP routing
Scheibler, T.; Karastoyanova, D. & Leymann, F.
Dynamic Message Routing Using Processes, KiVS 09, Springer, 2009
presented by Oliver Kopp 18