a distributed framework for reliable and efficient service choreographies

34
A Distributed Framework for Reliable and Efficient Service Choreographies Young Yoon, Chunyang Ye and Hans-Arno Jacobsen

Upload: maja

Post on 26-Feb-2016

47 views

Category:

Documents


0 download

DESCRIPTION

A Distributed Framework for Reliable and Efficient Service Choreographies. Young Yoon , Chunyang Ye and Hans-Arno Jacobsen. What is s ervice c horeography ?. Autonomous and distributed collaboration amongst independently developed services. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: A Distributed Framework for Reliable and Efficient Service Choreographies

A Distributed Framework for Reliable and Efficient Service

Choreographies

Young Yoon, Chunyang Ye and Hans-Arno Jacobsen

Page 2: A Distributed Framework for Reliable and Efficient Service Choreographies

WWW'11

What is service choreography?

Autonomous and distributed collaborationamongst independently developed services.

2Young Yoon

Page 3: A Distributed Framework for Reliable and Efficient Service Choreographies

WWW'11

Service choreographyExample: Credit card fraud detection process

3

Auditing partner sends fraud warnings to Accounting partnerG0

G1Customer service issues refund to

Customer

Young Yoon

Page 4: A Distributed Framework for Reliable and Efficient Service Choreographies

4

Auditing partner sends fraud warnings to Accounting partnerG0

G1Customer service issues refund to

Customer

Decompose

Send fraud warning

messages

Receive fraud warning message

Issue refund Receive refund

message

Auditing service Accounting service CRM service Client serviceYoung Yoon

WWW'11

L0 L0 L0 L0

Page 5: A Distributed Framework for Reliable and Efficient Service Choreographies

WWW'11

Semantic conflictBehavior that does not conform to the collaboration specification

5Young Yoon

Page 6: A Distributed Framework for Reliable and Efficient Service Choreographies

WWW'11 6

Send fraud warning

messages

Receive fraud warning message

Issue refund Receive refund

message

Auditing service Accounting service CRM service Client service

“ Someone used my credit card to purchase train ticket!”

Issue refund

Refund

Customer account

CRM service behavedarbitrarily and causedsemantic conflict.

Young Yoon

Travel agency

Page 7: A Distributed Framework for Reliable and Efficient Service Choreographies

WWW'11 7

Auditing partner sends fraud warnings to Accounting partnerG0

G1Customer service issues refund to

Customer

Gx

Accounting partner orders customer service to issue refund

The cause of the semantic conflictThe missing synchronization

Young Yoon

Page 8: A Distributed Framework for Reliable and Efficient Service Choreographies

WWW'11 8

Another example: Internal operation in a car company

HQ ”clear out” Dealer

Operations manager “decrease production rate”

change to Factory

Marketing “Sales trend update”

Factory

Dealers ask Coordinator to pick G1 or G2

Young Yoon

Page 9: A Distributed Framework for Reliable and Efficient Service Choreographies

WWW'11 9

Goal 1: Prevent semantic conflict. Enrich safety constraints

Goal 2: Build a distributed frameworkGovern the enforcement of safety constraints

Goal 3: Make the framework be efficient Don’t let the safety constraints hamper the performance of the collaboration

Young Yoon

Page 10: A Distributed Framework for Reliable and Efficient Service Choreographies

WWW'11 10

Goal 1: Prevent semantic conflictGoal 2: Build a distributed frameworkGoal 3: Make the framework be efficient

Young Yoon

Page 11: A Distributed Framework for Reliable and Efficient Service Choreographies

WWW'11 11

Enrich safety constraints during the decomposition.

Young Yoon

Page 12: A Distributed Framework for Reliable and Efficient Service Choreographies

WWW'11 12

r1 r2m1

r3 r4m2 r1 r5

m3

r1 r3m4

G1

G2

G4

G3

Young Yoon

rx: collaborating partner x

r1 r2m1 : r1 sends m1 r2

Page 13: A Distributed Framework for Reliable and Efficient Service Choreographies

WWW'11 13

r1 r2m1

r3 r4m2 r1 r5

m3

r1 r3m4

r2 r3c1 r2 r1

c2

r4 r1c3 r5 r1

c4

G1

G2

G4

G3

r1 r2m1

r3 r4m2 r1 r5

m3

r1 r3m4

G1

G2

G4

G3

Young Yoon

Page 14: A Distributed Framework for Reliable and Efficient Service Choreographies

WWW'11 14

(G1) : projection of G1

x(m1): send m1

x(m1): receive m1

r1 r2m1

r3 r4m2 r1 r5

m3

r1 r3m4

r2 r3c1 r2 r1

c2

r4 r1c3 r5 r1

c4

G1

G2

G3

G3

Young Yoon

Page 15: A Distributed Framework for Reliable and Efficient Service Choreographies

WWW'11 15

x(m1)(G1)

r1

r1 r2m1

r3 r4m2 r1 r5

m3

r1 r3m4

r2 r3c1 r2 r1

c2

r4 r1c3 r5 r1

c4

G1

G2

G3

G3

Young Yoon

Page 16: A Distributed Framework for Reliable and Efficient Service Choreographies

WWW'11 16

x(m1)(G1)

x(c3)(G2)

r1

r1 r2m1

r3 r4m2 r1 r5

m3

r1 r3m4

r2 r3c1 r2 r1

c2

r4 r1c3 r5 r1

c4

G1

G2

G4

G3

Young Yoon

Page 17: A Distributed Framework for Reliable and Efficient Service Choreographies

WWW'11 17

x(m1)

x(m4)

(G1)

x(c3)(G2)

(G4)

r1

r1 r2m1

r3 r4m2 r1 r5

m3

r1 r3m4

r2 r3c1 r2 r1

c2

r4 r1c3 r5 r1

c4

G1

G2

G4

G3

Young Yoon

Page 18: A Distributed Framework for Reliable and Efficient Service Choreographies

WWW'11 18

x(m1)

x(m4)

(G1)

x(c3) x(c2)(G2)

(G4)

(G1)

r1

r1 r2m1

r3 r4m2 r1 r5

m3

r1 r3m4

r2 r3c1 r2 r1

c2

r4 r1c3 r5 r1

c4

G1

G2

G3

G3

Young Yoon

Page 19: A Distributed Framework for Reliable and Efficient Service Choreographies

WWW'11 19

x(m1)

x(m4)

x(m3)

(G1)

x(c3) x(c2)(G2)

(G4)

(G1)

(G3)

r1

r1 r2m1

r3 r4m2 r1 r5

m3

r1 r3m4

r2 r3c1 r2 r1

c2

r4 r1c3 r5 r1

c4

G1

G2

G3

G3

Young Yoon

Page 20: A Distributed Framework for Reliable and Efficient Service Choreographies

WWW'11 20

x(m1)

x(m4)

x(m3)

(G1)

x(c3) x(c2)(G2)

(G4)

(G1)

(G3)

r1

x(c4) (G3)

r1 r2m1

r3 r4m2 r1 r5

m3

r1 r3m4

r2 r3c1 r2 r1

c2

r4 r1c3 r5 r1

c4

G1

G2

G3

G3

Young Yoon

Page 21: A Distributed Framework for Reliable and Efficient Service Choreographies

WWW'11 21Young Yoon

Send fraud warning

messages

Receive fraud warning message

Issue refund Receive refund

message

Auditing service

Accounting service

CRM service Client service

Receive confirmation

Send confirmation

Revisiting the credit card fraud detectionprocess

Page 22: A Distributed Framework for Reliable and Efficient Service Choreographies

WWW'11 22Young Yoon

Decomposition overhead

Page 23: A Distributed Framework for Reliable and Efficient Service Choreographies

WWW'11 23Young Yoon

Task increase per partner

Page 24: A Distributed Framework for Reliable and Efficient Service Choreographies

WWW'11 24

Goal 1: Prevent semantic conflictGoal 2: Build a distributed frameworkGoal 3: Make the framework be efficient

Young Yoon

Page 25: A Distributed Framework for Reliable and Efficient Service Choreographies

WWW'11

B

B

B

B

B

B

LP

CA

CA

CA

BLP

LP

Coordinator

CoordinatorConstraint Deployer

CA LP

LP (Sub-constraints):Local Process

CA:Choreography Agent B: Pub/Sub Broker

LP

LP

25Young Yoon

SSSS

SSS

SSS S

SSS

Page 26: A Distributed Framework for Reliable and Efficient Service Choreographies

WWW'11

B

B

B

B

B

B

LP

CA

CA

CA

BLP

LP

Coordinator

CoordinatorConstraint Deployer

CA LPLP (Sub-constraints):Local ProcessCA:Choreography AgentB: Pub/Sub Broker

Process Instance Initializer

Local Process

Interpreter

Choreography Message

Generator

LP

LP

Choreography Message Listener

Pub/Sub Translator

Pub/Sub Communication Interface CA /

Coo

rdin

ator

26Young Yoon

Page 27: A Distributed Framework for Reliable and Efficient Service Choreographies

WWW'11 27Young Yoon

Coordination overhead

Page 28: A Distributed Framework for Reliable and Efficient Service Choreographies

WWW'11 28Young Yoon

Scalability

60% ↑

14% ↑

Page 29: A Distributed Framework for Reliable and Efficient Service Choreographies

WWW'11 29

Goal 1: Prevent semantic conflict.Goal 2: Build a distributed framework.Goal 3: Make the framework be efficient.

Young Yoon

Page 30: A Distributed Framework for Reliable and Efficient Service Choreographies

WWW'11 30

Minimize the coordination overhead.

Young Yoon

Distance from candidate location to task ri

Weight: Execution time of task ri

Page 31: A Distributed Framework for Reliable and Efficient Service Choreographies

WWW'11 31

r1 r2m1

r3 r4m2 r1 r5

m3

r6 r7m4

G1

G2

G4

G3

r2 r8m5G5

Pick

Pick

Higher weights given to atask with more followingtasks.

There can be nested picks.Thus weights are recursivelycomputed.

Young Yoon

Page 32: A Distributed Framework for Reliable and Efficient Service Choreographies

WWW'11 32

The bottom line 1:

We prevent semantic conflict even whenthe collaboration is dynamic.Because of the agent-based framework and enrichment of safety constraints during reliable decomposition.

Young Yoon

Page 33: A Distributed Framework for Reliable and Efficient Service Choreographies

WWW'11 33

The bottom line 2:

Efficient and scalable enforcement of safety constraintsBecause of the novel coordinator placement method and concurrent execution of decomposed tasks through parallel and distributed choreography agents.

Young Yoon

Page 34: A Distributed Framework for Reliable and Efficient Service Choreographies

WWW'11 34

Thank You!

http://msrg.org

[email protected]

Young Yoon