Elena Quarantotto, Telecom Italia/IT Innovation 1 Mini-Scuola WOA 2009 WADE: Una piattaforma open source per workflow e agenti Elena Quarantotto (Telecom.

Slides:



Advertisements
Presentazioni simili
IBM System i Il Sistema Enterprise per la PMI
Advertisements

Interfacce Java.
Midrange Modernization Conference 1 Scenari evolutivi per le soluzioni basate su AS/400 Walter Poloni Direttore Developer & Platform Evangelism Microsoft.
TechNet Integration Workshop
1 Teaching Cloud Computing and Windows Azure in Academia Domenico Talia UNIVERSITA DELLA CALABRIA & ICAR-CNR Italy Faculty Days 2010.
ASP.NET – Web Forms Davide Vernole.NET MVP. Di cosa parleremo Introduzione ad ASP.NET ASP.NET, dietro le quinte Componenti principali di una applicazione.
Vincenzo Campanale PM Security & Management System Center, DSI e la Roadmap.
WSDL (Web Services Description Language) Laurea Magistrale in Informatica Reti 2 (2006/07) dott. Federico Paoloni
UDDI (Universal Description, Discovery and Integration Protocol) Laurea Magistrale in Informatica Reti 2 (2006/07) dott. Federico Paoloni
1 Processi e Thread Processi Thread Meccanismi di comunicazione fra processi (IPC) Problemi classici di IPC Scheduling Processi e thread in Unix Processi.
Esercizio 2. Mostrare l'evoluzione dello stato (ambiente di classi, heap, pila, System.out) durante la valutazione delle seguenti dichiarazioni di classe.
Seam.
E Windows SharePoint Services 2.0 Ivan Renesto Overview how to use Windows SharePoint Services.
Microsoft Robotics Studio Marco Petrucco Microsoft Student Partner - Udine.
EJB Enterprise Java Beans B. Pernici. Approccio Java.
Pierluigi Plebani - Politecnico di Milano MAIS Registry URBE (Uddi Registry By Example) WP2 Roma - 25 Novembre 2005.
Model – View - Controller
Unified Modeling Language class C {…} class B extends C {…} Esiste una notazione grafica per mostrare le relazioni di ereditarietà. Object StringC B Tutte.
J0 1 Marco Ronchetti Java Threads & Sincronizzazione.
EJB Getting started Database: MySql Application Server: Pramati Server Ambiente di sviluppo: Pramati Studio 3 Applicazione esempio: Logon Trento, 30/10/2002.
Sezione: Costruttori Costruttori. Definizione dei costruttori Se per una classe A non scrivo nessun costruttore, il sistema automaticamente crea il costruttore.
prompt> java SumAverage
1 struct Pila { private: int size; int defaultGrowthSize; int marker; int * contenuto; void cresci(int increment); public: Pila(int initialSize) ; Pila();
Chiara Carlucci - Isfol 15 giugno 2007 CDS Isfols specialised documentation centre.
1. Conoscere luso delle collezioni in Java Comprendere le principali caratteristiche nelle varie classi di Collection disponibili Saper individuare quali.
Programming with JXTA Hello World Peer discovery Peer Group discovery Creating Peer group Joining a Peer Group.
Università La Sapienza Ingegneria del Software I 1 Ingegneria del software I Seminario 2: Microsoft.NET.
1 Implementazione di Linguaggi 2 PARTE 6 Implementazione di Linguaggi 2 PARTE 6 Massimo Ancona DISI Università di Genova Testo: A.V. Aho, R. Sethi, J.D.Ullman.
2000 Prentice Hall, Inc. All rights reserved. 1 Capitolo 6: Classi e astrazione dati 1.Introduzione 2.Definizione delle strutture 3.Accedere ai membri.
1 laboratorio di calcolo II AA 2003/04 ottava settimana a cura di Domizia Orestano Dipartimento di Fisica Stanza tel. ( )
FONDAMENTI DI INFORMATICA III WfMC-1. FONDAMENTI DI INFORMATICA III WfMC-2 WFMC Cose WfMC Workflow Management Coalition (WfMC), Brussels, è unorganizzazione.
National Project – on going results Potenza 7/10 November 06 IT-G2-SIC-066 – Social Enterprise and Local Development.
Componenti dell’architettura Oracle
ETEN – Re-Public – RePublic website 1\5 eTEN Progetto Re-Public – RePublic website Workshop finale Dott. Marco Sentinelli – Galgano International Roma,
1 © 2013 Cobra Italia SpA All rights reserved Cobra group website Gennaio 2013.
MIC 2008, Roma Antonio Pistoia Università Politecnica delle Marche MOODLELab Uno strumento per MOODLE per la gestione dei telelaboratori durante i corsi.
Progetto Strutture e personale del Ministero
Un esempio: Registrazione e lettura di dati in un file
7 cose da sapere su Volume Activation con Windows 7 © 2009 Microsoft Corporation. Tutti i diritti riservati. Come professionista IT, devi sapere che l'attivazione.
Filtered Index and Statistics Filtered Indexes Sergio Govoni
Sito IntergruppoParma.it Nuovo Intergruppo Parma.
OR5 – Rete di trasmissione
1 Web Design Internet Agency. 2 Web Design Internet Agency Qual è il valore aggiunto che può portare allimpresa ? Perché è fondamentale oggi avere un.
Sviluppo di una Xlet per la TV digitale terrestre Vademecum della regione marche 2006 Ventura Luca.
Tutorial relativo al Mio EBSCOhost. Benvenuti al tutorial dedicato a Mio EBSCOhost, verranno fornite le istruzioni per la configurazione e lutilizzo ottimizzato.
PON LEW Landslide Early Warning SAL III Aprile 2013 Autostrade Tech S.p.A. PON LEW Landslide Early Warning SAL III Aprile 2013 Autostrade Tech S.p.A. SISTEMI.
TAQ Identità oggetto Contenuto Modalità di uso Nome oggetto: numero
Innovazioni versione 4 Bari, 17 ottobre Innovazioni versione 4 Il menù dinamico secondo logica operativa Il ruolo dei Ruoli Facilitare la scelta.
AgentGroup MEnSA Project - Future work Agent and Pervasive Computing Group Dipartimento di Ingegneria dellInformazione Università degli Studi di Modena.
Sistema Informativo Demanio Idrico marzo Per aumentare lefficienza del servizio abbiamo realizzato un sistema in grado di gestire in modo integrato.
Andrea Petricca Problematiche di rete nella sperimentazione di file-system distribuiti su WAN per applicazioni di GRID-Computing Rapporto trimestrale attività
KNOwledge Store. INSTALLAZIONE KNOS 1.Architettura dellapplicazione 2.Prerequisiti hardware 3.Prerequisiti software 4.Installazione ruoli e funzionalità
INTERNET Antonio Papa Classe 2^ beat I.S.I.S. G. Meroni a.s. 2007/2008.
PROGETTO DI STRUMENTI PER LA CONFIGURAZIONE DI APPLICAZIONI JAVA ENTERPRISE Anno Accademico 2006 / 2007 Sessione III FACOLTÀ DI INGEGNERIA CORSO DI LAUREA.
ICF e Politiche del Lavoro
Attività Formativa Sviluppo di un WORKFLOW ENGINE di Dott. Riccardo Gasperoni Alessandro Caricato Gabriele Trabucco in collaborazione con Progesi S.p.A.
Fabio Cozzolino Vito Arconzo
Scoprirete che su Office non si può solo contare ma anche sviluppare.
Ese 2 (del 31 Marzo 2004). Mostrare l'evoluzione dello stato (ambiente di classi, heap, pila, System.out) durante la valutazione delle seguenti dichiarazioni.
Visual Studio Tools for Office: Developer Solutions Platform Fulvio Giaccari MCSD.NET / MCT Responsabile Usergroup ShareOffice Blog:
Test con JUnit. zJUnit è un ambiente di test per programmi Java ySviluppato da Kent Beck É possibile usare JUnit allinterno di Eclipse per eseguire i.
1 Simulated multiple inheritance Sandro Pedrazzini Approfondimento Simulated multiple inheritance in Java.
Italian Family Policies and Pre- School Childcare in view of the Best Interest of the Child and Best Quality of Early Care Services. Towards the Lisbon.
Corso di Web Services A A Domenico Rosaci Patterns di E-Business D. RosaciPatterns per l'e-Business.
Pippo.
Collection & Generics in Java
Sistemi di elaborazione dell’informazione Modulo 3 -Protocolli applicativi Unità didattica 4 - Protocolli del Web Ernesto Damiani Lezione 3 – Esempi HTTP.
Java Enterprise Edition
JDBC Java DataBase Connectivity SISTEMI ITIS B. CASTELLI Anno Scolastico
Video Streaming dal player standard Android verso device non convenzionali GDG Fest Roma – 2014 – Matteo Bonifazi & Alessandro Martellucci.
Transcript della presentazione:

Elena Quarantotto, Telecom Italia/IT Innovation 1 Mini-Scuola WOA 2009 WADE: Una piattaforma open source per workflow e agenti Elena Quarantotto (Telecom Italia)

Elena Quarantotto, Telecom Italia/IT Innovation 2 Piattaforma JADE – principali caratteristiche Piattaforma WADE – workflow e amministrazione Creazione di applicazione di esempio WADE-based con lausilio di WOLF Agenda

Elena Quarantotto, Telecom Italia/IT Innovation 3 JADE Java Agent DEvelopment framework Elena Quarantotto (Telecom Italia)

Elena Quarantotto, Telecom Italia/IT Innovation 4 JADE Java Agent DEvelopment framework Framework (librerie + runtime) che facilita lo sviluppo di applicazioni distribuite basate sul paradigma ad agenti Interamente scritto in Java Puo essere eseguito su PC, server e telefonini (MIDP 1.0) Conforme allo Standard FIPA Distribuito in Open Source con licenza LGPL Utilizzato in Telecom Italia come piattaforma per 2 applicazioni mission critical nel dominio OSS Developing Multi Agent Systems with JADE pubblicato da J.Wiley nel Febbraio 2007

Elena Quarantotto, Telecom Italia/IT Innovation 5 Principali caratteristiche INFORM REQUEST PROPOSE AGREE REFUSE Meccanismi di discovery publish/subscribe Gestione e monitoraggio del ciclo di vita Mobilita Fault tolerance Ricca suite di tool grafici per la gestione della piattaforma Facile da integrare con sistemi esterni Astrazione di Agenti e Behaviour (task eseguito da un agente) Distribuzione trasparente delle componenti (agenti) su un vasto insieme di device Comunicazione Peer-to-peer basata sullo scambio asincrono di messaggi

Elena Quarantotto, Telecom Italia/IT Innovation 6 La Comunita Il progetto Open Source Primo rilascio nel Dimensioni: > downloads > 3000 sottoscrizioni alla mailing list Licenza LGPL Versione corrente 3.7 rilasciata a fine giugno Il Board di JADE (2003) Missione: promuovere, governare e implementare le evoluzioni di JADE Tra i membri Telecom Italia (leader) e France Telecom

Elena Quarantotto, Telecom Italia/IT Innovation 7 Architettura JADE Container Main Container PLATFORM AMS DF PLATFORM 2 JADE AMS DF Main Container JADE host1 host2 host3 host4 Passaggio di oggetti Protocollo Proprietario FIPA (http/iiop)

Elena Quarantotto, Telecom Italia/IT Innovation 8 Il modello di comunicazione Basato sullo scambio asincrono di messaggi A1 A2 Prepara il messaggio per A2 Prende il messaggio dalla coda dei messaggi e lo processa JADE distributed runtime (PROPOSE :sender A1 :receiver A2 :content Cinema evening :language English :ontology Cinema- ontology ) Il formato del messaggio e conforme al linguaggio ACL (FIPA)

Elena Quarantotto, Telecom Italia/IT Innovation 9 FSMBehaviour SequentialBehaviour ParallelBehaviour Esecuzione e composizione dei Task Un agente nel suo ciclo di vita puo eseguire behaviours o assumere lo stato inattivo (jade.core.behaviours.Behaviour) Simple behaviours Metodo action(): Determina il lavoro del task Metodo done(): Determina la terminazione del task Composite behaviours B1 B2 B3 B1B2 B3 B1 B2 B4 B3

Elena Quarantotto, Telecom Italia/IT Innovation 10 Il servizio di pagine gialle A1: - serviceX - serviceY A2: - serviceZ A3: - serviceW - serviceK - serviceH Servizio di Pagine Gialle Pubblicazione dei servizi esposti A1A2A3A4A5A6 Ricerca degli agenti che espongono un determinato servizio Utilizza il servizio richiesto DF

Elena Quarantotto, Telecom Italia/IT Innovation 11 WADE Workflows and Agents Development Environment Elena Quarantotto (Telecom Italia)

Elena Quarantotto, Telecom Italia/IT Innovation 12 E unestensione di JADE Unapplicazione WADE-based e ancora unapplicazione JADE-based Tutte le features di JADE sono disponibili in WADE Aggiunge a JADE La possibilita di definire i task degli agenti secondo la metafora dei workflow Componenti e meccanismi che facilitano lamministrazione di applicazioni WADE-based che per loro natura sono distribuite I due aspetti possono essere usati separamente Non e un unico grosso workflow engine, ma sono dei micro-workflow engines racchiusi negli agenti Open Source da Maggio Fine Giugno rilascio di WADE 2.5 Tutorial disponibile allurl WADE

Elena Quarantotto, Telecom Italia/IT Innovation 13 Workflow Un workflow e la definizione formale di un processo in termini di attivita da eseguire, relazioni tra di loro che specificano il flusso di esecuzione, e condizioni di attivazione e terminazione Rappresentazione grafica, facilmente comprensibile sia da esperti di dominio che da programmatori Auto-documentativi Meccanismi automatici per facilitare il monitoraggio del sistema e linvestigazione di problemi Procedure di rollback automatiche a fronte di fallimenti in caso di esecuzione in contesti transazionali

Elena Quarantotto, Telecom Italia/IT Innovation 14 WOLF (WOrkflow LiFe cycle management environment) Lambiente grafico di sviluppo Eclipse plugin Configurazione e gestione di un progetto per lo sviluppo di unapplicazione WADE- based Creazione ed aggiornamento grafico dei workflow Workflow permettono la condivisione delle logiche con gli esperti di dominio Workflow = Vista grafica e codice della classe sono allineati Utilizzatori target: Sviluppatori

Elena Quarantotto, Telecom Italia/IT Innovation 15 Associare la natura WADE ad un progetto JAVA in eclipse si attivano le funzionalita offerte da WOLF Configurazione del progetto WADE Scelta della tipologia di applicazione: JADE plus Workflow o Full Featured WADE Aggiunta delle librerie WADE al classpath del progetto (fornite direttamente da WOLF o esterne) Aggiunta della cartella di configurazione WADE al classpath di progetto Progetti WADE-based

Elena Quarantotto, Telecom Italia/IT Innovation 16 Classe Workflow public class FailCaffeWf extends WorkflowBehaviour {.... private void defineActivities() { registerActivity(new CodeExecutionBehaviour(this, Controlla), INITIAL); registerActivity(new CodeExecutionBehaviour(this, Prepara)); registerActivity(new CodeExecutionBehaviour(this, Errore), FINAL); registerActivity(new CodeExecutionBehaviour(this, Versa), FINAL); }.... private void defineTransitions() { registerTransition(new Transition(this, AbbastanzaCaffe), Controlla, Prepara); registerTransition(new Transition(), Controlla, Errore); registerTransition(new Transition(), Prepara, Versa); } … protected void executeControlla() { } protected void executePrepara() { } protected void executeVersa() { } protected void executeErrore() { } protected boolean checkAbbastancaCaffe() { }.... } FailCaffeWf Prepara Controlla Versa Errore Abbastanza Caffe

Elena Quarantotto, Telecom Italia/IT Innovation 17 Workflow classe Java che estende WorkflowBehaviour Activity metodo void della classe del workflow Behaviour registrato nelloggetto workflow, responsabile di invocare il metodo dellactivity passando i parametri in base al tipo di activity Transition Metodo booleano della classe del workflow che implementa la condizione (se presente) Transition registrata nelloggetto workflow, responsabile di invocare il metodo associato alla condizione Formal Parameters Field della classe Workflow con Informazioni di layout (es. posizione delle activity, routing points delle transizioni, …) definite Elementi della classe Workflow

Elena Quarantotto, Telecom Italia/IT Innovation 18 CodeActivity Il metodo dellactivity contiene direttamente il codice che deve essere eseguito WebServiceActivity Il metodo dellactivity invoca un web service Puo essere statico o dinamico (non necessita limport del WSDL la generazione di classi) SubflowActivity Il metodo dellactivity invoca lesecuzione di un altro workflow Puo essere sincrono o asincrono La scelta dellagente a cui delegare il workflow puo essere effettuata a runtime SubflowJoinActivity Il metodo dellactivity sospende lesecuzione del workflow in attesa del completamento di uno o piu workflow asincroni partiti precedentemente Tipi di Activity

Elena Quarantotto, Telecom Italia/IT Innovation 19 Ereditarieta dei Workflow FailCaffeWorkflow Prepara Controlla Versa Errore Abbastanza Caffe Aggiungi Zucchero CaffeZuccheratoWf public class CaffeZuccheratoWf extends FailCaffeWf {.... private void defineActivities() { changeActivityOrder(Versa, INTERMEDIATE); registerActivity(new CodeExecutionBehaviour(this, AggiungiZucchero), FINAL); }.... private void defineTransitions() { registerTransition(new Transition(), Versa, AggiungiZucchero); } … protected void executeAggiungiZucchero() { } … } La classe del workflow esteso contiene solo le differenze con il workflow base

Elena Quarantotto, Telecom Italia/IT Innovation 20 WADE-application startup wade-home |---startMain.bat/sh | |---cfg/ |---main.properties |---types.xml | |---configurations/ |---sample.xml | |---lib/ |---wade.jar |---JadeLeap.jar |... |---log/ |---projects/ | failcaffe-home |---cfg/ |---main.properties |---lib/ |---failcaffe.jar |---failcaffe.properties # FailCaffe project property file project-home=D:/develop/FailCaffe platform-id=FAILCAFFE agents=p1:com.tilab.wade.performer. WorkflowEngingAgent wade-home> startMain failcaffe