2 WORKFLOW Flow object Connection objects Swimlane Artifact Utilizzo di BPMN...

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "2 WORKFLOW...7. 2.2.1.1 Flow object...14. 2.2.1.2 Connection objects...15. 2.2.1.3 Swimlane...16. 2.2.1.4 Artifact...17. 2.2.1.5 Utilizzo di BPMN..."

Transcript

1 I Indice 1 INTRODUZIONE WORKFLOW WORKFLOW MANAGMENT COALITION (WFMC) LINGUAGGI BPML e BPMN (Business Process Management Language / Notation) Flow object Connection objects Swimlane Artifact Utilizzo di BPMN Vantaggi di BPMN BPEL4WS (Business Process Executive Language for Web Services) WSCI (Web Services Choreography Interface) XLang (Microsoft BizTalk Language) WSFL (Web Services Flow Language) UML Linguaggi a confronto TOOLS Collaxa BPEL Designer & Server Popkin s System Architect IBM Business Process Execution Language for Web Services JavaTM Run Time (BPWS4J) Intalio n³ BPMS BEA WebLogic Workshop Metamill - Visual UML CASE Tool Visual UML TENDENZE ATTUALI NELLO SVILUPPO DI APPLICAZIONI WEB APPLICAZIONI PER LA REALIZZAZIONE DI PROCESSI DI BUSINESS...44

2 II 3.2 WEB SERVICE MODELLAZIONE AD ALTO LIVELLO Il modello di struttura Modello di composizione Modello di navigazione Link Non-contestual link Automatic e Transport link Generazione automatica di applicazioni web Unit WebML per la modellazione di workflow MODEL VIEW CONTROL Funzionamento di Struts VERIFICA FORMALE MODELLO DELL APPLICAZIONE SPECIFICA DELLE REGOLE DI VERIFICA VALIDAZIONE AUTOMATICA SCELTE PROGETTUALI USE CASE DIAGRAM REQUISITI DI FLESSIBILITÀ SPECIFICA REQUISITI PER LA NOTAZIONE GRAFICA Elementi di BPMN adottati MAPPATURA DI WORKFLOW IN LTL TOOL L INTERFACCIA GRAFICA (GUI) Toolbar principale La canvas La toolbar della canvas Panoramica del diagramma Pannello informazioni SALVATAGGIO DIAGRAMMI WORKFLOW...75

3 III Documento XML generato FILE CONFIGURAZIONE TRASFORMAZIONE LINEAR TEMPORAL LOGIC (LTL) Output della trasformazione PREDISPOSIZIONE AL MULTILIVELLO IMPLEMENTAZIONE CLASS DIAGRAM Implementazione del class diagram LIBRERIA GRAFICA STRUTTURA DATI SALVATAGGIO FILE XML GENERAZIONE TRASFORMAZIONE XSL exstensible Stylesheet Language (XSL) e XPath Alcuni esempi di codice FUNZIONI PARTICOLARI (POSIZIONAMENTO FRECCE) CONCLUSIONI E SVILUPPI FUTURI APPENDICE A: BIBLIOGRAFIA...102

4 Introduzione 4 1 Introduzione Dalla nascita di Internet ad oggi molte cose sono cambiate nella strutturazione delle applicazioni web. Inizialmente erano disponibili solo semplici pagine html con scopi divulgativi o informativi. Oggigiorno le necessità e le potenzialità della rete sono notevolmente aumentate e di pari passo sono cresciute la complessità e le funzionalità offerte dalle applicazioni web: sino a pochi anni fa era possibile solamente avere informazioni relative all andamento dei titoli di borsa, ora gli istituti finanziari forniscono anche servizi come Home Banking e Trading online. Risulta quindi evidente che le applicazioni attuali necessitano di una progettazione molto accurata e strutturata, sia dal punto di vista della formalizzazione del processo di sviluppo, sia dal punto di vista delle notazioni formali e semiformali per la specifica dei requisiti e la progettazione. In tale ambito esistono diversi linguaggi di modellazione che consentono la generazione semiautomatica delle applicazioni. Questi linguaggi forniscono dei costrutti atti a descrivere la realtà d interesse ad un alto livello di astrazione, prescindendo dai dettagli dell architettura, tramite una modellazione che può essere visuale o solamente formale. Per questo, si punta a distinguere i diversi ambiti di realizzazione della appicazioni web consentendo di progettare in maniera indipendete tra loro modello dei dati, modello dell ipertesto e modello di rappresentazione dell ipertesto. Le applicazioni generate mediante questi linguaggi sono sempre più orientate ai processi, per questo motivo è bene avere un modello di workflow sottostante che sia in grado di descriverle in maniera semplice e comprensibile. Tramite questo modello è possibile definire delle regole formali che consentano di verifcare la correttezza delle applicazioni rispetto a certe proprietà. La verifica formale è un nuovo strumento che serve a validare la progettazione rispetto alla specifica di partenza. Negli ultimi anni è nata un intera disciplina che se ne occupa. Tali concetti vengono trattati diffusamente in questa tesi, dando particolare importanza sia alla specifica formale delle proprietà da soddifare che al modello delle applicazioni sulle quali viene realizzata la validazione.

5 Introduzione 5 Per poter sfruttare le caratteristiche di questo tipo di verifica l applicazione deve essere specificata formalmente. Se questo vincolo viene rispettato allora il controllo del soddisfacimento di proprietà formali può essere effettuato tramite dei verificatori automatici. L utilizzo di questo tipo di verifica permette la diminuzione dei tempi e dei costi nella progettazione dell applicazione sfruttando al meglio il concetto di anticipazione delle conoscenze. Difatti, grazie a questa tecnica, è possibile avere un feedback prima ancora che la realizzazione dell applicativo venga terminata. In particolare, questo lavoro di tesi si focalizza sulla verifica delle proprietà orientate ai processi, concentrando l attenzione sull ordine di esecuzione delle attività e sul soddisfacimento di vincoli sia temporali che logici. Le proprietà delle applicazioni che vanno verificate, molto spesso sono specificate tramite formule logiche temporali. Nel caso particolare delle proprietà dei workflow ben si adattano linguaggi formali come Linear Temporal Logic (LTL). Scrivere e comprendere il tipo di formule relative a questi linguaggi risulta essere molto complesso per un utente umano, ma ben si adatta alle caratteristiche di una macchina. Nasce così l idea di realizzare un tool che consenta di generare automaticamente regole di logica temporale partendo da una descrizione formale dell applicazione web. Dopo un attenta analisi della struttura delle applicazioni più diffuse ci si è resi conto di come questa possa essere ben rappresentata tramite un processo di business ma per la formalizzazione si rende necessario definire una notazione standard. L intento è quindi quello di facilitare il compito del progettista per ciò che concerne l aspetto di verifica formale delle proprietà associate alle applicazioni web. A tale scopo è stata definita una notazione grafica, basata su uno standard esistente per la definizione dei workflow: BPML. La rappresentazione grafica del modello di processo ha come scopo quello di descrivere le proprietà (pre-condizioni, vincoli, ecc ) che la struttura dell applicazione deve soddisfare. A partire da tale rappresentazione vi è poi l obiettivo di generare automaticamente, tramite un apposita trasformazione, formule temporali basate sulla logica di LTL. Questa tesi è stata sviluppata presso il dipartimento di Elettronica e Informazione del Politecnico di Milano, nell ambito del gruppo di Basi di Dati. Nella sua forma finale, il lavoro si presenta suddiviso in capitoli, del cui contenuto forniamo una breve descrizione: nel capitolo 2 viene fatta un analisi degli standard candidati alla modellizzazione dei processi di business. Inoltre vengono presentati alcuni tool basati su tali notazioni;

6 Introduzione 6 nel capitolo 3 sono presentate le tendenze attuali nello sviluppo di applicazioni web, in modo particolare si tratterà di modellazione ad alto livello, model view control (MVC); nel capitolo 4 si parla delle potenzialità offerte dalla verification e di come questa stia assumendo un ruolo sempre più importante nello sviluppo di applicazioni complesse; nel capitolo 5 sono presentate le scelte progettuali fatte per la realizzazione del tool visuale di modellazione. Saranno analizzati in particolare due aspetti: l analisi dei requisiti che dovrà soddisfare la notazione grafica adottata per la rappresentazione dei diagrammi di workflow e le regole di mapping tra i diagrammi di workflow e le formule temporali espresse in LTL. nel capitolo 6 si illustra il funzionamento del tool, dall interfaccia grafica al salvataggio/caricamento dei file. In questo capitolo è descritta anche l implementazione della trasformazione LTL; nel capitolo 7 si presentano le scelte implementative effettuate tra cui le librerie grafiche e la struttura dati, oltre ad alcune funzioni ritenute di particolare rilevanza. il capitolo 8 è dedicato alle conclusioni e ai possibili sviluppi futuri mentre l ultima sezione riporta la bibliografia delle fonti che hanno contribuito ad arricchire questa tesi e la nostra formazione.

7 WorkFlow 7 2 WorkFlow La tendenza attuale delle appicazioni web tendono è quella di assumere un carattere sempre più orientatato verso i processi. Per questo motivo diviene necessario utilizzare i diagrammi di workflow per modellizzare le proprietà che devono soddisfare. In questo capitolo andremo ad analizzare in dettaglio alcuni standard esistenti soffermandoci sulla loro capacità espressiva. I vantaggi che si possono trarre dall utilizzo di questo genere di diagrammi possono essere riassunti nei punti seguenti: il lavoro non arriva in postazioni errate e non si blocca. Gli addetti sono raramente chiamati a recuperare il lavoro in seguito ad errori; i manager possono concentrarsi su problemi riguardanti l azienda e il personale, come le prestazioni individuali e le procedure di ottimizzazione, piuttosto che sull assegnamento dei compiti. Agli impiegati non è più richiesto d inviare il lavoro ad un altra postazione e di controllarne il progresso; le procedure sono documentate formalmente ed eseguite esattamente, assicurando che il lavoro sia eseguito in maniera corretta e rispettando i requisiti a cui è vincolato; ad ogni processo è assegnata la persona (o la macchina) più competente e i processi più importanti sono assegnati per primi. Gli utenti non perdono tempo a cercare su quale oggetto lavorare, magari procrastinando lavori importanti ma difficili; il parallelismo, dove due o più compiti sono eseguiti in concorrenza, è più semplice da realizzare rispetto ad un workflow tradizionale. Se la persona più competente svolge il compito più importante e segue le procedure corrette l organizzazione è condotta in maniera più efficiente, i costi diminuiscono e il servizio al cliente generalmente migliora notevolmente. Se il lavoro è equamente distribuito e si ha la sicurezza che si stia svolgendo correttamente, gli utenti sono più soddisfatti. Per questi motivi l utilizzo di un workflow è un ottima soluzione sia dal punto di vista dell azienda che del cliente.

8 WorkFlow Workflow Managment Coalition (WFMC) La WFMC, fondata nell Agosto del 1993, è un organizzazione internazionale no-profit costituita dalle principali aziende sviluppatrici di software basato sui workflow, da utenti, analisti e gruppi di ricercatori. Il suo scopo è quello di promuovere e sviluppare i workflow al fine di definire degli standard nella terminologia, nell interoperabilità e nella connettività tra i software che ne fanno uso. Costituita da più di 300 membri in tutto il mondo, la WFMC è il principale riferimento per il mercato del software di questo settore. Adottando la terminologia di un generico workflow definita dalla WFMC, si definisce [25]: Attività: elemento basilare (elemento logico) attraverso il quale è definito il processo. Come per le istanze del processo anche per le istanze delle attività sono definiti degli stati. Sempre per analogia, e per meglio chiarificare il concetto di istanza, facendo l esempio di una conferenza una delle attività è quella di bidding, mentre un istanza di quell attività è l espressione delle preferenze da parte dei revisori per i documenti sottoscritti alla conferenza sull integrazione degli ipertesti estesi con i workflow. Ogni istanza può dunque trovarsi in uno dei seguenti stati: o inactive: o active: o suspended: o completed: esiste l istanza, ma nessun task esiste ancora; esiste un task al quale è stata assegnata per l esecuzione; non accade nulla fino a quando l attività non sarà resumed; l attività è terminata consistentemente (correttamente). Attori di un workflow possono essere sia utenti umani sia risorse computerizzate. Processo di business: insieme di una o più attività collegate tra loro in modo da realizzare un obiettivo di politica di business, ponendosi, generalmente, in un contesto di struttura organizzativa con ruoli e relazioni. Processo: rappresentazione di un processo di business che supporta una manipolazione automatica come la gestione da parte di un workflow managment system. La definizione del processo è data tramite una rete di attività, le relative relazioni, elementi per indicarne l inizio e la fine e informazioni riguardo le singole attività, come,

9 WorkFlow 9 per esempio, gli attori che ne prendono parte, le applicazioni informatiche e i dati associati, ecc Workflow: automazione, parziale o totale, di un processo di business durante il quale documenti, informazioni o compiti sono passati, tramite determinate regole procedurali, da un attore ad un altro per eseguire operazioni. Workflow Managment System: un sistema che definisce, crea e gestisce l esecuzione di workflow attraverso l uso di software in grado di interpretare la definizione di processo, di interagire con gli attori e, dove richiesto, di richiedere l utilizzo di tool e applicazioni informatiche. Business Process (i.e. qualcosa che dovrà succedere) è definito in una è gestito da un Process Definition (una rappresentazione di quello che dovrà succedere) Workflow Managment System (controlla gli aspetti automatici del Business Process) Sub-Processes composto da usato per creare e gestire attaverso che possono essere Activities Process Instances (una rappresentazione di quello che sta attualmente succedendo) Activities manuali (non sono gestite come parte del Workflow System) Activities automatizzate Figura 2-1: relazioni tra gli elementi definiti dalla WFMC durante l esecuzione sono rappresentate da Work Items (compiti assegnati ad un attore del workflow) Activity Instances che includono In Figura 2-1 possiamo vedere le relazioni che intercorrono tra i vari elementi definiti dalla Coalizione: e/o Invoked Applications (applicazioni/ tool utilizzati per supportare una activity)

10 WorkFlow Linguaggi Nel mondo dei workflow, per sfruttarne al meglio le potenzialità, sono nati diversi linguaggi ognuno dei quali con i suoi pregi e difetti. Alcuni sono ormai datati e sono stati rimpiazzati da altri più moderni che hanno aggiunto nuove caratteristiche, non disponibili in precedenza, senza toglierne alcuna. Tra i principali troviamo BMPL e la sua notazione grafica BPMN [14] e YAWL [9]. Per quanto riguarda la rappresentazione dei workflow la tendenza attuale è quella di includere nella notazione elementi per l utilizzo dei web service. Tra questi citiamo BPEL4WS (che usa come notazione BPMN) [14]. Nell analisi daremo una visione generale dei linguaggi, parlando anche del supporto che questi possono dare ai web service. Accenneremo quindi anche a Coreografia ed Orchestrazione termini spesso utilizzati nella descrizione dei servizi. Nonostante la definizione di questi termini non colga un consenso universale, ne forniremo ugualmente una sommaria. La Coreografia, che in genere descrive i processi di più alto livello, tiene traccia della sequenza di messaggi che può coinvolgere più applicazioni attraverso una visione globale del processo: tende a dare una visione più collaborativa delle interazioni. L Orchestrazione descrive come i servizi interagiscano tra loro a livello di messaggi scambiati. Fornisce una descrizione della logica di business e dell ordine d esecuzione delle interazioni. Vediamo una panoramica dei linguaggi candidati, dal punto di vista notazione, alla realizzazione del tool grafico BPML e BPMN (Business Process Management Language / Notation) BPML è un meta-linguaggio per la modellazione dei processi di business così come XML è un meta-linguaggio per la modellazione dei dati. BPML fornisce un modello esecutivo astratto per creare processi di business collaborativi e transazionali basato concettualmente su una macchina a stati finiti transazionale.

11 WorkFlow 11 Allo stesso modo di come i documenti XML sono solitamente descritti da un XML Schema, i processi BPML possono essere descritti in un linguaggio di modellazione chiamato extensible BPML XML Schema. Definito come mezzo per la convergenza delle applicazioni aziendali esistenti verso l orientamento ai processi, BPML offre il supporto esplicito a transazioni distribuite sia di tipo sincrono che asincrono. BPMN serve a definire un Business Process Diagram (BPD), questo diagramma sarà un insieme di oggetti grafici collegati tra loro da frecce che rappresentano i controlli di flusso, il cui scopo è quello di definire l ordine di svolgimento delle azioni. Questi oggetti consentono il facile sviluppo di semplici diagrammi di flusso che hanno il pregio di risultare familiari ed intuitivi alla maggior parte degli utenti che ne fanno uso (es. flowchart). Gli elementi che compongono il BPD sono stati definiti rispettando due criteri principali: il primo è che siano il più possibile distinguibili l uno dall altro; il secondo che la forma risulti il più possibile familiare. Le attività sono rettangolari mentre le decisioni hanno la forma di rombi. Ciò che si evidenzia, in BPMN, è la ricerca di semplici meccanismi in grado di creare un modello dei processi di business che forniscano la necessaria espressività del linguaggio per gestire la complessità intrinseca dei processi di business. L approccio che si è seguito per soddisfare questi due requisiti, in apparente contrasto tra loro, è quello di organizzare gli aspetti grafici della notazione in specifiche categorie. La generazione di questo ristretto gruppo di categorie permette, a chi legge un BPD, di riconoscere facilmente a quale tipo di categoria appartiene ogni elemento del diagramma, portando quindi ad una più intuitiva comprensione del BPD stesso. All interno di ogni categoria di base è possibile introdurre delle varianti che permettono di arricchire l espressività della notazione, senza comunque discostarsi dall aspetto originario. Presentiamo di seguito i simboli utilizzati per la definizione di un processo di business: Activity, Sub-process, Pool e Lane: Name Activity: unità di lavoro Lane: partizione di una pool, per scopi vari Name Subprocess: attività che può essere a sua volta scomposta in un sottoprocesso Pool: rappresenta un partecipante Figura 2-2: Activity, Sub-process, Pool e Lane in BPMN

12 WorkFlow 12 Eventi (Figura 2-3) caratterizzati per Flow Dimension e Type Dimension: Flow Dimension Type Dimension Start (avvio di un processo) End (conclusione di processo) Intermediate (evento nel corso del processo) Figura 2-3: Eventi in BPMN Flussi (Figura 2-4), nei quali, dove necessario, è possibile specificare condizioni: Control/ sequence flow: Sequenza di esecuzione Default flow: in presenza di più scelte, flusso scelto di default Message flow Figura 2-4: Flussi in BPMN Conditional control/sequence flow: seguito se la condizione specificata all inizio del flow è verificata Association: associazione o flusso di data-objects

13 WorkFlow 13 Gateway (Figura 2-5): punto di fusione, separazione e/o decisione tra diversi flussi: Figura 2-5: Gateway in BPMN Rappresentiamo ora (Figura 2-6) un esempio d utilizzo di BPMN relativo ad una richiesta di prestito: Loan request SVC Empl Mgr Cust Application Preliminary validation Application Application + Application Financial check GetJobCheck JobCheck Req [type Receive] [type Send] Job Check + Application Final approval Application JobCheckS JobCheckE Figura 2-6: esempio d utilizzo di BPMN L esempio rappresenta una transazione in cui un cliente può effettuare una richiesta di prestito mediante la compilazione di alcuni form. Un manager eseguirà dei controlli preliminari e quindi passerà la pratica ad un impiegato che svolgerà controlli più approfonditi. Sarà poi lo stesso manager a prendere una decisione finale in base ai dati rilevati dall impiegato. Nei prossimi paragrafi saranno analizzati in dettaglio gli elementi principali di BPMN.

14 WorkFlow Flow object Un BPD è basato fondamentalmente su tre oggetti base, che costituiscono la categoria dei flow object, in tal modo l utente non deve essere in grado di riconoscere un elevato numero di differenti forme. I tre flow object sono: Event : è rappresentato graficamente da un cerchio ed è qualcosa che accade durante lo svolgimento di un processo di business. Ci sono tre differenti tipi di event che variano in funzione del momento in cui sono utilizzati all interno del BPD: Start, Intermediate e End (Figura 2-7). Figura 2-7: rappresentazione grafica di Start, Intermediate e End Activity: è rappresentata graficamente da un rettangolo con gli angoli arrotondati ed indica una generica mansione svolta all interno di un processo. Ogni attività può essere di due tipi o atomica (task) o non atomica (subprocess), in quest ultimo caso l activity avrà disegnato al suo interno nella parte inferiore il simbolo + che precisa la presenza di un sotto processo all interno della stessa. Tramite questa proprietà è possibile generare dei diagrammi di tipo multi-livello. Figura 2-8: rappresentazione grafica di Activity e Activity con Sub-Process Gateway : vengono rappresentati graficamente tramite un rombo e utilizzati per controllare sia la divisione (split) che la riunificazione (merge) del flusso di informazione all interno di un BPD. In ogni rombo viene inserito un simbolo che indica quale è il criterio di valutazione logica dello specifico gateway. Nella Figura 2-9 sono descritti in successione i gateway And, Or e Xor. Figura 2-9: rappresentazione grafica di And, Or e Xor

15 WorkFlow Connection objects I flow object, definiti nel capitolo precedente, vengono tra loro collegati all interno di un diagramma così da creare la struttura base di un processo di business. Vi sono vari tipi di Connecting object definiti dalla notazione di BPMN: Sequence flow: è rappresentato da una linea continua con una freccia posta ad un estremo della linea per indicare il flusso che seguono i dati. Tramite i sequenze flow è possibile conoscere quale è l ordine con cui vengono svolte le attività all interno di un BPD; Association: è rappresentato graficamente da una linea tratteggiata con una freccia posta al suo estremo. A differenza del sequence flow non serve per collegare due attività, ma ha il compito di associare alle flow object dati, testo o altre entità chiamate Artifact. Vedremo in seguito, con un esempio, quali sono i possibili impieghi; Message flow: è rappresentato come una linea tratteggiata che ha un cerchio aperto ad un capo e una freccia aperta all altro, come si vede nella seguente figura. E utilizzato per mostrare il flusso di messaggi tra due differenti partecipanti al processo di business. In BPMN, i due partecipanti sono rappresentati tramite due separate pool.

16 WorkFlow 16 Di seguito (Figura 2-10) riportiamo un semplice esempio di BPD dove sono rappresentati gli elementi base descritti nei precedenti paragrafi: Figura 2-10: esempio di processo di business Swimlane BPMN inserisce nella propria notazione un concetto che era già presente in altri linguaggi di modellazione (i.e. gli Activity Diagram di UML) cioè le swimlane. Tali costrutti hanno lo scopo di organizzare graficamente le attività, in diversi gruppi, per illustrarne le diverse competenze e/o funzionalità richieste. I due tipi di elementi base che costituiscono la categoria delle swimlane sono: Pool: rappresenta un partecipante all interno di un processo di business. Funge da contenitore grafico per raggruppare tra loro le activity. Il nome che dà il titolo ad ogni pool indica l attore del processo associato. Questo ricopre un aspetto importate nella definizione di processi di tipo Business to Business (B2B). Le pool sono utilizzate quando il diagramma implica almeno due soggetti che ricoprono dei ruoli distinti uno dall altro, per questo all interno del BPD risultano fisicamente separati. Figura 2-11: rappresentazione grafica di una pool

17 WorkFlow 17 Lane: sono una sotto-partizione di una pool, servono ad organizzare e a specializzare le activity all interno della pool. Figura 2-12: rappresentazione grafica di una Lane Come si può notare dall esempio, nella Figura 2-13, i sequence flow che collegano le activity possono attraversare i bordi di una lane per collegare tra loro delle activity che hanno come riferimento due differenti partecipanti al processo: Figura 2-13: segmento di processo con lane Artifact Lo scopo di BPMN è quello di garantire la maggiore flessibilità possibile nello sviluppo di un generico diagramma. Per ottemperare a questa specifica sono presenti nella notazione degli artifact. Non c è limite al numero di artifact che è possibile inserire in un diagramma, questo per consentire di descrivere nel modo più accurato possibile i processi di business. La notazione definisce tre oggetti per questa categoria:

18 WorkFlow 18 Data object: sono utilizzate per mostrare quali sono i dati richiesti o prodotti da un activity. Le data object vengono collegate alle activity tramite un collegamento di tipo association (vedi Figura 2-17 ). Figura 2-14: rappresentazione grafica di una data object Group: è un rettangolo che ha gli angoli arrotondati, disegnato con una linea tratteggiata. Può essere utilizzato per generare la documentazione o scopi d analisi, ma non ha alcuna influenza sui sequence flow. Figura 2-15: rappresentazione grafica di un group Annotation: è un meccanismo per consentire a chi disegna il BPD di inserire dei commenti testuali che aiutino ulteriormente il lettore nella comprensione del diagramma del processo di business. Figura 2-16: rappresentazione grafica di annotation

19 WorkFlow 19 Di seguito viene riportato un esempio in cui si dimostra come gli oggetti del gruppo artifact vengono utilizzati all interno di un BPD: Figura 2-17: processo con elementi della categoria artifact E bene sottolineare che l introduzione degli elementi della categoria artifact in un diagramma non altera in alcun modo la struttura base di un qualsiasi processo composto da activity, gateway e sequence flow. Per questo è possibile fare un raffronto tra la Figura 2-13 e la Figura Utilizzo di BPMN BPMN è utilizzato per descrivere un ampia varietà d informazioni a differenti tipi d'utenza. E possibile descrivere diversi tipi di processo di business, per ognuno dei quali è permessa la rappresentazione di ogni singola parte a diversi livelli di dettaglio. Uno dei possibili utilizzi di BPMN permette la realizzazione di un modello base sviluppabile all interno di un BPD. Tale modello prende il nome di processo Business to Business (B2B) di tipo collaborativo. Un processo B2B descrive l interazione tra due o più entità di business. I diagrammi per questo tipo

20 WorkFlow 20 di processo generalmente hanno una rappresentazione molto generale. Per questo motivo, un processo non viene analizzato dal punto di vista di uno dei partecipanti ma è utilizzato per descrivere l interazione che c è tra i partecipanti. Nella Figura 2-18 vediamo un esempio di processo B2B. Figura 2-18: esempio di processo B2B di tipo collaborativo Vantaggi di BPMN BPMN è il risultato di una lunga ricerca sui linguaggi di modellazione da parte del BPMI notation working group, all interno del quale confluisce una larga parte della comunità degli sviluppatori di notazioni per modelli inerenti i processi di business. La definizione di BPMN punta a ridurre la frammentazione che si è sviluppata con la proliferazione di una miriade di tool per la modellazione dei processi di business. Lo scopo del BPMI working group è stato quello di prendere da queste notazioni, tra loro divergenti, le idee migliori e raggrupparle in un unica notazione standard. Le notazioni da cui si è preso spunto per la definizione di BPMN sono: UML Activity Diagram, IDEF, ebxml, Activity Decision Flow e Rosettanet. L utilizzo di un unico standard consentirebbe, inoltre, una più rapida adozione da parte del pubblico di strumenti per la modellazione dei processi di business, riducendo così il divario che esiste tra la fase di analisi e la fase di implementazione del processo. Basti considerare che

21 WorkFlow 21 solitamente i due ambiti sono gestiti da persone che hanno una visione del problema sostanzialmente diversa l una dall altra. In genere, l analisi viene sviluppata a livello di management di una azienda, che si concentra su aspetti del processo che non necessariamente hanno la stessa rilevanza a livello implementativo, dove il progettista dovrà invece tenere conto di altri fattori BPEL4WS (Business Process Executive Language for Web Services) BPEL4WS, attualmente giunto alla versione 2.0 (Aprile 2004), è una notazione per specificare il comportamento di processi di business basato su web service [14]. I processi in BPEL4WS esportano e importano funzionalità usando esclusivamente interfacce di web service. BPEL4WS nasce come risultato dalla fusione di XLang e WSFL (che vedremo nelle prossime sezioni). Si pone uno strato sopra WSDL poiché ogni processo BPEL4WS può essere esposto come servizio in WSDL, di cui, tra l altro, sfrutta le definizioni di data types per descrivere il passaggio di informazioni. BPEL4WF può anche referenziare servizi esterni specificati in WSDL. In questo linguaggio i processi di business possono essere descritti in due modi: i processi di business eseguibili modellano il comportamento reale di un partecipante in un interazione di business; i protocolli di business usano descrizioni di processo per specificare lo scambio reciproco di messaggi eseguito da ogni parte coinvolta nel protocollo, senza però rivelare il relativo comportamento interno. Le descrizioni dei processi per protocolli di business sono chiamate processi astratti. BPEL4WS fornisce un linguaggio per la specifica formale di un processo di business e di protocolli d interazione di business. Così facendo, BPEL4WS estende il modello d interazione con i web service e consente di supportare transazioni di business. BPEL4WS definisce un modello d integrazione interoperabile che dovrebbe facilitare l espansione verso l integrazione dei processi automatizzati sia nell area intra-corporate che in quella B2B. Uno degli scopi principali di BPEL è diminuire il costo dell automazione dei processi di business tra imprese.

BPEL: Business Process Execution Language

BPEL: Business Process Execution Language 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

Dettagli

Business Process Modeling and Notation e WebML

Business Process Modeling and Notation e WebML Business Process Modeling and Notation e WebML 24 Introduzione I Web Service e BPMN sono standard de facto per l interoperabilità in rete a servizio delle imprese moderne I Web Service sono utilizzati

Dettagli

Organizzazione aziendale Lezione 16 BPMN. Ing. Marco Greco m.greco@unicas.it Tel.0776.299.3641 Stanza 1S-28

Organizzazione aziendale Lezione 16 BPMN. Ing. Marco Greco m.greco@unicas.it Tel.0776.299.3641 Stanza 1S-28 Organizzazione aziendale Lezione 16 BPMN Ing. Marco Greco m.greco@unicas.it Tel.0776.299.3641 Stanza 1S-28 Nozioni di base Un sistema è una collezione di entità (es. persone o macchine) che interagiscono

Dettagli

Organizzazione aziendale Lezione 22 BPMN. Ing. Marco Greco m.greco@unicas.it Tel.0776.299.3641 Stanza 1S-28

Organizzazione aziendale Lezione 22 BPMN. Ing. Marco Greco m.greco@unicas.it Tel.0776.299.3641 Stanza 1S-28 Organizzazione aziendale Lezione 22 BPMN Ing. Marco Greco m.greco@unicas.it Tel.0776.299.3641 Stanza 1S-28 Prima di cominciare: Erasmus! Scadenza: 5 luglio 2012 Durata: min 3 max 12 mesi Dal 1 giugno 2012

Dettagli

Università degli Studi "Roma Tre" Dipartimento di Informatica ed automazione. Facoltà di Ingegneria. Laurea Magistrale in Ingegneria Informatica

Università degli Studi Roma Tre Dipartimento di Informatica ed automazione. Facoltà di Ingegneria. Laurea Magistrale in Ingegneria Informatica Università degli Studi "Roma Tre" Dipartimento di Informatica ed automazione Facoltà di Ingegneria Laurea Magistrale in Ingegneria Informatica Tesi di Laurea Sistema informativo per la gestione dei processi

Dettagli

Composizione e Coreografia di Web Services

Composizione e Coreografia di Web Services Composizione e Coreografia di Web Services Giusy Di Lorenzo Composizione Lo scopo della composizione è quello di comporre servizi esistenti al fine di definire un nuovo servizio a valore aggiunto Richiesta

Dettagli

Ingegneria del Software UML - Unified Modeling Language

Ingegneria del Software UML - Unified Modeling Language Ingegneria del Software UML - Unified Modeling Language Obiettivi. Presentare un approccio visuale alla progettazione. Illustrare i vantaggi dell utilizzo di diagrammi nella fase di progettazione. Rispondere

Dettagli

Modello Workflow - WIDE

Modello Workflow - WIDE Modello Workflow - WIDE Prof.ssa Gentile a.a. 2011-2012 Modello Wide Workflow on an Intelligent and Distributed database Environment Descrive processi come insiemi di attività tra loro collegate da vincoli

Dettagli

Processi BPEL. Obiettivi

Processi BPEL. Obiettivi Università degli studi di Roma Tor Vergata Facoltà di Ingegneria Processi BPEL Corso di Sistemi Distribuiti Stefano Iannucci Anno accademico 2009/10 Email: sd@chmod.it Obiettivi Esercitazione pratica su:

Dettagli

Modellazione di processi

Modellazione di processi Luca Cabibbo Architetture Software Dispensa ASW 910 ottobre 2014 La modellazione è un mestiere e a volte è un arte. William C. Burkett 1 -Fonti [Papazoglou] Papazoglou, Web Services Principles and Technology,

Dettagli

Modellazione concettuale di processi aziendali distribuiti basati su architettura Web Services

Modellazione concettuale di processi aziendali distribuiti basati su architettura Web Services POLITECNICO DI MILANO FACOLTA DI INGEGNERIA DELL INFORMAZIONE SEDE DI MILANO LEONARDO DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE CORSO DI LAUREA SPECIALISTICA IN INGEGNERIA INFORMATICA Modellazione concettuale

Dettagli

UNIVERSITÀ DEGLI STUDI DI FIRENZE FACOLTA DI INGEGNERIA DIPARTIMENTO DI SISTEMI E INFORMATICA. Elaborato di Tecnologie del Software per Internet

UNIVERSITÀ DEGLI STUDI DI FIRENZE FACOLTA DI INGEGNERIA DIPARTIMENTO DI SISTEMI E INFORMATICA. Elaborato di Tecnologie del Software per Internet UNIVERSITÀ DEGLI STUDI DI FIRENZE FACOLTA DI INGEGNERIA DIPARTIMENTO DI SISTEMI E INFORMATICA Elaborato di Tecnologie del Software per Internet JMSWEB 2 SISTEMA PER LO SCAMBIO DI MESSAGGI TRA APPLICAZIONI

Dettagli

Informatica Documentale

Informatica Documentale Informatica Documentale Ivan Scagnetto (scagnett@dimi.uniud.it) Stanza 3, Nodo Sud Dipartimento di Matematica e Informatica Via delle Scienze, n. 206 33100 Udine Tel. 0432 558451 Ricevimento: giovedì,

Dettagli

Integrazione di servizi: Enterprise Service Bus (ESB) e Business Process Execution Language (BPEL)

Integrazione di servizi: Enterprise Service Bus (ESB) e Business Process Execution Language (BPEL) Università degli Studi di Roma Tor Vergata Facoltà di Ingegneria Integrazione di servizi: Enterprise Service Bus (ESB) e Business Process Execution Language (BPEL) Corso di Sistemi Distribuiti Stefano

Dettagli

WebRatio. L altra strada per il BPM. Web Models s.r.l. www.webratio.com contact@webratio.com 1 / 8

WebRatio. L altra strada per il BPM. Web Models s.r.l. www.webratio.com contact@webratio.com 1 / 8 WebRatio L altra strada per il BPM Web Models s.r.l. www.webratio.com contact@webratio.com 1 / 8 Il BPM Il BPM (Business Process Management) non è solo una tecnologia, ma più a grandi linee una disciplina

Dettagli

[Larman] Applicare UML e i pattern, Capitolo 28, Diagrammi di attività di UML e modellazione

[Larman] Applicare UML e i pattern, Capitolo 28, Diagrammi di attività di UML e modellazione Luca Cabibbo Architetture Software Dispensa T 1 ottobre 2008 1 -Fonti [Larman] Applicare UML e i pattern, Capitolo 28, Diagrammi di attività di UML e modellazione [Larman] Applicare UML e i pattern, Capitolo

Dettagli

Progetto interregionale ICAR Interoperabilità e Cooperazione Applicativa tra le Regioni.

Progetto interregionale ICAR Interoperabilità e Cooperazione Applicativa tra le Regioni. <Task AP3> Progetto interregionale ICAR Interoperabilità e Cooperazione Applicativa tra le Regioni AP3-Documento Descrittivo degli Accordi di Servizio Versione AP3-specificaADSv1.2.1.doc Pag. 1

Dettagli

Modellazione dei dati in UML

Modellazione dei dati in UML Corso di Basi di Dati e Sistemi Informativi Modellazione dei dati in UML Angelo Montanari Dipartimento di Matematica e Informatica Università degli Studi di Udine Introduzione UML (Unified Modeling Language):

Dettagli

WorkFlow Management Systems

WorkFlow Management Systems WorkFlow Management Systems Cosa è un? Automazione di un processo aziendale (business process) con: documenti, informazioni e compiti partecipanti insieme predefinito di regole obiettivo comune 2 Esempi

Dettagli

Università di Pisa Polo Sistemi Logistici Economia e Legislazione dei Sistemi Logistici. Informatica per la Logistica. Lezioni

Università di Pisa Polo Sistemi Logistici Economia e Legislazione dei Sistemi Logistici. Informatica per la Logistica. Lezioni Università di Pisa Polo Sistemi Logistici Economia e Legislazione dei Sistemi Logistici Le grandi e complesse organizzazioni aziendali sono la manifestazione tangibile della tecnologia avanzata, più delle

Dettagli

Modellazione di sistema

Modellazione di sistema Corso di Laurea Specialistica in Ingegneria Informatica Corso di Ingegneria del Software A. A. 2008 - Modellazione di sistema E. TINELLI Contenuti Approcci di analisi Linguaggi di specifica Modelli di

Dettagli

Sistemi per la modellazione e workflow di processi di business

Sistemi per la modellazione e workflow di processi di business Scuola Politecnica e delle Scienze di Base Corso di Laurea in Ingegneria Informatica Elaborato finale in Basi di dati Sistemi per la modellazione e workflow di processi di business Anno Accademico 2014/2015

Dettagli

Considera tutti i requisiti funzionali (use cases) NON deve necessariamente modellare i requisiti non funzionali

Considera tutti i requisiti funzionali (use cases) NON deve necessariamente modellare i requisiti non funzionali Corso di Laurea Specialistica in Ingegneria Informatica Corso di Ingegneria del Software A. A. 2008 - Progettazione OO E. TINELLI Punto di Partenza Il modello di analisi E una rappresentazione minima del

Dettagli

Organizzazione aziendale Lezione 23 Adonis. Ing. Marco Greco m.greco@unicas.it Tel.0776.299.3641 Stanza 1S-28

Organizzazione aziendale Lezione 23 Adonis. Ing. Marco Greco m.greco@unicas.it Tel.0776.299.3641 Stanza 1S-28 Organizzazione aziendale Lezione 23 Adonis Ing. Marco Greco m.greco@unicas.it Tel.0776.299.3641 Stanza 1S-28 Creazione di un nuovo processo Per creare un nuovo modello in qualunque momento basta cliccare

Dettagli

Università di Pisa Polo Sistemi Logistici Economia e Legislazione dei Sistemi Logistici. Parte I: modellazione

Università di Pisa Polo Sistemi Logistici Economia e Legislazione dei Sistemi Logistici. Parte I: modellazione Università di Pisa Polo Sistemi Logistici Economia e Legislazione dei Sistemi Logistici Fondamenti di Informatica per la Logistica (Prof. G. Dini) Le grandi e complesse organizzazioni aziendali sono la

Dettagli

STUDIO DI APPLICAZIONI WEB BASATE SU WORKFLOW E GENERAZIONE SEMI-AUTOMATICA DI CODICE

STUDIO DI APPLICAZIONI WEB BASATE SU WORKFLOW E GENERAZIONE SEMI-AUTOMATICA DI CODICE Politecnico di Milano Polo Regionale di Como V FACOLTÀ DI INGEGNERIA Corso di Laurea in Ingegneria Informatica Anno Accademico 2004-2005 STUDIO DI APPLICAZIONI WEB BASATE SU WORKFLOW E GENERAZIONE SEMI-AUTOMATICA

Dettagli

Strumenti di modellazione. Gabriella Trucco

Strumenti di modellazione. Gabriella Trucco Strumenti di modellazione Gabriella Trucco Linguaggio di modellazione Linguaggio formale che può essere utilizzato per descrivere (modellare) un sistema Il concetto trova applicazione soprattutto nell

Dettagli

Università degli Studi di Parma Facoltà di Scienze MM. FF. NN. Corso di Laurea in Informatica. Ingegneria del Software. La fase di Analisi

Università degli Studi di Parma Facoltà di Scienze MM. FF. NN. Corso di Laurea in Informatica. Ingegneria del Software. La fase di Analisi Università degli Studi di Parma Facoltà di Scienze MM. FF. NN. Corso di Laurea in Informatica Ingegneria del Software La fase di Analisi Giulio Destri Ing. del software: Analisi - 1 Scopo del modulo Definire

Dettagli

Ingegneria del Software: UML Class Diagram

Ingegneria del Software: UML Class Diagram Ingegneria del Software: UML Class Diagram Due on Mercoledì, Aprile 1, 2015 Claudio Menghi, Alessandro Rizzi 1 Contents Ingegneria del Software (Claudio Menghi, Alessandro Rizzi ): UML Class Diagram 1

Dettagli

YAWL Workflow Management System

YAWL Workflow Management System YAWL Workflow Management System Gabriele Pozzani Barbara Oliboni Sistemi informativi aziendali Laurea magistrale in Ingegneria e scienze informatiche http://www.yawlfoundation.org/ Materiale prodotto da:

Dettagli

UniRoma2 - Ingegneria del Software 1 1

UniRoma2 - Ingegneria del Software 1 1 Object Oriented Analysis - OOA La fase di OOA definisce, secondo un approccio ad oggetti, COSA un prodotto software deve fare (mentre la fase di OOD definisce, sempre secondo un approccio ad oggetti, COME

Dettagli

Reti e sistemi informativi II Il ruolo delle IT nell organizzazione

Reti e sistemi informativi II Il ruolo delle IT nell organizzazione Reti e sistemi informativi II Il ruolo delle IT nell organizzazione Prof. Andrea Borghesan & Dr.ssa Francesca Colgato venus.unive.it/borg borg@unive.it Ricevimento: mercoledì dalle 10.00 alle 11.00 Modalità

Dettagli

Il linguaggio per la moderna progettazione dei processi aziendali

Il linguaggio per la moderna progettazione dei processi aziendali Il linguaggio per la moderna progettazione dei processi aziendali Organizzare un azienda sotto il profilo dei processi è oramai diventata una disciplina a cavallo tra la competenza aziendalistica ed informatica.

Dettagli

Allegato 1 CIG 58703795FF PROCEDURA DI AFFIDAMENTO PER LA FORNITURA DI UNA PIATTAFORMA PER SERVICE MASHUP AND DELIVERY CAPITOLATO TECNICO

Allegato 1 CIG 58703795FF PROCEDURA DI AFFIDAMENTO PER LA FORNITURA DI UNA PIATTAFORMA PER SERVICE MASHUP AND DELIVERY CAPITOLATO TECNICO PROCEDURA DI AFFIDAMENTO PER LA FORNITURA DI UNA PIATTAFORMA PER SERVICE MASHUP AND DELIVERY CAPITOLATO TECNICO SOMMARIO 1 Oggetto della Fornitura... 3 2 Composizione della Fornitura... 3 2.1 Piattaforma

Dettagli

Interoperabilità e cooperazione applicativa tra sistemi informativi

Interoperabilità e cooperazione applicativa tra sistemi informativi Interoperabilità e cooperazione applicativa tra sistemi informativi Michele Ruta Dipartimento di Ingegneria Elettrica e dell Informazione Politecnico di Bari 1di 29 Indice Introduzione ai Port Community

Dettagli

Automazione della gestione degli ordini d acquisto di una società di autonoleggio

Automazione della gestione degli ordini d acquisto di una società di autonoleggio Automazione della gestione degli ordini d acquisto di una società di autonoleggio Professore Gaetanino Paolone Studenti Paolo Del Gizzi Maurizio Di Stefano 1 INDICE INTRODUZIONE.pag.3 IL PIANO METODOLOGICO

Dettagli

Le Basi di dati: generalità. Unità di Apprendimento A1 1

Le Basi di dati: generalità. Unità di Apprendimento A1 1 Le Basi di dati: generalità Unità di Apprendimento A1 1 1 Cosa è una base di dati In ogni modello di organizzazione della vita dell uomo vengono trattate informazioni Una volta individuate e raccolte devono

Dettagli

TECNICO SUPERIORE PER LE APPLICAZIONI INFORMATICHE

TECNICO SUPERIORE PER LE APPLICAZIONI INFORMATICHE ISTRUZIONE E FORMAZIONE TECNICA SUPERIORE SETTORE I.C.T. Information and Communication Technology TECNICO SUPERIORE PER LE APPLICAZIONI INFORMATICHE STANDARD MINIMI DELLE COMPETENZE TECNICO PROFESSIONALI

Dettagli

Gestione Requisiti. Ingegneria dei Requisiti. Requisito. Tipi di Requisiti e Relativi Documenti. La gestione requisiti consiste in

Gestione Requisiti. Ingegneria dei Requisiti. Requisito. Tipi di Requisiti e Relativi Documenti. La gestione requisiti consiste in Ingegneria dei Requisiti Il processo che stabilisce i servizi che il cliente richiede I requisiti sono la descrizione dei servizi del sistema Funzionalità astratte che il sistema deve fornire Le proprietà

Dettagli

SWIM v2 Design Document

SWIM v2 Design Document PROGETTO DI INGEGNERIA DEL SOFTWARE 2 SWIM v2 DD Design Document Matteo Danelli Daniel Cantoni 22 Dicembre 2012 1 Indice Progettazione concettuale Modello ER Entità e relazioni nel dettaglio User Feedback

Dettagli

Università degli studi di Ferrara. Sviluppo di un Web Service per la classificazione del suolo e sua integrazione sul Portale SSE

Università degli studi di Ferrara. Sviluppo di un Web Service per la classificazione del suolo e sua integrazione sul Portale SSE Università degli studi di Ferrara Facoltà di scienze MM.FF.NN. Corso di Laurea Specialistica in Informatica Sviluppo di un Web Service per la classificazione del suolo e sua integrazione sul Portale SSE

Dettagli

Testo Esercizio. Un modello è ragionevole quando contiene queste tre caratteristiche.

Testo Esercizio. Un modello è ragionevole quando contiene queste tre caratteristiche. Testo Esercizio Un negozio di musica vende anche libri e riviste musicali. Si intende automatizzare l intero processo, dall approvvigionamento alla vendita. Si analizzino i requisiti e se ne rappresentino

Dettagli

B.P.S. Business Process Server ALLEGATO C10

B.P.S. Business Process Server ALLEGATO C10 B.P.S. Business Process Server ALLEGATO C10 REGIONE BASILICATA DIPARTIMENTO PRESIDENZA DELLA GIUNTA REGIONALE UFFICIO SISTEMA INFORMATIVO REGIONALE E STATISTICA Via V. Verrastro, n. 4 85100 Potenza tel

Dettagli

CAPITOLO 1 I SISTEMI OPERATIVI

CAPITOLO 1 I SISTEMI OPERATIVI CAPITOLO 1 I SISTEMI OPERATIVI Introduzione ai sistemi operativi pag. 3 La shell pag. 3 Tipi di sistemi operativi pag. 4 I servizi del sistema operativo pag. 4 La gestione dei file e il file system Il

Dettagli

Analisi dei Requisiti

Analisi dei Requisiti Analisi dei Requisiti Pagina 1 di 16 Analisi dei Requisiti Indice 1 - INTRODUZIONE... 4 1.1 - OBIETTIVO DEL DOCUMENTO...4 1.2 - STRUTTURA DEL DOCUMENTO...4 1.3 - RIFERIMENTI...4 1.4 - STORIA DEL DOCUMENTO...4

Dettagli

Principi dell ingegneria del software Relazioni fra

Principi dell ingegneria del software Relazioni fra Sommario Principi dell ingegneria del software Leggere Cap. 3 Ghezzi et al. Principi dell ingegneria del software Relazioni fra Principi Metodi e tecniche Metodologie Strumenti Descrizione dei principi

Dettagli

Modelli per la descrizione di protocolli

Modelli per la descrizione di protocolli POLITECNICO DI MILANO Corso di Laurea in Ingegneria Informatica Modelli per la descrizione di protocolli asincroni basati sull usouso di servizi Web Relatore: Prof. Stefano Ceri Correlatori: Ing. Marco

Dettagli

Processo parte VII. Strumenti. Maggiore integrazione. Sviluppo tecnologico

Processo parte VII. Strumenti. Maggiore integrazione. Sviluppo tecnologico Strumenti Processo parte VII Leggere Cap. 9 Ghezzi et al. Strumenti software che assistono gli ingegneri del software in tutte le fasi del progetto; in particolare progettazione codifica test Evoluzione

Dettagli

Processi di Business e Sistemi di Gestione di Workflow: concetti di base. Prof. Giancarlo Fortino g.fortino@unical.it

Processi di Business e Sistemi di Gestione di Workflow: concetti di base. Prof. Giancarlo Fortino g.fortino@unical.it Processi di Business e Sistemi di Gestione di Workflow: concetti di base Prof. Giancarlo Fortino g.fortino@unical.it Introduzione Le aziende devono modificare la loro organizzazione per cogliere le nuove

Dettagli

Sequence Diagram e Collaboration Diagram

Sequence Diagram e Collaboration Diagram Sequence Diagram e Collaboration Diagram Ing. Orazio Tomarchio Orazio.Tomarchio@diit.unict.it Dipartimento di Ingegneria Informatica e delle Telecomunicazioni Università di Catania Sommario Interaction

Dettagli

Università degli Studi di Napoli Federico II. FACOLTÀ DI INGEGNERIA Corso di Laurea in Ingegneria Informatica LM. Progetto di un applicazione Android

Università degli Studi di Napoli Federico II. FACOLTÀ DI INGEGNERIA Corso di Laurea in Ingegneria Informatica LM. Progetto di un applicazione Android Università degli Studi di Napoli Federico II FACOLTÀ DI INGEGNERIA Corso di Laurea in Ingegneria Informatica LM Progetto di un applicazione Android Briscola bluetooth Candidati: Giuliano Formato Daniele

Dettagli

Gestire gli eventi di business per ottimizzare i processi

Gestire gli eventi di business per ottimizzare i processi Gestire gli eventi di business per ottimizzare i processi Antonella Bertoletti Senior Certified Consultant IT Specialist WebSphere Technical Sales Team IBM Software Group Gli eventi di business Qualunque

Dettagli

Progetto di Applicazioni Software

Progetto di Applicazioni Software Progetto di Applicazioni Software Antonella Poggi Dipartimento di Informatica e Sistemistica Antonio Ruberti SAPIENZA Università di Roma Anno Accademico 2010/2011 Questi lucidi sono stati prodotti sulla

Dettagli

Classificazione del software

Classificazione del software Classificazione del software Classificazione dei software Sulla base del loro utilizzo, i programmi si distinguono in: SOFTWARE Sistema operativo Software applicativo Sistema operativo: una definizione

Dettagli

Ciclo di Vita Evolutivo

Ciclo di Vita Evolutivo Ciclo di Vita Evolutivo Prof.ssa Enrica Gentile a.a. 2011-2012 Modello del ciclo di vita Stabiliti gli obiettivi ed i requisiti Si procede: All analisi del sistema nella sua interezza Alla progettazione

Dettagli

Componenti Web: client-side e server-side

Componenti Web: client-side e server-side Componenti Web: client-side e server-side side Attività di applicazioni web Applicazioni web: un insieme di componenti che interagiscono attraverso una rete (geografica) Sono applicazioni distribuite logicamente

Dettagli

Corso basi di dati Introduzione alle ASP

Corso basi di dati Introduzione alle ASP Corso basi di dati Introduzione alle ASP Gianluca Di Tomassi Email: ditomass@dia.uniroma3.it Università di Roma Tre Web statico e Web interattivo In principio il Web era una semplice collezione di pagine

Dettagli

Laboratorio di Progettazione di Sistemi Software Introduzione

Laboratorio di Progettazione di Sistemi Software Introduzione Laboratorio di Progettazione di Sistemi Software Introduzione Valentina Presutti (A-L) Riccardo Solmi (M-Z) Indice degli argomenti Introduzione all Ingegneria del Software UML Design Patterns Refactoring

Dettagli

ALLEGATO C STANDARD TECNICI DELLA BORSA CONTINUA NAZIONALE DEL LAVORO

ALLEGATO C STANDARD TECNICI DELLA BORSA CONTINUA NAZIONALE DEL LAVORO ALLEGATO C STANDARD TECNICI DELLA BORSA CONTINUA NAZIONALE DEL LAVORO Standard tecnici Gli standard tecnici di riferimento adottati sono conformi alle specifiche e alle raccomandazioni emanate dai principali

Dettagli

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

Basi di dati. Corso di Laurea in Ingegneria Informatica Canale di Ingegneria delle Reti e dei Sistemi Informatici - Polo di Rieti Basi di dati Corso di Laurea in Ingegneria Informatica Canale di Ingegneria delle Reti e dei Sistemi Informatici - Polo di Rieti Anno Accademico 2008/2009 Introduzione alle basi di dati Docente Pierangelo

Dettagli

TEORIA sulle BASI DI DATI

TEORIA sulle BASI DI DATI TEORIA sulle BASI DI DATI A cura del Prof. Enea Ferri Cos è un DATA BASE E un insieme di archivi legati tra loro da relazioni. Vengono memorizzati su memorie di massa come un unico insieme, e possono essere

Dettagli

Linguaggi e Paradigmi di Programmazione

Linguaggi e Paradigmi di Programmazione Linguaggi e Paradigmi di Programmazione Cos è un linguaggio Definizione 1 Un linguaggio è un insieme di parole e di metodi di combinazione delle parole usati e compresi da una comunità di persone. È una

Dettagli

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

Raccolta dei Requisiti con i Casi D'uso. Corso di Ingegneria del Software Anno Accademico 2012/13 Raccolta dei Requisiti con i Casi D'uso Corso di Ingegneria del Software Anno Accademico 2012/13 I casi d uso I casi d'uso (use case) sono una tecnica utilizzata per identificare i requisiti funzionali

Dettagli

Descrizione generale. Architettura del sistema

Descrizione generale. Architettura del sistema Descrizione generale Sister.Net nasce dall esigenza di avere un sistema generale di Cooperazione Applicativa tra Enti nel settore dell Informazione Geografica che consenta la realizzazione progressiva

Dettagli

LABORATORIO. 2 Lezioni su Basi di Dati Contatti:

LABORATORIO. 2 Lezioni su Basi di Dati Contatti: PRINCIPI DI INFORMATICA CORSO DI LAUREA IN SCIENZE BIOLOGICHE Gennaro Cordasco e Rosario De Chiara {cordasco,dechiara}@dia.unisa.it Dipartimento di Informatica ed Applicazioni R.M. Capocelli Laboratorio

Dettagli

Monitoraggio e gestione dell IDoc per i sistemi SAP

Monitoraggio e gestione dell IDoc per i sistemi SAP Libelle EDIMON Monitoraggio e gestione dell IDoc per i sistemi SAP Versione documento: 3.0 Un operazione IDoc correttamente funzionante e senza interruzioni è una parte essenziale dell esecuzione dei processi

Dettagli

Meet O Matic. Design Document. Autori: Matteo Maggioni Luca Mantovani. Matricola: 721923 721014

Meet O Matic. Design Document. Autori: Matteo Maggioni Luca Mantovani. Matricola: 721923 721014 Meet O Matic Design Document Autori: Matteo Maggioni Luca Mantovani Matricola: 721923 721014 1 Indice 1 Introduzione 4 2 Architettura 4 3 Definizione della base di dati 6 3.1 Tabelle, campi e chiavi primarie.................

Dettagli

Ipertesti e Internet. Ipertesto. Ipertesto. Prof.ssa E. Gentile. a.a. 2011-2012

Ipertesti e Internet. Ipertesto. Ipertesto. Prof.ssa E. Gentile. a.a. 2011-2012 Corso di Laurea Magistrale in Scienze dell Informazione Editoriale, Pubblica e Sociale Ipertesti e Internet Prof.ssa E. Gentile a.a. 2011-2012 Ipertesto Qualsiasi forma di testualità parole, immagini,

Dettagli

EXPLOit Content Management Data Base per documenti SGML/XML

EXPLOit Content Management Data Base per documenti SGML/XML EXPLOit Content Management Data Base per documenti SGML/XML Introduzione L applicazione EXPLOit gestisce i contenuti dei documenti strutturati in SGML o XML, utilizzando il prodotto Adobe FrameMaker per

Dettagli

Verifica e Validazione (V & V) Software e difetti. Processo di V & V. Test

Verifica e Validazione (V & V) Software e difetti. Processo di V & V. Test Software e difetti Il software con difetti è un grande problema I difetti nel software sono comuni Come sappiamo che il software ha qualche difetto? Conosciamo tramite qualcosa, che non è il codice, cosa

Dettagli

Ingegneria del Software - Il Ciclo Lungo

Ingegneria del Software - Il Ciclo Lungo Ingegneria del Software - Il Ciclo Lungo Alessandro Martinelli alessandro.martinelli@unipv.it 10 Marzo 2014 Il Ciclo Lungo Il Versioning e la Condivisione di Codice Organizzazione dei Pacchetti La Modellazione

Dettagli

Progetto di Applicazioni Software

Progetto di Applicazioni Software Progetto di Applicazioni Software Antonella Poggi Dipartimento di Informatica e Sistemistica Antonio Ruberti SAPIENZA Università di Roma Anno Accademico 2008/2009 Questi lucidi sono stati prodotti sulla

Dettagli

Siti interattivi e dinamici. in poche pagine

Siti interattivi e dinamici. in poche pagine Siti interattivi e dinamici in poche pagine 1 Siti Web interattivi Pagine Web codificate esclusivamente per mezzo dell HTML non permettono alcun tipo di interazione con l utente, se non quella rappresentata

Dettagli

INFORMATICA. Applicazioni WEB a tre livelli con approfondimento della loro manutenzione e memorizzazione dati e del DATABASE.

INFORMATICA. Applicazioni WEB a tre livelli con approfondimento della loro manutenzione e memorizzazione dati e del DATABASE. INFORMATICA Applicazioni WEB a tre livelli con approfondimento della loro manutenzione e memorizzazione dati e del DATABASE. APPLICAZIONI WEB L architettura di riferimento è quella ampiamente diffusa ed

Dettagli

Progettazione di Applicazioni Web

Progettazione di Applicazioni Web 1 Argomenti della lezione Progettazione di Applicazioni Web Sviluppo delle applicazioni Processo di sviluppo Formalismi grafici di supporto diagrammi UML (cenni) Scelta dell architettura Sviluppo di applicazioni

Dettagli

A A Design Tool to Develop Agent-Based Workflow Management Systems

A A Design Tool to Develop Agent-Based Workflow Management Systems Università degli Studi di Genova Facoltà di Ingegneria DIST - Dipartimento di Informatica, Sistemistica e Telematica A A Design Tool to Develop Agent-Based Workflow Management Systems Marco Repetto, Massimo

Dettagli

Il problema. ! Si chiede di sviluppare un applicazione per la

Il problema. ! Si chiede di sviluppare un applicazione per la Il problema! Si chiede di sviluppare un applicazione per la gestione del sistema bibliotecario universitario. La soluzione deve implementare le operazioni basilari per la gestione della biblioteca ed inoltre

Dettagli

SOFTWARE MAINTENANCE DESIGN

SOFTWARE MAINTENANCE DESIGN SOFTWARE MAINTENANCE DESIGN INTRODUZIONE... 1 1.1 Identificazione della richiesta di modifica... 2 1.2 Assegnazione di un numero di identificazione alla Change Request... 2 1.3 Classificazione del tipo

Dettagli

MODELLAZIONE DEI PROCESSI AZIENDALI. workflow 1

MODELLAZIONE DEI PROCESSI AZIENDALI. workflow 1 MODELLAZIONE DEI PROCESSI AZIENDALI workflow 1 I Processi Definizione: Un Processo è un insieme di attività elementari svolte per raggiungere un certo obiettivo Tipologie di processi: Processi Fisici es.

Dettagli

CONTENT MANAGMENT SYSTEMS

CONTENT MANAGMENT SYSTEMS CONTENT MANAGMENT SYSTEMS ESTRATTO DA: Ileana D'Incecco, Progettare la comunicazione web per organizzazioni non-profit con strumenti open source: ideazione e realizzazione del sito web della Casa delle

Dettagli

Il diagramma dei casi d uso

Il diagramma dei casi d uso Il diagramma dei casi d uso Laboratorio di Ingegneria del Software Prof. Paolo Ciancarini Dott. Sara Zuppiroli A.A. 2010/2011 Lab di Ingegneria del Software () Il diagramma dei casi d uso A.A. 2010/2011

Dettagli

Model Driven Software Development con Eclipse, StatechartUMC

Model Driven Software Development con Eclipse, StatechartUMC Model Driven Software Development con Eclipse, StatechartUMC Aldi Sulova Istituto di Scienza e Tecnologie dell Informazione A. Faedo - CNR Via G. Moruzzi 1, 56124 Pisa, Italy aldi.sulova@isti.cnr.it Abstract.

Dettagli

Progettaz. e sviluppo Data Base

Progettaz. e sviluppo Data Base Progettaz. e sviluppo Data Base! Introduzione ai Database! Tipologie di DB (gerarchici, reticolari, relazionali, oodb) Introduzione ai database Cos è un Database Cos e un Data Base Management System (DBMS)

Dettagli

Progettazione concettuale

Progettazione concettuale Progettazione concettuale Strategie top-down A partire da uno schema che descrive le specifiche mediante pochi concetti molto astratti, si produce uno schema concettuale mediante raffinamenti successivi

Dettagli

ARCHIVI E LORO ORGANIZZAZIONI

ARCHIVI E LORO ORGANIZZAZIONI ARCHIVI E LORO ORGANIZZAZIONI Archivio: - insieme di registrazioni (record), ciascuna costituita da un insieme prefissato di informazioni elementari dette attributi (campi) - insieme di informazioni relative

Dettagli

Concetti base. Impianti Informatici. Web application

Concetti base. Impianti Informatici. Web application Concetti base Web application La diffusione del World Wide Web 2 Supporto ai ricercatori Organizzazione documentazione Condivisione informazioni Scambio di informazioni di qualsiasi natura Chat Forum Intranet

Dettagli

SCP: SCHEDULER LAYER. a cura di. Alberto Boccato

SCP: SCHEDULER LAYER. a cura di. Alberto Boccato SCP: SCHEDULER LAYER a cura di Alberto Boccato PREMESSA: Negli ultimi tre anni la nostra scuola ha portato avanti un progetto al quale ho partecipato chiamato SCP (Scuola di Calcolo Parallelo). Di fatto

Dettagli

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

Il documento rappresenta una guida sintetica per descrivere sia la filosofia che il modulo software per l implementazione dei workflow in recuper@2. Il documento rappresenta una guida sintetica per descrivere sia la filosofia che il modulo software per l implementazione dei workflow in recuper@2.0 ver 1.0 del 19/03/2013 Nettuno Solutions s.r.l. Viale

Dettagli

Con il termine Sistema operativo si fa riferimento all insieme dei moduli software di un sistema di elaborazione dati dedicati alla sua gestione.

Con il termine Sistema operativo si fa riferimento all insieme dei moduli software di un sistema di elaborazione dati dedicati alla sua gestione. Con il termine Sistema operativo si fa riferimento all insieme dei moduli software di un sistema di elaborazione dati dedicati alla sua gestione. Compito fondamentale di un S.O. è infatti la gestione dell

Dettagli

Gestire il ciclo di vita dei documenti: realizzare una gestione documentale in accordo con le norme ISO 9001

Gestire il ciclo di vita dei documenti: realizzare una gestione documentale in accordo con le norme ISO 9001 Gestire il ciclo di vita dei documenti: realizzare una gestione documentale in accordo con le norme ISO 9001 INTRODUZIONE Gran parte del patrimonio informativo di una organizzazione risiede in insiemi

Dettagli

Unified Modeling Language

Unified Modeling Language Unified Modeling Language Luciano Baresi Luciano Baresi 1 OMT Booch UML Sono simili in molti aspetti: Prescrivono un approccio passo-passo Consentono il passaggio dall analisi al progetto in modo omogeneo

Dettagli

DATABASE IN RETE E PROGRAMMAZIONE LATO SERVER

DATABASE IN RETE E PROGRAMMAZIONE LATO SERVER DATABASE IN RETE E PROGRAMMAZIONE LATO SERVER L architettura CLIENT SERVER è l architettura standard dei sistemi di rete, dove i computer detti SERVER forniscono servizi, e computer detti CLIENT, richiedono

Dettagli

MODELLAZIONE DEI PROCESSI AZIENDALI. workflow 1

MODELLAZIONE DEI PROCESSI AZIENDALI. workflow 1 MODELLAZIONE DEI PROCESSI AZIENDALI workflow 1 I Processi Definizione: Un Processo è un insieme di attività elementari svolte per raggiungere un certo obiettivo Tipologie di processi: Processi Fisici es.

Dettagli

Progettazione orientata agli oggetti Introduzione a UML

Progettazione orientata agli oggetti Introduzione a UML Progettazione orientata agli oggetti Introduzione a UML Claudia Raibulet raibulet@disco.unimib.it Il processo di sviluppo software Rappresenta un insieme di attività per la specifica, progettazione, implementazione,

Dettagli

Manuale Gestione di OpenSPCoop 1.4 i. Manuale Gestione di OpenSPCoop 1.4

Manuale Gestione di OpenSPCoop 1.4 i. Manuale Gestione di OpenSPCoop 1.4 i Manuale Gestione di OpenSPCoop 1.4 ii Copyright 2005-2011 Link.it srl iii Indice 1 Introduzione 1 2 Prerequisiti per la Configurazione della Porta di Dominio 1 2.1 Verifica dell applicazione di gestione

Dettagli

Progetto di Ingegneria del Software matricola 640926 MODELLAZIONE UML DI UN TERMINALE ATM. di Cavenaghi Mattia 03/04/2008 1/24

Progetto di Ingegneria del Software matricola 640926 MODELLAZIONE UML DI UN TERMINALE ATM. di Cavenaghi Mattia 03/04/2008 1/24 MODELLAZIONE UML DI UN TERMINALE ATM di Cavenaghi Mattia 03/04/2008 1/24 INDICE: Descrizione del problema pag. 3 Analisi dei requisiti pag. 3 Requisiti funzionali Requisiti non funzionali Requisiti tecnologici

Dettagli

Configurare TPTP in Eclipse e testare un applicazione

Configurare TPTP in Eclipse e testare un applicazione Configurare TPTP in Eclipse e testare un applicazione Questa guida concentra la sua attenzione sul tool TPTP (Test & Performance Tools Platform) presente nell ambiente di sviluppo Eclipse. Verrà descritta

Dettagli

WEBsfa: l automazione della forza vendita via Web

WEBsfa: l automazione della forza vendita via Web WEBsfa: l automazione della forza vendita via Web White Paper 1 Gennaio 2005 White Paper Pag. 1 1/1/2005 L automazione della Forza Vendita Le aziende commerciali che che sviluppano e alimentano il proprio

Dettagli

Appunti lezione Database del 07/10/2015

Appunti lezione Database del 07/10/2015 Appunti lezione Database del 07/10/2015 Nelle lezioni precedenti si è visto come qualunque applicazione informativa è almeno formata da tre livelli o layers che ogni progettista conosce e sa gestire: Livello

Dettagli

ALLEGATO 8.1 DESCRIZIONE PROFILI PROFESSIONALI

ALLEGATO 8.1 DESCRIZIONE PROFILI PROFESSIONALI PROCEDURA DI SELEZIONE PER L AFFIDAMENTO DEL SERVIZIO DI PROGETTAZIONE, ANALISI, SVILUPPO, MANUTENZIONE ADEGUATIVA, CORRETTIVA ED EVOLUTIVA DI SISTEMI INFORMATIVI SU PIATTAFORMA IBM WEBSPHERE BPM (EX LOMBARDI)

Dettagli