Definizione e realizzazione di un modello architetturale ... · realizzare un'interfaccia web per i...

29
Definizione e realizzazione di un modello architetturale per la gestione della transazionalità in processi di business distribuiti 29 marzo 2006 Edoardo Di Lorenzo Relatore: Marco Pistore

Transcript of Definizione e realizzazione di un modello architetturale ... · realizzare un'interfaccia web per i...

Page 1: Definizione e realizzazione di un modello architetturale ... · realizzare un'interfaccia web per i processi BPEL asincroni. Prima soluzione architetturale integrazione diretta BPEL

Definizione e realizzazione di un modello architetturale per la gestione della

transazionalità in processi di business distribuiti

29 marzo 2006

Edoardo Di Lorenzo

Relatore: Marco Pistore

Page 2: Definizione e realizzazione di un modello architetturale ... · realizzare un'interfaccia web per i processi BPEL asincroni. Prima soluzione architetturale integrazione diretta BPEL

Web Services

● sistema software utilizzato per la comunicazione e l’integrazione di servizi distribuiti indipendentemente dalla loro implementazione

Page 3: Definizione e realizzazione di un modello architetturale ... · realizzare un'interfaccia web per i processi BPEL asincroni. Prima soluzione architetturale integrazione diretta BPEL

Web Services

● sistema software utilizzato per la comunicazione e l’integrazione di servizi distribuiti indipendentemente dalla loro implementazione

● un web service è composto da:● un formato di messaggi comune ed estendibile (ad es.

SOAP)● un linguaggio per la descrizione dei servizi comune ed

estendibile (ad es. WSDL)● un metodo per essere trovato (ad es. WS-Addressing e

UDDI)

Page 4: Definizione e realizzazione di un modello architetturale ... · realizzare un'interfaccia web per i processi BPEL asincroni. Prima soluzione architetturale integrazione diretta BPEL

WS-BPEL● BPEL è un linguaggio basato su XML ideato per

descrivere processi commerciali ed industriali in modo da permettere:● un'agevole suddivisione dei compiti tra attori diversi ● la composizione di web service mediante il paradigma

dell'orchestrazione

Page 5: Definizione e realizzazione di un modello architetturale ... · realizzare un'interfaccia web per i processi BPEL asincroni. Prima soluzione architetturale integrazione diretta BPEL

WS-BPEL● BPEL è un linguaggio basato su XML ideato per

descrivere processi commerciali ed industriali in modo da permettere:● una agevole suddivisione dei compiti tra attori diversi ● la composizione di web service mediante il paradigma

dell'orchestrazione

● esistono due forme di BPEL: eseguibile e astratta

Page 6: Definizione e realizzazione di un modello architetturale ... · realizzare un'interfaccia web per i processi BPEL asincroni. Prima soluzione architetturale integrazione diretta BPEL

WS-BPEL● BPEL è un linguaggio basato su XML ideato per

descrivere processi commerciali ed industriali in modo da permettere:● una agevole suddivisione dei compiti tra attori diversi ● la composizione di web service mediante il paradigma

dell'orchestrazione

● esistono due forme di BPEL: eseguibile e astratta● ASTRO utilizza BPEL per la composizione di

processi business distribuiti, mediante sintesi automatica

Page 7: Definizione e realizzazione di un modello architetturale ... · realizzare un'interfaccia web per i processi BPEL asincroni. Prima soluzione architetturale integrazione diretta BPEL

ESEM

PIO

BPE

L: P

ARTE D

I U

N C

OO

RD

INATO

RE

Page 8: Definizione e realizzazione di un modello architetturale ... · realizzare un'interfaccia web per i processi BPEL asincroni. Prima soluzione architetturale integrazione diretta BPEL

Transazioni

● importanti nell’integrazione di servizi● per garantire la consistenza delle operazioni eseguite● B2B e B2C

Page 9: Definizione e realizzazione di un modello architetturale ... · realizzare un'interfaccia web per i processi BPEL asincroni. Prima soluzione architetturale integrazione diretta BPEL

Transazioni

● importanti nell’integrazione di servizi● per garantire la consistenza delle operazioni eseguite● B2B e B2C

● la teoria delle transazioni applicate ai web service si rifà a quelle sviluppate per i database relazionali anche se con alcune differenze

Page 10: Definizione e realizzazione di un modello architetturale ... · realizzare un'interfaccia web per i processi BPEL asincroni. Prima soluzione architetturale integrazione diretta BPEL

Transazioni

● importanti nell’integrazione di servizi● per garantire la consistenza delle operazioni eseguite● B2B e B2C

● la teoria delle transazioni applicate ai web service si rifà a quelle sviluppate per i database relazionali anche se con alcune differenze

● esistono tre protocolli transazionali per i WS

Page 11: Definizione e realizzazione di un modello architetturale ... · realizzare un'interfaccia web per i processi BPEL asincroni. Prima soluzione architetturale integrazione diretta BPEL

Transazioni

● importanti nell’integrazione di servizi● per garantire la consistenza delle operazioni eseguite● B2B e B2C

● la teoria delle transazioni applicate ai web service si rifà a quelle sviluppate per i database relazionali anche se con alcune differenze

● esistono tre protocolli transazionali per i WS ● coordinatore e partecipante

Page 12: Definizione e realizzazione di un modello architetturale ... · realizzare un'interfaccia web per i processi BPEL asincroni. Prima soluzione architetturale integrazione diretta BPEL

Lavoro svolto● realizzazione di una soluzione architetturale per

dotare BPEL del supporto alla transazionalità

Page 13: Definizione e realizzazione di un modello architetturale ... · realizzare un'interfaccia web per i processi BPEL asincroni. Prima soluzione architetturale integrazione diretta BPEL

Lavoro svolto● realizzazione di una soluzione architetturale per

dotare BPEL del supporto alla transazionalità ● motivazioni● perché richiesto dal mondo economico● integrabile negli strumenti sviluppati da ASTRO● caratteristica non fornita da nessun engine BPEL

Page 14: Definizione e realizzazione di un modello architetturale ... · realizzare un'interfaccia web per i processi BPEL asincroni. Prima soluzione architetturale integrazione diretta BPEL

Lavoro svolto● realizzazione di una soluzione architetturale per

dotare BPEL del supporto alla transazionalità ● motivazioni● perché richiesto dal mondo economico● integrabile negli strumenti sviluppati da ASTRO● caratteristica non fornita da nessun engine BPEL

● scenario: eCommerce

Page 15: Definizione e realizzazione di un modello architetturale ... · realizzare un'interfaccia web per i processi BPEL asincroni. Prima soluzione architetturale integrazione diretta BPEL

Lavoro svolto● realizzazione di una soluzione architetturale per

dotare BPEL del supporto alla transazionalità ● motivazioni● perché richiesto dal mondo economico● integrabile negli strumenti sviluppati da ASTRO● caratteristica non fornita da nessun engine BPEL

● scenario: eCommerce● per portare a termine il compito è stato necessario

realizzare tre applicativi

Page 16: Definizione e realizzazione di un modello architetturale ... · realizzare un'interfaccia web per i processi BPEL asincroni. Prima soluzione architetturale integrazione diretta BPEL

Prima soluzione architetturaleintegrazione diretta BPEL - Cohesions

● obiettivi● realizzare un'implementazione di eCommerce mediante

WS● integrare un engine transazionale in BPEL● realizzare un'interfaccia web per i processi BPEL

asincroni

Page 17: Definizione e realizzazione di un modello architetturale ... · realizzare un'interfaccia web per i processi BPEL asincroni. Prima soluzione architetturale integrazione diretta BPEL

Prima soluzione architetturaleintegrazione diretta BPEL - Cohesions

Coh

esion

Sito Bank

Sito Store

BPEL

StoreINITIATOR

BPEL

BankPARTICIPANT

jws

jws

jws axisPARTICIPANT

jwsCOORDINATOR

jsphtmlajax

jsphtmlbean

WebBrowser

Page 18: Definizione e realizzazione di un modello architetturale ... · realizzare un'interfaccia web per i processi BPEL asincroni. Prima soluzione architetturale integrazione diretta BPEL

Prima soluzione architetturaleintegrazione diretta BPEL - Cohesions

● risultati conseguiti● prototipo funzionante● acquisizione di esperienza

Page 19: Definizione e realizzazione di un modello architetturale ... · realizzare un'interfaccia web per i processi BPEL asincroni. Prima soluzione architetturale integrazione diretta BPEL

Prima soluzione architetturaleintegrazione diretta BPEL - Cohesions

● risultati conseguiti● prototipo funzionante● acquisizione di esperienza

● problemi emersi● architettura complessa● non completa divisione tra logica di business e

transazionale● problemi tecnologici

Page 20: Definizione e realizzazione di un modello architetturale ... · realizzare un'interfaccia web per i processi BPEL asincroni. Prima soluzione architetturale integrazione diretta BPEL

Seconda soluzione architetturaleBTP in BPEL

● obiettivi:● individuazione di un modello● analisi più approfondita degli standard transazionali

Page 21: Definizione e realizzazione di un modello architetturale ... · realizzare un'interfaccia web per i processi BPEL asincroni. Prima soluzione architetturale integrazione diretta BPEL

Seconda soluzione architetturaleBTP in BPEL

● obiettivi:● individuazione di un modello● analisi più approfondita degli standard transazionali

● scritta interamente in BPEL e basata su BTP

Page 22: Definizione e realizzazione di un modello architetturale ... · realizzare un'interfaccia web per i processi BPEL asincroni. Prima soluzione architetturale integrazione diretta BPEL

Seconda soluzione architetturaleBTP in BPEL

COORDINATOR

store

bank

PARTICIPANT

user

PARTICIPANT

user store

COORDINATOR PARTICIPANT

3 request(context)

7 response(context_reply)

5 enrol6 enrolled

9 prepare, cancel12 prepared, not_prepared, cancelled

13 confirm, cancel16 confirmed, cancelled

421 8 17 10 11 1514

Page 23: Definizione e realizzazione di un modello architetturale ... · realizzare un'interfaccia web per i processi BPEL asincroni. Prima soluzione architetturale integrazione diretta BPEL

Seconda soluzione architetturaleBTP in BPEL

● obiettivi:● individuazione di un modello● analisi più approfondita degli standard transazionali

● scritta interamente in BPEL e basata su BTP● risultati:● sono stati ricavati dei modelli per la progettazione del

coordinatore e dei partecipanti● divisione tra logica transazionale e quella business● i processi si prestano a sintesi automatica

Page 24: Definizione e realizzazione di un modello architetturale ... · realizzare un'interfaccia web per i processi BPEL asincroni. Prima soluzione architetturale integrazione diretta BPEL

Terza soluzione architetturaleintegrazione BPEL - Cohesions, con processi traduttori

● prendendo quanto di buono emerso dalle due precedenti esperienze si è elaborata la terza soluzione architetturale composta da tre livelli:● processi business, definiti mediante BPEL● processi traduttori che fungono da tramite tra i processi

business ed il transaction manager, realizzati in BPEL e mediante funzioni XPath

● transaction manager, Cohesions

Page 25: Definizione e realizzazione di un modello architetturale ... · realizzare un'interfaccia web per i processi BPEL asincroni. Prima soluzione architetturale integrazione diretta BPEL

PARTIC

IPAN

TCohesionsPARTICIPANT

INIT

IATO

R

BPEL

functionextension

User

BPEL

Bank

BPEL

5 request()

6 repy()

exceptions / errors

1

2

4

8 16

10

12 13

7

m

9

15

17

m

18

BPEL

function extension3 scambio contesti

11 14

CohesionsCOORDINATOR

Page 26: Definizione e realizzazione di un modello architetturale ... · realizzare un'interfaccia web per i processi BPEL asincroni. Prima soluzione architetturale integrazione diretta BPEL

Terza soluzione architetturaleintegrazione BPEL - Cohesions, con processi traduttori

● vantaggi● è possibile usare processi BPEL standard: è necessario

aggiungere solo alcuni port type● flessibilità● processi facilmente sintetizzabili in maniera automatica

Page 27: Definizione e realizzazione di un modello architetturale ... · realizzare un'interfaccia web per i processi BPEL asincroni. Prima soluzione architetturale integrazione diretta BPEL

Conclusioni

● successo

● soluzione applicabile ai tool sviluppati da ASTRO

● possibili evoluzioni

Page 28: Definizione e realizzazione di un modello architetturale ... · realizzare un'interfaccia web per i processi BPEL asincroni. Prima soluzione architetturale integrazione diretta BPEL
Page 29: Definizione e realizzazione di un modello architetturale ... · realizzare un'interfaccia web per i processi BPEL asincroni. Prima soluzione architetturale integrazione diretta BPEL

BTP prepare prepared cancel cancelled confirm confirmed

WS-AT prepare prepared rollback aborted commit committed

WS-BA CC (CoordinatorCompletion)

complete completed cancel compensate

cancelled compensated close closed

WS-BA PC (Participant Completion) * completed cancel

compensate cancelled

compensated close closed

WS-TXM ACID prepare vote rollback rolledback commit committed

WS-TXM LRA * addParticipant compensate compensated complete completed

WS-TXM BP * workCompleted cancel cancelled confirm confirmed