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

Post on 15-Feb-2019

215 views 0 download

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

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

Web Services

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

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)

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

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

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

ESEM

PIO

BPE

L: P

ARTE D

I U

N C

OO

RD

INATO

RE

Transazioni

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

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

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

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

Lavoro svolto● realizzazione di una soluzione architetturale per

dotare BPEL del supporto alla transazionalità

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

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

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

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

Prima soluzione architetturaleintegrazione diretta BPEL - Cohesions

Coh

esion

Sito Bank

Sito Store

BPEL

StoreINITIATOR

BPEL

BankPARTICIPANT

jws

jws

jws axisPARTICIPANT

jwsCOORDINATOR

jsphtmlajax

jsphtmlbean

WebBrowser

Prima soluzione architetturaleintegrazione diretta BPEL - Cohesions

● risultati conseguiti● prototipo funzionante● acquisizione di esperienza

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

Seconda soluzione architetturaleBTP in BPEL

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

Seconda soluzione architetturaleBTP in BPEL

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

● scritta interamente in BPEL e basata su BTP

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

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

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

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

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

Conclusioni

● successo

● soluzione applicabile ai tool sviluppati da ASTRO

● possibili evoluzioni

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