presented by Oliver Kopp 1
Oliver Kopp, Frank Leymann, Daniel WutkeInstitute of Architecture of Application Systems (IAAS)
www.iaas.uni‐stuttgart.de
Fault Handling in theWeb Service Stack
www.compas‐ict.eu
The Eighth International Conference on Service Oriented Computing (ICSOC 2010)http://www.icsoc.org/
presented by Oliver Kopp 2
Agenda
Background
Fault Classification
Implemented Fault Propagation
Conclusion and Outlook
presented by Oliver Kopp 3
Background
Context:Web Services (WS‐*)Processes as orchestrations of Web Services (WS‐BPEL)
Web Services Business Process Execution Language
Concrete Setting:Networked interactionsCommunication faults
Assumption:No runtime environment failuresComponents correctly implemented by themselves
Fault Classification
presented by Oliver Kopp 5
Components
Web Service Stack
Quality of Service
Description
Messaging
Transport HTTP
SOAP JMS
WSDL WS‐Policy
WS‐AT,WS‐BA WS‐SecurityWS‐Reliable
Messaging
CompositeAtomic
BPEL WS‐C, …
Communication TCP/IP
Curbera, F. et al.: Web Services Platform Architecture: SOAP, WSDL, WS‐Policy, WS‐Addressing, WS‐BPEL, WS‐Reliable Messaging and More. Prentice Hall PTR (2005)
…
SMTP RMI/IIOP JMS …
…
WS‐Adressing
“Binding”
presented by Oliver Kopp 6
Message Passing Through the Layers
ReceivingApplication
SendingApplication
Components (BPEL)
Quality of Service(WS‐Reliable Messaging)
Messaging (SOAP)
Transport (HTTP)
Communication (TCP/IP)
Q
P
O
N
M
L
K
J
I
H
G
F
E
D
C
B
A
Exception flowDefault flow
presented by Oliver Kopp 7
Communication Layer
All protocols and mechanisms ofOSI Layered Network Model Layers 1 to 6Examples of faults (TCP/IP)
Connectivity faults (arc E)Data integrity faults (arcs E and M)
ReceivingApplication
SendingApplication
Communication (TCP/IP) EM
DN
LF
Transport
Messaging
Quality of Service
Component
Communication
Transport (HTTP)
presented by Oliver Kopp 8
Transport Layer
OSI Layered Network Model layer 7Examples of faults (HTTP)
4xx Client‐side faults403 Forbidden
5xx Server‐side faults503 Service Unavailable
Transport
Messaging
Quality of Service
Component
Communication
ReceivingApplication
SendingApplication
Messaging (SOAP)
Transport (HTTP)
Communication (TCP/IP)
CO
DN
KG
LF
presented by Oliver Kopp 9
Messaging Layer
SOAP processingExamples for faults
MustUnderstand faultSender faultReceiver fault
ReceivingApplication
SendingApplication
Quality of Service (WS‐RM)
Messaging (SOAP)
Transport (HTTP)
BP
CO
JH
KG
Transport
Messaging
Quality of Service
Component
Communication
presented by Oliver Kopp 10
Quality of Service Layer
Reliable Transfer of Messagesi.e., at least once semanticsImplemented by sequences of numbersIf sequence is not acknowledged in time, a SequenceTerminated fault is propagated
ReceivingApplication
SendingApplication
Components (BPEL)
Quality of Service (WS‐RM)
Messaging (SOAP)
AQ
BP
I
JH
Transport
Messaging
Quality of Service
Component
Communication
presented by Oliver Kopp 11
Component Layer
Faults: No communication faultsFaults described by component interface (WSDL)
Sent back to the caller
Faults occurring in the component implementationSpecified ways for interface layer faultsNo specified ways to treat faults on lower layers
ReceivingApplication
SendingApplication
Components (BPEL)
Quality of Service (WS‐RM)
AQ I
Transport
Messaging
Quality of Service
Component
Communication
presented by Oliver Kopp 12
SOAP Intermediary
Message Passing Through the Layers
ReceivingApplication
SendingApplication
Components (BPEL)
Quality of Service(WS‐Reliable Messaging)
Messaging (SOAP)
Transport (HTTP)
Communication (TCP/IP)
Q
P
O
N
M
L
K
J
I
H
G
F
E
D
C
B
A
Exception flowDefault flow
Implemented Fault Propagation
presented by Oliver Kopp 14Application
Implementation Inspected
Components (BPEL)
Quality of Service(WS‐Reliable Messaging)
Messaging (SOAP)
Transport (HTTP)
Communication (TCP/IP)
HTTP Components
java.io
Axis
Sandesha
ODE
presented by Oliver Kopp 15
Apache ODE
BpelRuntimeContextKey object to call required functionalityinvokemethod
SoapExternalServiceAxis2: OutInAxisOperationClient
Java Exception: failuremethod of parentSOAP fault: completedmethod of parent
presented by Oliver Kopp 16
Axis 2 Architecture
http://ws.apache.org/axis2/1_4_1/userguide.html
CommonsHTTPTransportSender
SandeshaOutHandler
OutInAxisOperationClient
MessageContextAxisFault
SandeshaInHandler
HTTPTransportReceiver
AbstractMessageReceiver
Conclusions and Outlook
presented by Oliver Kopp 18
Conclusions and Outlook
Overview on the fault handling on all layersin the Web service Stack
Overview on one implementation
Coordinating distributed fault handling using BPELBPEL‐based SOAP routingScheibler, T.; Karastoyanova, D. & Leymann, F.Dynamic Message Routing Using Processes, KiVS 09, Springer, 2009