BPEL: Business Process Execution Language



Похожие документы
Composizione e Coreografia di Web Services

B.P.S. Business Process Server ALLEGATO C10

Il database management system Access

Soluzione dell esercizio del 2 Febbraio 2004

Software per Helpdesk

MANUALE MOODLE STUDENTI. Accesso al Materiale Didattico

Fasi di creazione di un programma

MODELLO CLIENT/SERVER. Gianluca Daino Dipartimento di Ingegneria dell Informazione Università degli Studi di Siena

Riccardo Dutto, Paolo Garza Politecnico di Torino. Riccardo Dutto, Paolo Garza Politecnico di Torino

A intervalli regolari ogni router manda la sua tabella a tutti i vicini, e riceve quelle dei vicini.

Concetti di base di ingegneria del software

Introduzione Ai Data Bases. Prof. Francesco Accarino IIS Altiero Spinelli Via Leopardi 132 Sesto San giovanni

Soluzione dell esercizio del 12 Febbraio 2004

Introduzione alla teoria dei database relazionali. Come progettare un database

Gestione del workflow

Corso Analista Programmatore Web PHP Corso Online Analista Programmatore Web PHP

Organizzazione degli archivi

Archivi e database. Prof. Michele Batocchi A.S. 2013/2014

1. BASI DI DATI: GENERALITÀ

Le Basi di Dati. Le Basi di Dati

MODELLAZIONE DEI PROCESSI AZIENDALI. workflow 1

Sistemi Operativi MECCANISMI E POLITICHE DI PROTEZIONE. D. Talia - UNICAL. Sistemi Operativi 13.1

MECCANISMI E POLITICHE DI PROTEZIONE 13.1

Il documento rappresenta una guida sintetica per descrivere sia la filosofia che il modulo software per l implementazione dei workflow in recuper@2.

Software di sistema e software applicativo. I programmi che fanno funzionare il computer e quelli che gli permettono di svolgere attività specifiche

MODELLAZIONE DEI PROCESSI AZIENDALI. workflow 1

Informatica 3. Informatica 3. LEZIONE 10: Introduzione agli algoritmi e alle strutture dati. Lezione 10 - Modulo 1. Importanza delle strutture dati

Definizione e realizzazione di un modello architetturale per la gestione della transazionalità in processi di business distribuiti. Edoardo Di Lorenzo

Implementing a new ADT based on the HL7 version 3 RIM. Esempio

Raccolta dei Requisiti con i Casi D'uso. Corso di Ingegneria del Software Anno Accademico 2012/13

Training sulle soluzioni SAP BusinessObjects BI4

Lezione V. Aula Multimediale - sabato 29/03/2008

Alfa Layer S.r.l. Via Caboto, Torino ALFA PORTAL

Registratori di Cassa

Università di Parma Facoltà di Ingegneria. Polo Tecnologico Nettuno

FORYOU Passione per la comunicazione. Direct Marketing Concorsi via Sms

Telerilevamento e GIS Prof. Ing. Giuseppe Mussumeci

Breve introduzione curata da Alessandro Benedetti. Struts2-Introduzione e breve guida

Alessandra Raffaetà. Basi di Dati

CALCOLO COMBINATORIO

Pronto Esecuzione Attesa Terminazione

Artifact Centric Business Processes (I)

I Thread. I Thread. I due processi dovrebbero lavorare sullo stesso testo

Introduzione. Classificazione di Flynn... 2 Macchine a pipeline... 3 Macchine vettoriali e Array Processor... 4 Macchine MIMD... 6

LA GESTIONE DELLE VISITE CLIENTI VIA WEB

Come si può vedere, la regola è stata fatta in modo da spostare tutti i messaggi di Spam nella cartella del cestino.

Lezione 1. Introduzione e Modellazione Concettuale

Prodotto <ADAM DASHBOARD> Release <1.0> Gennaio 2015

Addition X DataNet S.r.l.

SISTEMI OPERATIVI. Prof. Enrico Terrone A. S: 2008/09

Sviluppata da: Lo Russo - Porcelli Pag. 1 di 6 6FRSR utilizzare il DBMS Postgresql per imparare il linguaggio SQL.

Modello di Controllo dell Accesso basato sui ruoli (RBAC)

IL SISTEMA INFORMATIVO

INFORMATICA. Il Sistema Operativo. di Roberta Molinari

Seminario di Sistemi Distribuiti RPC su SOAP

Access. P a r t e p r i m a

Mac Application Manager 1.3 (SOLO PER TIGER)

SCENARIO. Personas ALICE Lucchin / BENITO Condemi de Felice. All rights reserved.

Ibpm è lo strumento per la gestione dei processi, dalla modellazione, all esecuzione, al monitoraggio.

Per capire meglio l ambito di applicazione di un DWhouse consideriamo la piramide di Anthony, L. Direzionale. L. Manageriale. L.

Sicurezza nei Web Services: Migrazione dell autenticazone di Web Services da ticket di sessione a WS-Security con token SAML

Il Sistema Operativo

Client - Server. Client Web: il BROWSER

Esercizi su. Funzioni

Overview SAP Workflow. ECORA Srl - Massimo Rastaldi m.rastaldi@eco-ra.it Cell

Basi di dati. Corso di Laurea in Ingegneria Informatica Canale di Ingegneria delle Reti e dei Sistemi Informatici - Polo di Rieti

INTRODUZIONE AGLI ALGORITMI INTRODUZIONE AGLI ALGORITMI INTRODUZIONE AGLI ALGORITMI INTRODUZIONE AGLI ALGORITMI

Introduzione ai Web Services Alberto Polzonetti

Base di dati e sistemi informativi

Database. Si ringrazia Marco Bertini per le slides

Traccia di soluzione dell esercizio del 25/1/2005

Gestione Risorse Umane Web Work-flow Selezione

Sistemi informativi secondo prospettive combinate

SQL Server Integration Services. SQL Server 2005: ETL - 1. Integration Services Project

Dispensa di Informatica I.1

CitySoftware PROTOCOLLO. Info-Mark srl

Siamo così arrivati all aritmetica modulare, ma anche a individuare alcuni aspetti di come funziona l aritmetica del calcolatore come vedremo.

Al giorno d oggi, i sistemi per la gestione di database

INVIO SMS

Sicurezza e Gestione delle Reti (di telecomunicazioni)

INNOVAZIONE XNOTTA PER PORTALI TURISTICI

03. Il Modello Gestionale per Processi

Università Politecnica delle Marche. Progetto Didattico

Corso di Sistemi di Elaborazione delle informazioni

10.1. Un indirizzo IP viene rappresentato in Java come un'istanza della classe InetAddress.

Joomla! 2.5:Utenti e permessi - Il wiki di Joomla.it

Il modello veneto di Bilancio Sociale Avis

Informatica per le discipline umanistiche 2 lezione 10

Project Management. Modulo: Introduzione. prof. ing. Guido Guizzi

Il modello di ottimizzazione SAM

Valutazione della Didattica On-Line

Транскрипт:

Ingegneria dei processi aziendali BPEL: Business Process Execution Language Ghilardi Dario 753708 Manenti Andrea 755454 Docente: Prof. Ernesto Damiani

BPEL - definizione Business Process Execution Language Linguaggio di programmazione testuale basato su XML costruito per descrivere formalmente i processi commerciali ed industriali in modo da permettere una suddivisione dei compiti tra attori diversi. ll linguaggio BPEL permette di descrivere un business process mediante un insieme di attività, semplici o composte Lo standard che definisce l'uso di BPEL nelle interazioni tra Web services è chiamato WS-BPEL. BPEL è nato come integrazione delle ricerche svolte da IBM e Microsoft su WSFL e XLANG, entrambi superati da BPEL. Nel 2003 BPEL è stato standardizzato da OASIS.

BPEL concetti chiave (1/2) Processo di business: descrive le procedure aziendali chiave e la loro organizzazione in funzione delle attività semplici, delle risorse e degli attori. Workflow management system: tenta di coordinare, in modo più automatizzato possibile, processi di business tenendo conto di chi, cosa e come si devono svolgere le attività; al fine di ridurre costi e tempo e avere un mapping tra IT e business process efficace. BPEL è particolarmente adatto a modellare workflow completamente automatizzati, per la composizione di web service e l'integrazione di servizi eterogenei.

BPEL concetti chiave (2/2) Composition: modella la struttura interna e l implementazione di un servizio (comportamento interno di un W.S.). Coordination: Gestisce le interazioni esterne tra più servizi (scambio di messaggi tra W.S.). In realtà sono molto legate tra loro. Non si può pensare ad una sola delle due senza considerare l altra! BPEL ha come obiettivo quello di descrivere composition e coordination in modo semplice ed efficace.

BPEL caratteristiche base Il BPEL permette di creare servizi composti in modo dichiarativo. I servizi composti sono quelli distribuiti su più server e su diverse unità. Il BPEL permette di effettuare una sola chiamata da client per avere un servizio composto da più servizi semplici opportunamente coordinati. Una Engine che riceve in in input il Bpel e si occuperà di fare le chiamate e passare i dati nei tempi e nei modi specificati.

Elementi del BPEL composition model (1/2) Un composition model definisce come combinare i vari elementi (cioè i W.S.) che compongono un servizio complesso. Gli elementi possono essere eterogenei ma deve essere possibile accedervi attraverso semplici invocazioni. 1. Service Selection Model: specifica quali servizi devono inviare o ricevere quali messaggi e quando. Inoltre, specifica come i servizi sono legati alla composition: Static Binding Dynamic binding by reference: URL del servizio memorizzata in una variabile. Dynamic binding by lookup: URL del servizio cercata tramite query ad un registry. Dynamic operation selection: non viene fatta alcuna assunzione sul servizio da invocare.

Elementi del BPEL composition model (2/2) 2. Data Model: specifica chiaramente strutture e tipi di dato per le variabili scambiate tra i servizi. 3. Data Transfer Model: definisce lo scambio di dati tra i servizi, utilizzando: White Board: contenitore di tutte le variabili (subito disponibili alla engine). Data Flow Graph: specifica come e quando i dati vengono rilasciati alla engine (non tutti subito disponibili, ma on-demand per evitare side effect). 4. Exception Handling: permette la gestione di diversi tipi di eccezioni in diverse modalità (timeout, try-catch).

BPEL: altri aspetti Transazioni: Con BPEL è possibile creare servizi composti di natura transazionale. Le transazioni vere e proprie devono soddisfare le proprietà ACID (tipiche dei Database) e devono permettere di fare roll-back. In SOA non è sempre possibile effettuare roll-back,ma a questo si può ovviare con l operazione di compensation handling. Properties: Con properties si definiscono gli elementi che si intendono usare per collegare i messaggi da scambiare alle istanze di processo. Un correlation set è un gruppo di properties che individua una certa conversazione di un dato processo.

WS-BPEL in pratica (1/2) Composition e Coordination: WS-BPEL è lo standard per la specificazione di business process solo per web service. Viene usato per definire processi eseguibili (composition) e processi astratti (coordination) in modo semplice ed efficace. Composition: si aggregano le interfacce WSDL dei vari servizi secondo le regole scelte. Ricorsivamente si ottiene il WSDL del servizio composto. Coordination: definizione di vincoli e regole sul WSDL del servizio composto. Partner Link: sono la definizione del web service da invocare come parte del servizio composto in BPEL. Rappresentano una istanza del W.S. attraverso una mappatura del WSDL del servizio.

Operazioni: Semplici: <receive>: mette in attesa finché non arriva un messaggio. <reply>: manda un messaggio di risposta ad uno ricevuto. <invoke>: manda un messaggio per invocare un operazione remota. <assign>: aggiorna il valore di una variabile. <wait>: sospende l esecuzione per un dato periodo di tempo. <empty>: nessuna operazione usata per sincronizzare. <terminate>: termina il processo. <throw>, <rethrow>: lancia un fault per l apposito gestore. <catch>, <catchall>: cattura fault di una certa natura lanciati da throw. <compensate>: annulla gli effetti di una attività già completata. Composte: WS-BPEL in pratica (2/2) <sequence>: esegue un insieme di attività, una dopo l altra. <switch>: sceglie tra due insiemi di attività. <while>: ripete al verificarsi di una certa condizione. <flow>: esegue attività in parallelo. <pick>: divide il flusso in più rami ed esegue quello relativo al messaggio che arriva primo. <scope>: definisce un blocco di attività.

Progetto: terminale SIFA (1/4) Strumenti: Per realizzare il nostro progetto abbiamo usato come ambiente di sviluppo NetBeans 6.0.1, che supporta il Plug-in SOA. Abbiamo inoltre utilizzato l application server open source Glassfish. Primo Passo, i Web Service: Abbiamo scelto di realizzare per il nostro progetto due Web Service: Gestore_Esami e Mailer. Abbiamo scritto i prototipi delle funzioni che volevamo avessero, specificando la tipologia di dati in Input e Output per ciascuna. Effettuando le operazioni di Build e di Deploy abbiamo generato il WSDL di entrambi i servizi semplici.

Progetto: terminale SIFA (2/4) Secondo Passo, il Client: Abbiamo realizzato una interfaccia Client (WSDL), pensando a come si sarebbe mostrato agli studenti il nostro terminale SIFA. Il client può effettuare le operazioni di iscrizione e cancellazione, oltre che di scelta dell operazione da eseguire. Terzo Passo, il BPEL: Innanzitutto abbiamo linkato al BPEL le interfacce WSDL dei W.S. e del client che diventano così i partner links del progetto. Abbiamo poi realizzato il control flow gestendo lo scambio di messaggi e di dati tra i partner links. Per realizzare il servizio composto abbiamo utilizzato le operazioni semplici di recieve, assign, invoke, reply e throw; e le operazioni composte di sequence e switch ( if per la scelta iniziale).

Scelte: Progetto: terminale SIFA (3/4) Abbiamo pensato che la prima operazione chiesta all utente fosse quella di scegliere l attività da eseguire (nel nostro caso tra 2 possibilità). Il workflow si presenta così diviso in due rami alternativi in cui sono presenti due sequenze di operazioni. L utente per iscriversi o cancellarsi ad un appello può scegliere tra una lista di esami a cui può iscriversi o a cui è già iscritto. La lista verrà quindi elaborata dal W.S. Gestore_Esami in base alla matricola inviata. L iscrizione o la cancellazione comportano l invio di una mail di conferma allo studente; operazione è gestita del W.S. Mailer.

Progetto: terminale SIFA (4/4) Commenti: pur trattandosi di un progetto basilare, l ambiente di sviluppo utilizzato si è rivelato spesso macchinoso e complesso. A nostro parere i principi e i concetti teorici non hanno ancora un valido strumento per la messa in pratica. Conclusioni: Abbiamo approfondito i concetti teorici alla base del linguaggio descrittivo BPEL e ne abbiamo appreso le principali operazioni e funzionalità pratiche. Realizzando il progetto abbiamo potuto sperimentare un ambiente di sviluppo e ci siamo misurati con un problema concreto, applicando quanto studiato.