web services orchestration evolution: - a merge process ...mosser/old-ws/_media/research/... · 2...

54
Web Services Orchestration Evolution: A Merge Process For Behavioral Evolution Sébastien Mosser Mireille Blay–Fornarino Michel Riveill [email protected] CNRS, I3S Laboratory, Rainbow Team University of Nice – Sophia Antipolis http://rainbow.i3s.unice.fr (published in ECSA’08) October, 27th 2008 EPU Polytech’Sophia

Upload: others

Post on 09-Jun-2020

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Web Services Orchestration Evolution: - A Merge Process ...mosser/old-ws/_media/research/... · 2 Intro. Adore Inaction DrAdore Conclusions Agenda 1 WebServices,Orchestrations&Evolutions

Web Services Orchestration Evolution:A Merge Process For Behavioral Evolution

Sébastien Mosser Mireille Blay–Fornarino Michel [email protected]

CNRS, I3S Laboratory, Rainbow TeamUniversity of Nice – Sophia Antipolishttp://rainbow.i3s.unice.fr

(published in ECSA’08)October, 27th 2008EPU Polytech’Sophia

Page 2: Web Services Orchestration Evolution: - A Merge Process ...mosser/old-ws/_media/research/... · 2 Intro. Adore Inaction DrAdore Conclusions Agenda 1 WebServices,Orchestrations&Evolutions

2

Intro. Adore In action DrAdore Conclusions

Agenda

1 Web Services, Orchestrations & Evolutions

2 ADORE Model & Merge Algorithm

3 Merge Algorithm : let’s go !

4 Implementation : DrAdore

5 Perspectives & Conclusions

Sébastien Mosser CNRS – I3S / University of Nice

Web Services Orchestration Evolution:

Page 3: Web Services Orchestration Evolution: - A Merge Process ...mosser/old-ws/_media/research/... · 2 Intro. Adore Inaction DrAdore Conclusions Agenda 1 WebServices,Orchestrations&Evolutions

3

Intro. Adore In action DrAdore Conclusions

Agenda

1 Web Services, Orchestrations & Evolutions

2 ADORE Model & Merge Algorithm

3 Merge Algorithm : let’s go !

4 Implementation : DrAdore

5 Perspectives & Conclusions

Sébastien Mosser CNRS – I3S / University of Nice

Web Services Orchestration Evolution:

Page 4: Web Services Orchestration Evolution: - A Merge Process ...mosser/old-ws/_media/research/... · 2 Intro. Adore Inaction DrAdore Conclusions Agenda 1 WebServices,Orchestrations&Evolutions

4

Intro. Adore In action DrAdore Conclusions

Context : Web Services Oriented Architecture Evolution

“A program that is used must be continually adaptedelse it becomes progressively less satisfactory”

[Lehman 5th law of evolution]

Services Oriented Architecture (SOA) . . .

. . . focus on business reactivity

. . . preach eternal readaptation to fit with market

. . . allow trend anticipation

⇒ How to conciliate SOA & Evolution ?

Sébastien Mosser CNRS – I3S / University of Nice

Web Services Orchestration Evolution:

Page 5: Web Services Orchestration Evolution: - A Merge Process ...mosser/old-ws/_media/research/... · 2 Intro. Adore Inaction DrAdore Conclusions Agenda 1 WebServices,Orchestrations&Evolutions

5

Intro. Adore In action DrAdore Conclusions

Leading example : Seduite system

Seduite as 4 lines & 18 words . . .Broadcast information inside academic institutesRetrieve information from SourcesHandle information through Business ProcessPerpetual evolution driven by final user

A (running) Web Service Oriented Architecture

Informations sources as Web ServicesBusiness process as OrchestrationsDeployed inside Polytech’Sophia and IES Clément Ader

http://anubis.polytech.unice.fr/jSeduite

Sébastien Mosser CNRS – I3S / University of Nice

Web Services Orchestration Evolution:

Page 6: Web Services Orchestration Evolution: - A Merge Process ...mosser/old-ws/_media/research/... · 2 Intro. Adore Inaction DrAdore Conclusions Agenda 1 WebServices,Orchestrations&Evolutions

Let’s keep Seduite up to date . . .

Page 7: Web Services Orchestration Evolution: - A Merge Process ...mosser/old-ws/_media/research/... · 2 Intro. Adore Inaction DrAdore Conclusions Agenda 1 WebServices,Orchestrations&Evolutions

Let’s keep Seduite up to date . . .

Page 8: Web Services Orchestration Evolution: - A Merge Process ...mosser/old-ws/_media/research/... · 2 Intro. Adore Inaction DrAdore Conclusions Agenda 1 WebServices,Orchestrations&Evolutions

Let’s keep Seduite up to date . . .

Page 9: Web Services Orchestration Evolution: - A Merge Process ...mosser/old-ws/_media/research/... · 2 Intro. Adore Inaction DrAdore Conclusions Agenda 1 WebServices,Orchestrations&Evolutions

Let’s keep Seduite up to date . . .

Page 10: Web Services Orchestration Evolution: - A Merge Process ...mosser/old-ws/_media/research/... · 2 Intro. Adore Inaction DrAdore Conclusions Agenda 1 WebServices,Orchestrations&Evolutions

Tools support . . .

Page 11: Web Services Orchestration Evolution: - A Merge Process ...mosser/old-ws/_media/research/... · 2 Intro. Adore Inaction DrAdore Conclusions Agenda 1 WebServices,Orchestrations&Evolutions

Tools support . . .

Page 12: Web Services Orchestration Evolution: - A Merge Process ...mosser/old-ws/_media/research/... · 2 Intro. Adore Inaction DrAdore Conclusions Agenda 1 WebServices,Orchestrations&Evolutions

Need : Separation Of Concerns

Page 13: Web Services Orchestration Evolution: - A Merge Process ...mosser/old-ws/_media/research/... · 2 Intro. Adore Inaction DrAdore Conclusions Agenda 1 WebServices,Orchestrations&Evolutions

Need : Separation Of Concerns

Page 14: Web Services Orchestration Evolution: - A Merge Process ...mosser/old-ws/_media/research/... · 2 Intro. Adore Inaction DrAdore Conclusions Agenda 1 WebServices,Orchestrations&Evolutions

Need : Separation Of Concerns

Page 15: Web Services Orchestration Evolution: - A Merge Process ...mosser/old-ws/_media/research/... · 2 Intro. Adore Inaction DrAdore Conclusions Agenda 1 WebServices,Orchestrations&Evolutions

Need : Separation Of Concerns

Page 16: Web Services Orchestration Evolution: - A Merge Process ...mosser/old-ws/_media/research/... · 2 Intro. Adore Inaction DrAdore Conclusions Agenda 1 WebServices,Orchestrations&Evolutions

9

Intro. Adore In action DrAdore Conclusions

Agenda

1 Web Services, Orchestrations & Evolutions

2 ADORE Model & Merge Algorithm

3 Merge Algorithm : let’s go !

4 Implementation : DrAdore

5 Perspectives & Conclusions

Sébastien Mosser CNRS – I3S / University of Nice

Web Services Orchestration Evolution:

Page 17: Web Services Orchestration Evolution: - A Merge Process ...mosser/old-ws/_media/research/... · 2 Intro. Adore Inaction DrAdore Conclusions Agenda 1 WebServices,Orchestrations&Evolutions

Behavioral Merge “for dummies”

Page 18: Web Services Orchestration Evolution: - A Merge Process ...mosser/old-ws/_media/research/... · 2 Intro. Adore Inaction DrAdore Conclusions Agenda 1 WebServices,Orchestrations&Evolutions

Behavioral Merge “for dummies”

Page 19: Web Services Orchestration Evolution: - A Merge Process ...mosser/old-ws/_media/research/... · 2 Intro. Adore Inaction DrAdore Conclusions Agenda 1 WebServices,Orchestrations&Evolutions

Behavioral Merge “for dummies”

Page 20: Web Services Orchestration Evolution: - A Merge Process ...mosser/old-ws/_media/research/... · 2 Intro. Adore Inaction DrAdore Conclusions Agenda 1 WebServices,Orchestrations&Evolutions

11

Intro. Adore In action DrAdore Conclusions

ADORE Model : Orchestration representation

“Activity moDel suppOrting oRchestration Evolution”

Orchestrations ≡ (A?,≺?)

A? : a set of Activities≺∗ : partial ordering

Activities ≡ (uid ,K ,V ?in,Vout)

uid : unique identifierK : kind (∈ BPEL)V ?

in,Vout : variables (in & out)

Guards ≡ (Act,Value)

if Act output = Value, do.

Sébastien Mosser CNRS – I3S / University of Nice

Web Services Orchestration Evolution:

Page 21: Web Services Orchestration Evolution: - A Merge Process ...mosser/old-ws/_media/research/... · 2 Intro. Adore Inaction DrAdore Conclusions Agenda 1 WebServices,Orchestrations&Evolutions

11

Intro. Adore In action DrAdore Conclusions

ADORE Model : Orchestration representation

“Activity moDel suppOrting oRchestration Evolution”

Orchestrations ≡ (A?,≺?)

A? : a set of Activities

≺∗ : partial ordering

Activities ≡ (uid ,K ,V ?in,Vout)

uid : unique identifierK : kind (∈ BPEL)V ?

in,Vout : variables (in & out)

Guards ≡ (Act,Value)

if Act output = Value, do.

Sébastien Mosser CNRS – I3S / University of Nice

Web Services Orchestration Evolution:

Page 22: Web Services Orchestration Evolution: - A Merge Process ...mosser/old-ws/_media/research/... · 2 Intro. Adore Inaction DrAdore Conclusions Agenda 1 WebServices,Orchestrations&Evolutions

11

Intro. Adore In action DrAdore Conclusions

ADORE Model : Orchestration representation

“Activity moDel suppOrting oRchestration Evolution”

Orchestrations ≡ (A?,≺?)

A? : a set of Activities≺∗ : partial ordering

Activities ≡ (uid ,K ,V ?in,Vout)

uid : unique identifierK : kind (∈ BPEL)V ?

in,Vout : variables (in & out)

Guards ≡ (Act,Value)

if Act output = Value, do.

Sébastien Mosser CNRS – I3S / University of Nice

Web Services Orchestration Evolution:

Page 23: Web Services Orchestration Evolution: - A Merge Process ...mosser/old-ws/_media/research/... · 2 Intro. Adore Inaction DrAdore Conclusions Agenda 1 WebServices,Orchestrations&Evolutions

11

Intro. Adore In action DrAdore Conclusions

ADORE Model : Orchestration representation

“Activity moDel suppOrting oRchestration Evolution”

Orchestrations ≡ (A?,≺?)

A? : a set of Activities≺∗ : partial ordering

Activities ≡ (uid ,K ,V ?in,Vout)

uid : unique identifier

K : kind (∈ BPEL)V ?

in,Vout : variables (in & out)

Guards ≡ (Act,Value)

if Act output = Value, do.

Sébastien Mosser CNRS – I3S / University of Nice

Web Services Orchestration Evolution:

Page 24: Web Services Orchestration Evolution: - A Merge Process ...mosser/old-ws/_media/research/... · 2 Intro. Adore Inaction DrAdore Conclusions Agenda 1 WebServices,Orchestrations&Evolutions

11

Intro. Adore In action DrAdore Conclusions

ADORE Model : Orchestration representation

“Activity moDel suppOrting oRchestration Evolution”

Orchestrations ≡ (A?,≺?)

A? : a set of Activities≺∗ : partial ordering

Activities ≡ (uid ,K ,V ?in,Vout)

uid : unique identifierK : kind (∈ BPEL)

V ?in,Vout : variables (in & out)

Guards ≡ (Act,Value)

if Act output = Value, do.

Sébastien Mosser CNRS – I3S / University of Nice

Web Services Orchestration Evolution:

Page 25: Web Services Orchestration Evolution: - A Merge Process ...mosser/old-ws/_media/research/... · 2 Intro. Adore Inaction DrAdore Conclusions Agenda 1 WebServices,Orchestrations&Evolutions

11

Intro. Adore In action DrAdore Conclusions

ADORE Model : Orchestration representation

“Activity moDel suppOrting oRchestration Evolution”

Orchestrations ≡ (A?,≺?)

A? : a set of Activities≺∗ : partial ordering

Activities ≡ (uid ,K ,V ?in,Vout)

uid : unique identifierK : kind (∈ BPEL)V ?

in,Vout : variables (in & out)Guards ≡ (Act,Value)

if Act output = Value, do.

Sébastien Mosser CNRS – I3S / University of Nice

Web Services Orchestration Evolution:

Page 26: Web Services Orchestration Evolution: - A Merge Process ...mosser/old-ws/_media/research/... · 2 Intro. Adore Inaction DrAdore Conclusions Agenda 1 WebServices,Orchestrations&Evolutions

11

Intro. Adore In action DrAdore Conclusions

ADORE Model : Orchestration representation

“Activity moDel suppOrting oRchestration Evolution”

Orchestrations ≡ (A?,≺?)

A? : a set of Activities≺∗ : partial ordering

Activities ≡ (uid ,K ,V ?in,Vout)

uid : unique identifierK : kind (∈ BPEL)V ?

in,Vout : variables (in & out)Guards ≡ (Act,Value)

if Act output = Value, do.

Sébastien Mosser CNRS – I3S / University of Nice

Web Services Orchestration Evolution:

Page 27: Web Services Orchestration Evolution: - A Merge Process ...mosser/old-ws/_media/research/... · 2 Intro. Adore Inaction DrAdore Conclusions Agenda 1 WebServices,Orchestrations&Evolutions

12

Intro. Adore In action DrAdore Conclusions

How to represent an evolution ?

Key Idea : “Like an orchestration !”Evolution looks like Orchestrations . . .Basically “piece of orchestration”

Which refers to the original behavior

⇒ Extend available kinds of activitiesAn evolution E enhances an existing activity A

⇒ Add a hook activity to refer enhanced activityE interferes with A neighbors

⇒ Reify A predecessors (P)⇒ Reify A successors (S)

Sébastien Mosser CNRS – I3S / University of Nice

Web Services Orchestration Evolution:

Page 28: Web Services Orchestration Evolution: - A Merge Process ...mosser/old-ws/_media/research/... · 2 Intro. Adore Inaction DrAdore Conclusions Agenda 1 WebServices,Orchestrations&Evolutions

13

Intro. Adore In action DrAdore Conclusions

“Check Profile” evolution using ADORE model

Ep ≡ ({i , t, h, e}, {i ≺ t, t ≺ h,t ≺ e,P ≺ h, h ≺ S})

i ≡ (i , invoke(Profile,Verify),{profile}, p, ∅)

t ≡ (t, test(isEqual), {p, true},Pok , ∅)

h ≡ (h, hook, {profile},∅, {guard(t, true))

e ≡ (e, throw , ∅,∅, {guard(t, false)})

Sébastien Mosser CNRS – I3S / University of Nice

Web Services Orchestration Evolution:

Page 29: Web Services Orchestration Evolution: - A Merge Process ...mosser/old-ws/_media/research/... · 2 Intro. Adore Inaction DrAdore Conclusions Agenda 1 WebServices,Orchestrations&Evolutions

14

Intro. Adore In action DrAdore Conclusions

General Merge algorithm

Merge : {e1, . . . , en} × KB × o × b 7→ o ′

A four steps process

MergeEvolutions : {e1, . . . , en} × KB 7→ e ′

Merge all evolutions into a single one

DetectConflicts : e ′ 7→ {c1, . . . , ck}

Identify conflicts (concurrent accesses, multiple throw, . . . )Increment KB with application or business knowledge

MergeOrchestration : o × e ′ × b ×KB 7→ o ′

Apply the evolution inside an orchestration following a binding

DetectConflicts : o ′ 7→ {c1, . . . , ck}

Identify conflicts (multiple reply, . . . )

Sébastien Mosser CNRS – I3S / University of Nice

Web Services Orchestration Evolution:

Page 30: Web Services Orchestration Evolution: - A Merge Process ...mosser/old-ws/_media/research/... · 2 Intro. Adore Inaction DrAdore Conclusions Agenda 1 WebServices,Orchestrations&Evolutions

14

Intro. Adore In action DrAdore Conclusions

General Merge algorithm

Merge : {e1, . . . , en} × KB × o × b 7→ o ′

A four steps process

MergeEvolutions : {e1, . . . , en} × KB 7→ e ′

Merge all evolutions into a single oneDetectConflicts : e ′ 7→ {c1, . . . , ck}

Identify conflicts (concurrent accesses, multiple throw, . . . )Increment KB with application or business knowledge

MergeOrchestration : o × e ′ × b ×KB 7→ o ′

Apply the evolution inside an orchestration following a binding

DetectConflicts : o ′ 7→ {c1, . . . , ck}

Identify conflicts (multiple reply, . . . )

Sébastien Mosser CNRS – I3S / University of Nice

Web Services Orchestration Evolution:

Page 31: Web Services Orchestration Evolution: - A Merge Process ...mosser/old-ws/_media/research/... · 2 Intro. Adore Inaction DrAdore Conclusions Agenda 1 WebServices,Orchestrations&Evolutions

14

Intro. Adore In action DrAdore Conclusions

General Merge algorithm

Merge : {e1, . . . , en} × KB × o × b 7→ o ′

A four steps process

MergeEvolutions : {e1, . . . , en} × KB 7→ e ′

Merge all evolutions into a single oneDetectConflicts : e ′ 7→ {c1, . . . , ck}

Identify conflicts (concurrent accesses, multiple throw, . . . )Increment KB with application or business knowledge

MergeOrchestration : o × e ′ × b ×KB 7→ o ′

Apply the evolution inside an orchestration following a binding

DetectConflicts : o ′ 7→ {c1, . . . , ck}

Identify conflicts (multiple reply, . . . )

Sébastien Mosser CNRS – I3S / University of Nice

Web Services Orchestration Evolution:

Page 32: Web Services Orchestration Evolution: - A Merge Process ...mosser/old-ws/_media/research/... · 2 Intro. Adore Inaction DrAdore Conclusions Agenda 1 WebServices,Orchestrations&Evolutions

14

Intro. Adore In action DrAdore Conclusions

General Merge algorithm

Merge : {e1, . . . , en} × KB × o × b 7→ o ′

A four steps process

MergeEvolutions : {e1, . . . , en} × KB 7→ e ′

Merge all evolutions into a single oneDetectConflicts : e ′ 7→ {c1, . . . , ck}

Identify conflicts (concurrent accesses, multiple throw, . . . )Increment KB with application or business knowledge

MergeOrchestration : o × e ′ × b ×KB 7→ o ′

Apply the evolution inside an orchestration following a bindingDetectConflicts : o ′ 7→ {c1, . . . , ck}

Identify conflicts (multiple reply, . . . )

Sébastien Mosser CNRS – I3S / University of Nice

Web Services Orchestration Evolution:

Page 33: Web Services Orchestration Evolution: - A Merge Process ...mosser/old-ws/_media/research/... · 2 Intro. Adore Inaction DrAdore Conclusions Agenda 1 WebServices,Orchestrations&Evolutions

14

Intro. Adore In action DrAdore Conclusions

General Merge algorithm

Merge : {e1, . . . , en} × KB × o × b 7→ o ′

A four steps process

MergeEvolutions : {e1, . . . , en} × KB 7→ e ′

Merge all evolutions into a single oneDetectConflicts : e ′ 7→ {c1, . . . , ck}

Identify conflicts (concurrent accesses, multiple throw, . . . )Increment KB with application or business knowledge

MergeOrchestration : o × e ′ × b ×KB 7→ o ′

Apply the evolution inside an orchestration following a bindingDetectConflicts : o ′ 7→ {c1, . . . , ck}

Identify conflicts (multiple reply, . . . )

Sébastien Mosser CNRS – I3S / University of Nice

Web Services Orchestration Evolution:

Page 34: Web Services Orchestration Evolution: - A Merge Process ...mosser/old-ws/_media/research/... · 2 Intro. Adore Inaction DrAdore Conclusions Agenda 1 WebServices,Orchestrations&Evolutions

15

Intro. Adore In action DrAdore Conclusions

Agenda

1 Web Services, Orchestrations & Evolutions

2 ADORE Model & Merge Algorithm

3 Merge Algorithm : let’s go !

4 Implementation : DrAdore

5 Perspectives & Conclusions

Sébastien Mosser CNRS – I3S / University of Nice

Web Services Orchestration Evolution:

Page 35: Web Services Orchestration Evolution: - A Merge Process ...mosser/old-ws/_media/research/... · 2 Intro. Adore Inaction DrAdore Conclusions Agenda 1 WebServices,Orchestrations&Evolutions

16

Intro. Adore In action DrAdore Conclusions

And now for something completely different . . .

. . . We are going to perform a behavioral merge !

1 Merge two AddSource patterns (weather & events)2 Detect and solve a conflict manually3 Add a CheckProfile pattern4 Merge the result with InfoProvider

5 Detect and solve a conflict automatically

Sébastien Mosser CNRS – I3S / University of Nice

Web Services Orchestration Evolution:

Page 36: Web Services Orchestration Evolution: - A Merge Process ...mosser/old-ws/_media/research/... · 2 Intro. Adore Inaction DrAdore Conclusions Agenda 1 WebServices,Orchestrations&Evolutions

Merge({Addweather ,Addevents}, ∅) 7→ Addweather&events

Page 37: Web Services Orchestration Evolution: - A Merge Process ...mosser/old-ws/_media/research/... · 2 Intro. Adore Inaction DrAdore Conclusions Agenda 1 WebServices,Orchestrations&Evolutions

Merge({Addweather ,Addevents}, ∅) 7→ Addweather&events

Page 38: Web Services Orchestration Evolution: - A Merge Process ...mosser/old-ws/_media/research/... · 2 Intro. Adore Inaction DrAdore Conclusions Agenda 1 WebServices,Orchestrations&Evolutions

Merge({Addweather ,Addevents}, ∅) 7→ Addweather&events

Page 39: Web Services Orchestration Evolution: - A Merge Process ...mosser/old-ws/_media/research/... · 2 Intro. Adore Inaction DrAdore Conclusions Agenda 1 WebServices,Orchestrations&Evolutions

Merge({Addweather ,Addevents}, ∅) 7→ Addweather&events

Page 40: Web Services Orchestration Evolution: - A Merge Process ...mosser/old-ws/_media/research/... · 2 Intro. Adore Inaction DrAdore Conclusions Agenda 1 WebServices,Orchestrations&Evolutions

Merge({Addweather ,Addevents}, ∅) 7→ Addweather&events

Page 41: Web Services Orchestration Evolution: - A Merge Process ...mosser/old-ws/_media/research/... · 2 Intro. Adore Inaction DrAdore Conclusions Agenda 1 WebServices,Orchestrations&Evolutions

DetectConflicts(Addweather&events) 7→ ConcurrentWrite

Page 42: Web Services Orchestration Evolution: - A Merge Process ...mosser/old-ws/_media/research/... · 2 Intro. Adore Inaction DrAdore Conclusions Agenda 1 WebServices,Orchestrations&Evolutions

DetectConflicts(Addweather&events) 7→ ConcurrentWrite

Page 43: Web Services Orchestration Evolution: - A Merge Process ...mosser/old-ws/_media/research/... · 2 Intro. Adore Inaction DrAdore Conclusions Agenda 1 WebServices,Orchestrations&Evolutions

Merge({Addweather&events ,Checkprofile}, ∅) 7→ E ′

Page 44: Web Services Orchestration Evolution: - A Merge Process ...mosser/old-ws/_media/research/... · 2 Intro. Adore Inaction DrAdore Conclusions Agenda 1 WebServices,Orchestrations&Evolutions

Merge({Addweather&events ,Checkprofile}, ∅) 7→ E ′

Page 45: Web Services Orchestration Evolution: - A Merge Process ...mosser/old-ws/_media/research/... · 2 Intro. Adore Inaction DrAdore Conclusions Agenda 1 WebServices,Orchestrations&Evolutions

Merge(InfoProvider , E ′, hook → News, ∅) 7→ O′

Page 46: Web Services Orchestration Evolution: - A Merge Process ...mosser/old-ws/_media/research/... · 2 Intro. Adore Inaction DrAdore Conclusions Agenda 1 WebServices,Orchestrations&Evolutions

Merge(InfoProvider , E ′, hook → News, ∅) 7→ O′

Page 47: Web Services Orchestration Evolution: - A Merge Process ...mosser/old-ws/_media/research/... · 2 Intro. Adore Inaction DrAdore Conclusions Agenda 1 WebServices,Orchestrations&Evolutions

Merge(InfoProvider , E ′, hook → News, ∅) 7→ O′

Page 48: Web Services Orchestration Evolution: - A Merge Process ...mosser/old-ws/_media/research/... · 2 Intro. Adore Inaction DrAdore Conclusions Agenda 1 WebServices,Orchestrations&Evolutions

21

Intro. Adore In action DrAdore Conclusions

Agenda

1 Web Services, Orchestrations & Evolutions

2 ADORE Model & Merge Algorithm

3 Merge Algorithm : let’s go !

4 Implementation : DrAdore

5 Perspectives & Conclusions

Sébastien Mosser CNRS – I3S / University of Nice

Web Services Orchestration Evolution:

Page 49: Web Services Orchestration Evolution: - A Merge Process ...mosser/old-ws/_media/research/... · 2 Intro. Adore Inaction DrAdore Conclusions Agenda 1 WebServices,Orchestrations&Evolutions

22

Intro. Adore In action DrAdore Conclusions

Using Prolog as implementation

We define ADORE as Prolog facts . . .evolution(ep , [q1, q2, h, q3, preds , succs ]).activity(q1, invoke(profile , verify), [q], [p])....

order(q1 , q2)....

guard(h, q2, true)....

. . . and Merge operations as rulesUse intensively inference & backtrackingAlways work on duplicated entities !Dynamically create new facts to reflect merge changes

Sébastien Mosser CNRS – I3S / University of Nice

Web Services Orchestration Evolution:

Page 50: Web Services Orchestration Evolution: - A Merge Process ...mosser/old-ws/_media/research/... · 2 Intro. Adore Inaction DrAdore Conclusions Agenda 1 WebServices,Orchestrations&Evolutions

DrAdore, a “Lab” to experiment Behavioral Merge

Page 51: Web Services Orchestration Evolution: - A Merge Process ...mosser/old-ws/_media/research/... · 2 Intro. Adore Inaction DrAdore Conclusions Agenda 1 WebServices,Orchestrations&Evolutions

24

Intro. Adore In action DrAdore Conclusions

Agenda

1 Web Services, Orchestrations & Evolutions

2 ADORE Model & Merge Algorithm

3 Merge Algorithm : let’s go !

4 Implementation : DrAdore

5 Perspectives & Conclusions

Sébastien Mosser CNRS – I3S / University of Nice

Web Services Orchestration Evolution:

Page 52: Web Services Orchestration Evolution: - A Merge Process ...mosser/old-ws/_media/research/... · 2 Intro. Adore Inaction DrAdore Conclusions Agenda 1 WebServices,Orchestrations&Evolutions

25

Intro. Adore In action DrAdore Conclusions

Sketching validation : Seduite & FAROS

Behavior |A| %Am | ≺ | % ≺m |K| %Km

Ew⊕e 5 100% 7 85% 2 –Ep⊕w⊕e 8 75% 10 90% 3 –

O ′ 13 54% 14 93% 4 25%

Table: Measuring Merge impact on Seduite example

FAROS : (Orange Labs, EDF, IRISA, LIFL, I3S)Reliable Service Oriented ArchitecturesDefine contracts as business level and generate platform code

We use Seduite as a validation applicationContracts are transformed into ADORE evolutions.

Sébastien Mosser CNRS – I3S / University of Nice

Web Services Orchestration Evolution:

Page 53: Web Services Orchestration Evolution: - A Merge Process ...mosser/old-ws/_media/research/... · 2 Intro. Adore Inaction DrAdore Conclusions Agenda 1 WebServices,Orchestrations&Evolutions

26

Intro. Adore In action DrAdore Conclusions

Immediate perspectives

Ensuring Merge associativity & commutativity

Former work (ISL) defines an algorithm based on componentsISL ensures associativity and commutativityAs ADORE is a superset of ISL

Properties are ensured following some restrictionsProving associativity & commutativity is an ongoing work

Adding sets concerns into the algorithmLarge scale infrastructure like grids handle datasetsReaching & validate using the grid . . .

Define unary workflows and enhance to handle setsFocus on error recovery & set conflicts

Sébastien Mosser CNRS – I3S / University of Nice

Web Services Orchestration Evolution:

Page 54: Web Services Orchestration Evolution: - A Merge Process ...mosser/old-ws/_media/research/... · 2 Intro. Adore Inaction DrAdore Conclusions Agenda 1 WebServices,Orchestrations&Evolutions

27

Intro. Adore In action DrAdore Conclusions

Any questions ?

http://anubis.polytech.unice.fr/adore

Sébastien Mosser CNRS – I3S / University of Nice

Web Services Orchestration Evolution: