a distributed framework for reliable and efficient service choreographies young yoon, chunyang ye...

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

Upload: aron-melton

Post on 28-Dec-2015

225 views

Category:

Documents


2 download

TRANSCRIPT

A Distributed Framework for Reliable and Efficient Service

Choreographies

Young Yoon, Chunyang Ye and Hans-Arno Jacobsen

WWW'11

What is service choreography?

Autonomous and distributed collaborationamongst independently developed services.

2Young Yoon

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

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

WWW'11

Semantic conflictBehavior that does not conform to the collaboration specification

5Young Yoon

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

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

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

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

WWW'11 10

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

Young Yoon

WWW'11 11

Enrich safety constraints during the decomposition.

Young Yoon

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

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

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

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

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

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

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

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

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

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

WWW'11 22Young Yoon

Decomposition overhead

WWW'11 23Young Yoon

Task increase per partner

WWW'11 24

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

Young Yoon

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

SSS

S

SS

S

SS

S S

SS

S

WWW'11

B

B

B

B

B

B

LP

CA

CA

CA

BLP

LP

Coordinator

CoordinatorConstraint Deployer

CA LPLP (Sub-constraints):Local ProcessCA:Choreography Agent

B: 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

WWW'11 27Young Yoon

Coordination overhead

WWW'11 28Young Yoon

Scalability

60% ↑

14% ↑

WWW'11 29

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

Young Yoon

WWW'11 30

Minimize the coordination overhead.

Young Yoon

Distance from candidate location to task ri

Weight: Execution time of task ri

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

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

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

WWW'11 34

Thank You!

http://msrg.org

[email protected]

Young Yoon