Fault handling in the web service stack

18
1 Oliver Kopp, Frank Leymann, Daniel Wutke Institute of Architecture of Application Systems (IAAS) www.iaas.unistuttgart.de Fault Handling in the Web Service Stack www.compasict.eu The Eighth International Conference on Service Oriented Computing (ICSOC 2010) http://www.icsoc.org/

Transcript of Fault handling in the web service stack

Page 1: Fault handling in the web service stack

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/

Page 2: Fault handling in the web service stack

presented by Oliver Kopp 2

Agenda

Background

Fault Classification

Implemented Fault Propagation

Conclusion and Outlook

Page 3: Fault handling in the web service stack

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

Page 4: Fault handling in the web service stack

Fault Classification

Page 5: Fault handling in the web service stack

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”

Page 6: Fault handling in the web service stack

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

Page 7: Fault handling in the web service stack

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)

Page 8: Fault handling in the web service stack

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

Page 9: Fault handling in the web service stack

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

Page 10: Fault handling in the web service stack

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

Page 11: Fault handling in the web service stack

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

Page 12: Fault handling in the web service stack

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

Page 13: Fault handling in the web service stack

Implemented Fault Propagation

Page 14: Fault handling in the web service stack

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

Page 15: Fault handling in the web service stack

presented by Oliver Kopp 15

Apache ODE

BpelRuntimeContextKey object to call required functionalityinvokemethod

SoapExternalServiceAxis2: OutInAxisOperationClient

Java Exception: failuremethod of parentSOAP fault: completedmethod of parent

Page 16: Fault handling in the web service stack

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

Page 17: Fault handling in the web service stack

Conclusions and Outlook

Page 18: Fault handling in the web service stack

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