Pernici Barbara Politecnico di Milano Master Universitario di II livello in Tecnologia dell'Informazione.

Slides:



Advertisements
Presentazioni simili
UNIVERSITÀ DEGLI STUDI DI MODENA E REGGIO EMILIA
Advertisements

EUCIP IT Administrator Modulo 4 - Uso Esperto della Rete Reti informatiche: Introduzione AICA © 2005.
Architetture dei sistemi distribuiti Prof
INGEGNERIA DEI PROCESSI GESTIONALI
Classe III A A.s – 2010 Programma di Informatica
Classe III A A.s – 2011 Programma di Informatica 5 ore settimanali (3 laboratorio) Docenti –Prof. Alberto Ferrari –Prof. Alberto Paganuzzi.
Consumare Web Service Andrea Saltarello
Web Services.
Java Enterprise Edition (JEE)
P. Sanna 1 I web services TICO Corso di laurea in Informatica Università di Pisa a.a Pierluigi Sanna.
UNIVERSITA DEGLI STUDI DI MODENA E REGGIO EMILIA Facoltà di Ingegneria – Sede di Modena Corso di Laurea in Ingegneria Informatica Progetto e sviluppo di.
Introduzione ai Web Services. E' un nuovo meccanismo RPC ottimizzato per l'uso in Internet Un qualunque Client su una generica piattaforma deve poter.
Progetto MODA-ML Biella, 30 novembre 2001 Sistema di interscambio messaggi Luca Mainetti HOC - Hypermedia Open Center Dipartimento di Elettronica e Informazione.
Chiara Francalanci Politecnico di Milano SMAU 22 Ottobre 2004.
Sistemi di gestione di workflow
MicroBPEL un motore per lorchestrazione di processi su palmare Paola SANDRINELLI Matteo SANSALONE Politecnico di Milano Facoltà di Ingegneria dellInformazione.
XML Prof. Barbara Pernici Politecnico di Milano. Introduzione a XML.
XML Prof. Barbara Pernici Politecnico di Milano aggiornato 10/12/2002.
Ambiente di Invocazione Dinamica dei Servizi Enrico Mussi - WP2.
B. Pernici WP2: E-service Riunione MAIS, Nov
Infrastruttura tecnologica, WP 8 Exploitation WP 9 Gestione del progetto B. Pernici 4 dicembre 2002.
Sistemi di gestione di workflow
Cultura Tecnologica del Progetto Sezioni P3, P4, P5
Argomenti Avanzati di Sistemi Informativi Approfondimento su Workflow e Web Services: "Gestione delle eccezioni: confronto tra soluzioni per applicazioni.
Argomenti avanzati di sistemi informativi A Coreografia e orchestrazione dei web services Quattrocchi Salvatore Matr
1 Il servizio di prestito e fornitura documenti ILL-SBN una visione di insieme caratteristiche della procedura illustrazione delle funzionalità
Università degli Studi
Corso di Informatica per Giurisprudenza Lezione 5
Perché.Net e non più COM/DCOM ? Superamento dei problemi di COM: Richiede una infrastruttura "non semplice" da ogni applicazione (ad esempio Class Factory.
Integrazione di una piattaforma IPTV in un’architettura SOA
Unità Didattica 1 Algoritmi
XML e la generazione di cataloghi multimediali F. Garzotto, L. Mainetti, P. Paolini Politecnico di Milano HOC - Hypermedia Open Center Dipartimento di.
Candidato: Maurizio Tesconi
Descrizione e gestione di workflow documentali con una applicazione basata su XML Dott. Oreste Signore Dott. Andrea Marchetti Ing. Maurizio Tesconi.
FONDAMENTI DI INFORMATICA III A2A2-1 CARATTERISTICHE E MODELLIZZAZIONE DEL LAVORO DUFFICIO Argomento 2 Approfondimento 2 CARATTERISTICHE E MODELLIZZAZIONE.
Strutture di controllo in C -- Flow Chart --
Elaborazione di Franco Grivet Chin
D.E.I.S. Universita di Bologna VHDL come strumento CAD allinterno di flussi di progetto per dispositivi Digitali VHDL come strumento CAD allinterno di.
Rappresentazione e Gestione di Linee Guida Cliniche tramite YAWL
PROGETTAZIONE E REALIZZAZIONE DI UN MIDDLEWARE CLIENT-SERVER
1 una piattaforma 2.0 per la gestione multicanale di riviste Il caso studio di Vita Trentina Editrice Un progetto.
Caico Roberto,Termine Franceso Workflow La semplificazione delluso del computer o lautomazione di un processo di lavoro in tutte le sue parti Workflow.
SISTEMA DI TIPI PER JOLIE
Progetto di Reti di Calcolatori L-S Orchestrazione di servizi WEB
CODIFICA Da flow-chart a C++.
Non solo Gestione Documentale Day "Apparecchiature di elaborazione testi prossima uscita vedrà 'l'inizio del ufficio senza carta …" 1975.
Sistemi Informativi sul Web
Verifying Web Service Composition
1 Lucidi delle esercitazioni di Sistemi di Elaborazione in Rete Università degli Studi della Calabria Corso di Laurea in Ingegneria Gestionale A.A. 2003/2004.
Presentazione del problema Obiettivo: Lapplicazione di Search of Sematic Services permette di ricercare sevizi semantici, ossia servizi a cui sono associati.
Fopndamenti di programmazione. 2 La classe String Una stringa è una sequenza di caratteri La classe String è utilizzata per memorizzare caratteri La classe.
Corso di Web Services A A Domenico Rosaci 1. Introduzione
Linguaggi e modelli computazionali LS Manni Tiziano
Politecnico di Torino maggio DIDAMATICA 2011 Insegnare Futuro EXCEL4PS&SP – 6 Maggio 2011 Prof. Nicola Armenise, PhD I.T.E.S. “A. Olivetti” -
Sistemi basati su conoscenza Gestione della conoscenza Prof. M.T. PAZIENZA a.a
Distributed System ( )7 TCP/IP four-layer model.
Università degli Studi di Bologna FACOLTA’ DI INGEGNERIA Corso di Laurea in Ingegneria Informatica I web services come soluzione per l’interoperabilità.
SISTEMI DI GESTIONE DI WORKFLOW
Internet e HTML Diffusione di informazioni mediante la rete Internet.
TW Asp - Active Server Pages Nicola Gessa. TW Nicola Gessa Introduzione n Con l’acronimo ASP (Active Server Pages) si identifica NON un linguaggio di.
UNIVERSITÀ DEGLI STUDI DI CAGLIARI FACOLTÀ DI SCIENZE MATEMATICHE FISICHE E NATURALI Corso di Laurea Specialistica in Tecnologie Informatiche Applicazioni.
Ingegneria del software Modulo 3 -Tecniche d’implementazione Unità didattica 1 -Ingegneria dei componenti Ernesto Damiani Università degli Studi di Milano.
Diagrammi a blocchi.
Business Process Management Orchestrazione di Web Service basata su standard BPEL per la realizzazione di un servizio di tour operator Università degli.
Mignani Fabio – Senior Technology Specialist – Divisione Enterprise - Microsoft Microsoft BizTalk Server 2004 Il dilemma del "Build.
Architetture software
Sistemi distribuiti Sistema distribuito indica una tipologia di sistema informatico costituito da un insieme di processi interconnessi tra loro in cui.
Parsing ricorsivo discendente Il parsing ricorsivo discendente (recursive descent parsing) è un metodo di tipo top-down che può essere facilmente codificato.
La metodologia Insirio a supporto dei processi di migrazione: da Client/Server a SOA … direzione Grid Computing Angelo Zaia Ph.D. Inquadro – Insirio Innovazioni.
Competenze Informatiche Avanzate
Transcript della presentazione:

Pernici Barbara Politecnico di Milano Master Universitario di II livello in Tecnologia dell'Informazione novembre 2003 ICT Center of Excellence For Research, Innovation, Education, and life-long Learning Politecnico di Milano Tecnologie per e-service Composizione di e-service Workflow Management Systems

Sommario Workflow management systems: concetti generali Processi e web-service BPEL Altri approcci WorkFlow Coalition

SOA

SOA Reminder Transport Medium Find Bind Publish Service Requestor Service Directory Service Provider

...in relazione ai Web Services Service Requestor Service Requestor WSDL UDDI SOAP

Web Services SOA In Action UDDI, WSDL, SOAP,... Perform Delivery Check Credit Rating Produce Invoice

Processi, web service e workflow Processo ottenuto come invocazione di più servizi web -> orchestrazione di web service BPEL4WS Esecuzione di attività collegate da parte di più agenti -> workflow WorkFlow Coalition reference architecture

Work Flow Management: Introduzione La caratteristica principale della tecnologia dei WF è lautomazione di processi che coinvolgono una combinazione di attività umane e automatiche, in particolare con il coivolgimento di applicazioni e strumenti IT

Cosa è un Workflow? Lautomazione di un business process, in tutto o in parte, in cui documenti, informazioni o compiti sono passati da un partecipante a un altro per svolgere attività, secondo un insieme di regole procedurali Molte singole istanze di processo possono essere operative durante lenactment di un processo, ciascuna associata a un insieme di dati rilevanti per quella particolare istanza di processo (o caso o workflow case)

Workflow Concetti generali

Definizione dei processi rete di attività criteri per iniziare e terminare il processo informazioni sulle singole attività partecipanti, documenti e dati collegati applicazioni sw da utilizzare

Partecipante di un Workflow in grado di eseguire il compito risorsa umana una persona un gruppo che condivide un insieme di compiti da svolgere applicazione software hardware specifico

Process Definition Rappresentazione di un processo in una forma che consente la manipolazione automatica Per modellazione Per enactment La definizione di un processo consiste in una rete di attività e loro relazioni, criteri per indicare linizio e la fine di un processo, e informazioni riguardo le singole attività, quali I partecipanti, le applicazioni IT associate, I dati, …

Processo

Gestione ordine Compila BdO Approvazione Stampa report Contabilita approva impiegatoresponsabile direttore direttore Contabilita Excel Word Direttore controlla fine Controllo disponibilita

Evoluzione dei workflow gestione di documenti posta elettronica groupware software per la gestione dei progetti BPR e strumenti per la progettazione strutturata separazione delle funzionalità di gestione di WF orchestrazione di web-service elaborazione di immagini

istanze di processo (o casi) ciascuna con i propri dati e i propri partecipanti Workflow Management System

Partecipante di un Workflow esegue il lavoro associato a una particolare istanza di attività lista dei lavori (worklist): compiti assegnati a partecipante risorsa

Esempio di schermata (client)

Process Instance Worklist Process Definition A Activity B Activity D Activity A Activity C Process Definition

1st Process Instance Work Item1 Work Item2 2nd Process Instance Process Definition Process Instance Worklist Process Definition A Work List 1 Activity B Activity D Activity A Activity C

1st Process Instance 2nd Process Instance Work Item1 Work Item2 Work List 1 Work List 2 Process Definition A Activity B Activity D Activity A Activity C 3rd Process Instance Work Item3 Process Definition Process Instance Worklist

1st Process Instance 2nd Process Instance Work Item2 Process Definition A Work List 1 Work List 2 Activity B Activity D Activity A Activity C 3rd Process Instance Work Item3 Work Item4 Work Item5 Process Definition Process Instance Worklist A eseguita

Processi e Web service

BPEL4WS Business Process Execution Language for Web Services Obiettivo: Specifica un modello di comportamento dei servizi web durante un processo di business Si pone ad un livello pi ù alto dei linguaggi visti fino ad adesso in ambito WS Grammatica basata su XML Descrive la logica di funzionamento del processo Interpretato da un orchestration engine che coordina il processo

WF e web-service Orchestrazione di servizi: Invocazione di web-service secondo una sequenza predefinita Schema di processo Esecuzione automatica del processo Il processo è anchesso un web-service

BPEL e gli altri

Un documento BPEL è legato a WSDL in tre modi: I processi BPEL vengono esposti come servizi Web tramite WSDL, con cui vengono descritti i punti iniziali e finali del processo; I tipi di dati WSDL vengono utilizzati all interno di un processo per descrivere le informazioni passate tra le richieste; Con WSDL è possibile fare riferimento a servizi esterni. WS-Transaction Standard per la descrizione delle transazioni a lungo termine

Vista di un web service implementato come processo BPEL portType Web service BPEL process c c

Definizione processo: Documenti BPEL Descrizione delle attività Due tipologie di attività Semplici Strutturate, contengono altre attività e ordine di esecuzione Inizio e termine del processo Receive: il processo è in attesa di ricevere un messaggio Reply: il processo risponde al messaggio ricevuto Receive + Reply formano request-response Nota: receive e reply possono essere anche essere utilizzate per interazioni intermedie

Documenti BPEL Attivita semplici di base Receive Reply Invoke, consente linvocazione di una operazione su un WS Assign, consente di modificare il valore di una variabile Costruttori Sequence, costruisce una sequenza di azioni Switch, consente di scegliere fra azioni diverse While, consente di far ciclare le azioni (loop) Flow, consente lesecuzione di più attività in parallelo Pick, blocca unattività fino allarrivo di un messaggio Link, collegamenti tra attivita

Documento BPEL Container (variable) Tipi di dati usati nel processo Specifica WSDL Partners Partecipanti al processo Ogni partner è caratterizzato da un service link type Role funzionalità svolta da un partner allinterno del processo Un partner può avere più ruoli

Esempio

Vista interna

Definizione dei messaggi Listing 1: Loan Definitions WSDL (loandefinitions.wsdl) <definitions targetNamespace=" xmlns:tns=" xmlns:xsd=" xmlns="

Servizio LoanApprover Listing 2: Loan Approver WSDL (loanapprover.wsdl) <fault name="loanProcessFault" message="loandef:loanRequestErrorMessage"/>

Il processo Loan Approval come web service Listing 3: Loan Approval WSDL(loan-approval.wsdl) <definitions targetNamespace=" xmlns=" xmlns:slnk=" xmlns:xsd=" xmlns:lns=" xmlns:apns=" <import namespace=" location=" loanapproval/loanapprover.wsdl"/> <import namespace=" location=" loanapproval/loandefinitions.wsdl"/> Utilizzato per entrambi i servizi Definizione di max due ruoli per port type

Processo loanApprovalProcess

Definizione processo (1) <process name="loanApprovalProcess" targetNamespace=" xmlns=" xmlns:lns=" xmlns:loandef=" xmlns:apns=" <partner name="customer" serviceLinkType="lns:loanApprovalLinkType" myRole="approver"/> <partner name="approver" serviceLinkType="lns:loanApprovalLinkType" partnerRole="approver"/>

Definizione processo (2) <receive name="receive1" partner="customer" portType="apns:loanApprovalPT" operation="approve" container="request" createInstance="yes"> <invoke name="invokeapprover" partner="approver" portType="apns:loanApprovalPT" operation="approve" inputContainer="request" outputContainer="approvalInfo"> <reply name="reply" partner="customer" portType="apns:loanApprovalPT" operation="approve" container="approvalInfo">

Processi con percorsi non sequenziali

Loan Assessor Listing 1. Loan assessor's WSDL snippet (loanassessor.wsdl) <definitions targetNamespace=" … <fault name="loanProcessFault" message= "loandef:loanRequestErrorMessage"/>

Nuove definizioni <partner name="assessor" serviceLinkType="lns:riskAssessmentLinkType" partnerRole="assessor"/> <container name="riskAssessment" messageType="asns:riskAssessmentMessage"/>

Definizione flusso (1) <receive name="receive1" partner="customer portType="apns:loanApprovalPT" operation="approve" container="request" createInstance="yes"> <source linkName="receive-to-assess" transitionCondition= "bpws:getContainerData('request', 'amount') <source linkName="receive-to-approval" transitionCondition= "bpws:getContainerData('request', 'amount')>=10000"/>

Definizione flusso (2) <invoke name="invokeAssessor" partner="assessor" portType="asns:riskAssessmentPT" operation="check" inputContainer="request" outputContainer="riskAssessment"> <source linkName="assess-to-setMessage" transitionCondition="bpws:getContainerData('riskAssessme nt', 'risk')='low'"/> <source linkName="assess-to-approval" transitionCondition= "bpws:getContainerData('riskAssessment', 'risk')!='low'"/>

Definizione flusso (3) <invoke name="invokeapprover" partner="approver" portType="apns:loanApprovalPT operation="approve" inputContainer="request outputContainer="approvalInfo"> <reply name="reply" partner="customer" portType="apns:loanApprovalPT operation="approve" container="approvalInfo">

Esecuzione

Creazione Processo Creazione su receive createInstance=Yes Correlation set Non vi e un istanceID per listanza di processo I correlation set definiscono le chiavi del processo Es: firstName, name nel processo indicato Altre richieste che arrivano al processo con lo stesso Nome e Cognome vengono correlate allistanza gia attiva del processo Utili per long-running business processes

Uso correlation set Secondo receive: Acceptance- receive Se stesso nome e cognome -> stessa istanza di processo

Altre attività di base I Faults possono essere gestiti in BPEL4WS con una activity. Lattività può essere utilizzata per abbandonare immediatamente lesecuzione in una istanza di processo che la esegue Lattività permette di aspettare un intervallo di tempo o una deadline Lattivtà non fa nulla. Può essere utilizzata per catturare e gestire un fault.

Documento BPEL Gestione eventi (fault handlers) Attività da eseguire in base ad errori Due tipi di eventi Fault Lanciare eccezioni durante linvocazione di un servizio Es. servizio acquisto dadi, dadi finiti Compensation Azioni per annullare o invertire il servizio che ha causato il fault La reazione alle eccezioni dipende dallo stato del processo Tutte le azioni allinterno del tag scope devono essere tutte concluse o eliminate (transazioni)

Faults

Uso scope e faults

Commenti Punti di forza di bpel4ws Gestione delle transazioni WS-transaction Gestione delle eccezioni Meccanismo di throw and catch tipico dei linguaggi di programmazione Il linguaggio BPEL è indipendente dalla logica funzionale che cè sotto Aumento della flessibilità Esiste un motore BPEL4WS

Commenti È fortemente centralizzato Definizione dei processi a priori In alcuni contesti (esempio mobili) difficile implementazione

Altri approcci ebXML: Electronic business XML E una iniziativa portata avanti dal consorzio OASIS, costituito da diverse imprese di IT e da UN/CEFAT automatizzare le procedure di business inter e intra organizzazione Prendere a riferimento un processo di business allinterno del quale vengono specificati tutti gli aspetti della cooperazione

Altri approcci (2) Semantic Web e DAML-S ontologia dei servizi sviluppata nell ambito del programma DARPA rendere possibile ad utenti ed agenti software il discovery, l invocazione, la composizione e il monitoring di risorse Web che offrono particolari servizi e che hanno particolari propriet à strutturazione di ontologie di DAML+OIL forniscono il framework Obiettivi Discovery automatico dei servizi Invocazione automatica dei servizi –Un agente software dovrebbe essere in grado di capire in maniera automatica quali input sono necessari per l esecuzione di un servizio

WF e WFMS

Tipi di processi Georgakopoulos et al [Geo95] (classificazione in base alla struttura) scarsamente strutturati (sequenza attivita) altamente strutturati caratterizzati da strutture complesse, con cicli, task eseguiti in parallelo e sincronizzazioni fra attività. ulteriore classificazione in Geo95 human-oriented system-oriented

Tipi di processi processi ad hoc senza una struttura fissa e ben definita, caratterizzati da alta variabilità. Es. riorganizzazione di unazienda il sistema deve consentire la cooperazione tra persone che contribuiscono alla sua esecuzione, al fine di definire (dinamicamente) la struttura del processo man mano che questo procede.

Tipi di processi Collaborativi il sistema supporta linterazione tra piu persone definizione del contesto es: redazione di un testo

Tipi di processi processi amministrativi processi prevedibili e ripetibili è possibile definire uno schema attività in genere eseguite da agenti umani (sono processi human-oriented), e comportano tipicamente linserimento di dati o la scrittura di documenti. Es. La prenotazione di un viaggio, la valutazione di una richiesta di pensione Data la loro ripetitività, i processi amministrativi si prestano bene ad essere automatizzati

Tipi di processi processi produttivi system-oriented altamente strutturati guidano aspetti operativi di unazienda elevato numero di transazioni che accedono a vari sistemi informativi. Es. La costruzione di un aereo e laggiornamento di un data warehouse sono esempi di processi produttivi. prevedibili e ripetibili, possono essere automatizzati. cooperazione con sistemi informativi esterni che tipicamente sono eterogenei, autonomi e distribuiti. Scalabilita robustezza, disponibilita

Workflow Classification (C) Leymann 2001

Ader 2001 Workflow Classification Ader 2001

definire processi creare, gestire lesecuzione di workflow uno o più motori di workflow (workflow engine) interagire con i partecipanti chiamare applicazioni e strumenti software esterni Workflow Management System Sistema software per:

Workflow Management Coalition WfMC fondata nellagosto 1993 organizazione internazionale venditori di tecnologia WFMS, utenti e analisti terminologia standard standard di interconnessione tra WFMS e con applicazioni esterne favorire luso dei WFMS obiettivi

Il lavoro della Coalition Reference Model Glossary Process Definition Tools Interface (1) Workflow Client Application Interface (2) Invoked Application Interface (3) Workflow Interoperability Interface (4) Administration & Monitoring Tools Interface (5)

La sfida Gestione dei flussi di lavoro In processi complessi, la pianificazione e la gestione delle diverse attività diventa sempre più difficile Controllare I flussi di lavoro può richiedere tanto tempo quanto lesecuzione del lavoro stesso

La soluzioneWorkflow management software Wokflow management software: gestisce attivamente il coodinamento di attività tra persone in processi di business generici

Workflow Management System A system that defines, creates and manages the execution of workflows through the use of software, running on one or more workflow engines, which is able to interpret the process definition, interact with workflow participants and, where required, invoke the use of IT tools and applications

WFMS: aree funzionali Build-time functions, riguardano la definizione, e la modellazione dei processi di workflow e delle attività che li costituiscono Run-time control functions riguardano la getione dei processi di workflow in un ambiente operativo e la seqanzializzazione delle attività gestite come parte del processo Run-time interactions with human users and IT application tools per eseguire le attività

WFMS

WF modeling constructs Activities Transitions Join / split (AND e OR) Tipi di attivita Generica Nulla Ciclo (con condizioni iniziale e finale + corpo del ciclo) subflow

Activity body Role Duration (average, max) Description Tools, applications

Workflow Participant A resource which performs the work represented by a workflow activity instance. This work is normally manifested as one or more work items assigned to the workflow participant via the worklist

Process execution Evolution of instance of process (case) Evolution of activities in process

Transizioni di stato per istanze di processi Suspended Active Terminated RunningInitiated Initiate Complete Start Restart Restart Terminate/ Abort Suspend / resume (1 or more activity instances)

Transizioni di stato per attività Suspended ActiveCompleteInactive Start Suspend / Resume (has Work Item)

Worklist Worklist: a list of work items associated with a given workflow participant (or in some cases with a group of workflow participants who may share a common worklist). The worklist forms part of the interface between a workflow engine and the worklist handler

Distribution & System Interfaces

Product Implementation Model

The generic model has three types of component: software components which provide support for various functions within the workflow system (shown in dark fill) various types of system definition and control data (shown unfilled) which are used by one or more software components applications and application databases (shown in light fill) which are not part of the workflow product, but which may be invoked by it as part of the total workflow system

Data Control data Status of activities (running, suspended, terminated) Assignment of activities Relevant data Needed to perform the work (e.g. loan amount, used in conditions such as loan-amount> 1000) Application data

Alternative Implementation Scenarios Amongst the main alternatives considered are: centralised or distributed workflow enactment service worklist handler location(s) and distribution mechanism

Standard workflow enactment service boundary

Alternative client worklist handler implementations

The Need for Standardisation The basic rationale to achieve standardisation of important workflow functional interfaces is driven by two major considerations: Ongoing support for business re-engineering & operational flexibility Integration requirements resulting from product specialisation and market variety

Workflow Reference Model

Workflow Enactment Services A software service that may consist of one or more workflow engines in order to create, manage and execute workflow instances. Applications may interface to this service via the workflow application programming interface (WAPI). A workflow enactment service may operate within a single (homogeneous) workflow domain, or using the facilities provided within the WfMC interoperability interface enactment may occur across engines within several (heterogeneous) domains

Process Definition Interchange

XML Process Definition Language Workflow Process Definition Interface -- XML Process Definition Language. (XPDL) (May 22, 2001) Document Number WFMC-TC-1025 Document Status – Draft 0.03a (Alpha Status) This forms part of the documentation relating to Interface one - supporting Process Definition Import and Export. This interface includes a common meta-model for describing the process definition and also a DTD for the interchange of process definitions. XPDL_ PDF (329kb) XPDL.DTD (7kb) The intended audience for this document is primarily vendor organizations who seek to implement the XML Process Definition Language (XPDL) of the Workflow Management Coalition (WfMC). XPDL_ PDF XPDL.DTD

Interaction with external resources The client application interface (2), through which a workflow engine interacts with a worklist handler The invoked application interface (3), which enables the workflow engine to directly activate a specific tool to undertake a particular activity.

Client Application Interface

Invoked Application Interface

Workflow Interoperability Un obiettivo della coalition e definire standard per consentire a sistemi di workflow realizzati da diversi produttori sw di scambiarsi elementi di lavoro Sono stati identificati 4 diversi possibili modelli di interoperabilita, con possibilita diverse

Modello a servizi concatenati Questo modello consente il trasferimento di un singolo elemento di lavoro (istanza di processo o attivita) tra due ambienti WFMS diversi, che operano indipendentemente dopo lo scambio, senza ulteriori sincronizzazioni

Modello a sottoprocessi annidati Nel diagramma, il servizio di WF A ha unattivita definita (A3) che e eseguita come un processo completo (B) sul sistema di WF B, con ritorno del controllo a A dopo lesecuzione

Modello Peer-Peer Questa alternativa richiede che entrambi i servizi di WF supportino una interfaccia API comune per la comunicazione e che siano in grado di interpretare una definizione di processo comune, che puo essere importata da un processo di definizione esterno o trasferita run time durante lesecuzione

Modello parallelo sincronizzato I due processi operano sostanzialmente indipendentemente, ma richiedono dei punti di sincronizzazione tra i due processi

Workflow interoperability interface

Interoperabilita XML Messaging Wf-XML: interoperabilita tra WfMS - a livello di istanze documento Workflow Standard Interoperability - WF- XML Binding, WF Handbook 2001 azioni sui processi, scambio dati, messaggi di controllo

Esempio Wf-XML

Esempio Wf-XML (2)

Systems Administration & Monitoring Interface

Control, Relevant and Applications data Workflow Control Data: Internal data that is managed by the workflow management system and/or workflow engine Workflow Relevant Data: Data that is used by a workflow management system to determine the state transition of a workflow process instance Workflow Application Data: Data that is application specific and not accessible by the workflow management system

Control, Relevant and Applications data Workflow Control Data: Internal data that is managed by the workflow management system and/or workflow engine Workflow Relevant Data: Data that is used by a workflow management system to determine the state transition of a workflow process instance Workflow Application Data: Data that is application specific and not accessible by the workflow management system

Types of Data in Workflow Management Systems

Bibliografia IEEE Computer, special issue on Web Services Computing: Advancing software interoperability, Oct Gustavo Alonso, F. Casati, H. Kuno, V. Machiraju, Web Services, Springer, 2003 The Workflow Management Coalition home page: P. Grefen, B. Pernici, G. Sanchez (eds), Database Support for Workflow Management - The WIDE Project, Kluwer, 1999