Laurea Specialistica in Informatica Struttura e Configurazione di Sistemi Liberi Panoramica sulle soluzioni FOSS di livello aziendale Testimonianza di: Antonio Majori [email protected] www.math.unipd.it/~ruffatti/ [Panoramica soluzioni FOSS di livello aziendale] 1 Laurea Specialistica in Informatica Struttura e Configurazione di Sistemi Liberi Indice Modello di classificazione Modello di riferimento Metrica di valutazione Individuazione delle soluzioni OSS Approfondimenti su alcune soluzioni Rich client (Tibco – OpenLaszlo) • Portali (eXo Platform) • ESB (ServiceMIX – Cimero) • ETL/EAI (Talend OpenStudio) • SOA & sistemi documentali • Soluzioni Engineering & Integration Landscape • www.math.unipd.it/~ruffatti/ [Panoramica soluzioni FOSS di livello aziendale] 2 Laurea Specialistica in Informatica Struttura e Configurazione di Sistemi Liberi Presentation Framework Presentation tier App. Infrastructure Data tier Support Solutions www.math.unipd.it/~ruffatti/ BPM / Choreographer Analitics Report/OLAP/Chart/DataMining Framework Application Server Connectivity Build & Deployer system Portal Thick Client ETL/EAI Core Common Component Specific Container Search Engine Doc. Logging Transaction Manager Mail Connector IDE Workflow Source Control …. 3°Party Utilities MQ Cache Manager Networking Security Glue Code Rich Client SOA Integration gateway Service tier Stack architetturale … Repository Tracking [Panoramica soluzioni FOSS di livello aziendale] Testing Monitor 3 Servizi verticali su Open Architecture Laurea Specialistica in Informatica Struttura e Configurazione di Sistemi Liberi ERP Definizione da WikiPedia CRM BI Groupware ….. Open architecture is a type of computer architecture or software architecture that allows adding, upgrading and swapping components. Open architecture allows potential users to see inside all or parts of the architecture without any proprietary constraints. Typically, an open architecture publishes all or parts of its architecture that the developer or integrator wants to share. The open business processes involved with an open architecture may require some license agreements between entities sharing the architecture information www.math.unipd.it/~ruffatti/ [Panoramica soluzioni FOSS di livello aziendale] 4 Laurea Specialistica in Informatica Struttura e Configurazione di Sistemi Liberi Modello di riferimento: EAP Bus integrazione servizi front end Enterprise Portal Publication services portlet portlet Partner Integration Hub portlet Rools Meta rep. IAM Integration services Application services CRM Routing ERP BI Service Manager Docum. Groupw. Business Process Manager Legacy system Custom DBMS system Trans. Bus integrazione servizi di back end Enterprise Application Platform: relazionare applicativi e componenti infrastrutturali tramite: Bus logico (di front end e di back end) Business Process Management (BPM) Identity Access Management (IAM) Catalogo centrale che contiene le regole aziendali di processo (Rools&Meta repository). www.math.unipd.it/~ruffatti/ [Panoramica soluzioni FOSS di livello aziendale] 5 Laurea Specialistica in Informatica Struttura e Configurazione di Sistemi Liberi Metrica di valutazione Possibili voci di valutazione Riferimenti: URL, Comunità di riferimento, Eventuale Vendor Licenza (tipo ed eventuale presenza di soluzione commerciale) Data inizio progetto Ultima data aggiornamento Versione attuale Frequenza rilasci Livello di interesse (esempio partendo dall’utilizzo dei forum) Livello di maturità Livello di diffusione Livello documentazione Livello di usabilità (tool, skill, formazione, ..) Gestione retro compatibilità Standard riferimento Relazione con altri progetti OSS Relazione con altri progetti commerciali Conoscenza aziendale Eventuali progetti Relazioni con la comunità Valutazione www.math.unipd.it/~ruffatti/ [Panoramica soluzioni FOSS di livello aziendale] Documento Censimento Sw OSS 6 Laurea Specialistica in Informatica Struttura e Configurazione di Sistemi Liberi Presentation Framework / Templating Rich Client JSF AJAX •TIBCO GI •Google web toolkit •Dhtmlgoodies.com •Dojo Flash/DHTML OpenLaszlo Web start (Swing/SWT) Eclipse RCP Struts JBoss SEAM Velocity Scripting (Groovy) www.math.unipd.it/~ruffatti/ [Panoramica soluzioni FOSS di livello aziendale] 7 Laurea Specialistica in Informatica Struttura e Configurazione di Sistemi Liberi Tibco General Interface Ambiente di RAD per: • sviluppo (layout, proprietà) • supporto modello SOA • gestione eventi • deployment Libreria di componenti utili alla realizzazione di applicativi web Rich Client Licenza BSD Ampia documentazione Conoscenza Engineering In valutazione per supporto nuovi requisiti clienti. In test l’integrazione su SpagoBI. Livello di maturità versione commerciale anteriore sufficientemente stabile Livello di diffusione forte pressione di marketing Standard riferimento Javascript, SOAP www.math.unipd.it/~ruffatti/ [Panoramica soluzioni FOSS di livello aziendale] 8 Laurea Specialistica in Informatica Struttura e Configurazione di Sistemi Liberi Rich Client: OpenLaszlo OpenLaszlo compila in modo trasparente quanto scritto in XML e Javascript su tecnologia Flash e DHTML (in Beta). Attraverso API proprietarie si ottengono animazioni, layout, data binding, server communication, … in modo alternativo a quanto possibile con soluzioni proprietarie come Macromedia. Conoscenza Engineering Utilizzato per i dashboard di SpagoBI Livello di maturità versione sufficientemente stabile. Livello di diffusione Diversi progetti di nicchia. Rapporti di collaborazione con SUN Standard riferimento XML, runtime Flash, DHTML (Beta),Javascript, SOAP www.math.unipd.it/~ruffatti/ [Panoramica soluzioni FOSS di livello aziendale] 9 Laurea Specialistica in Informatica Struttura e Configurazione di Sistemi Liberi Presentation layer: Portali + CMS/ECM Portali JSR 168 CMS/ECM (JSR 170) eXo Portal eXo ECM/JCR JetSpeed Graffito JBoss Portal JBoss CMS Portlet Liferay Alfresco Magnolia www.math.unipd.it/~ruffatti/ JSR 168 JSR 168 [Panoramica soluzioni FOSS di livello aziendale] 10 Laurea Specialistica in Informatica Struttura e Configurazione di Sistemi Liberi eXo Platform L’obiettivo di eXo Platform è il completamento di una piattaforma di portale, contenete un completo ambiente di ECM, in grado di colloquiare con servizi esterni tramite portlet e workflow (JBPM/Bonita), JCR e Business Intelligence (Portlet JSR 168 di SpagoBI). Conoscenza Engineering Utilizzato per diversi progetti di Enterprise Portal e come portale di sviluppo per SpagoBI Livello di maturità versione sufficientemente stabile. Fa parte del consorzio ObjectWEB Livello di diffusione Prima soluzione JSR 168 open source. Maggiore diffusione su progetti francesi con partner importanti (Telecom France, Thales, BULL). Standard riferimento JSR 168, JSR 170. www.math.unipd.it/~ruffatti/ [Panoramica soluzioni FOSS di livello aziendale] 11 Laurea Specialistica in Informatica Struttura e Configurazione di Sistemi Liberi Integration Gateway ESB Apache ServiceMIX Iona Celtix SUN OpenESB Mule Petals Jboss ESB BPM / Choreographer ActiveBPEL Apache ODE “An Enterprise Service Bus providing a Service-Oriented Architecture approach to building composite applications” open esb Intalio BPM/PXE Bull Orchestra ESB combina: Messaging, Data transformation, Routing, Web Services JBPM / BPEL www.math.unipd.it/~ruffatti/ [Panoramica soluzioni FOSS di livello aziendale] 12 Laurea Specialistica in Informatica Struttura e Configurazione di Sistemi Liberi ESB: ServiceMIX Open Source JBI Container JSR 208 Transaction Management tramite Jencks e Java Transaction API (JTA) Java Message Service (JMS) tramite ActiveMQ Un J2EE compliant Server, tramite Servicemix, adotta un JBI Conteiner JBI: Assemblies & Components Binding Components (BC): protocolli/trasportatori (e.g. JMS binding, SOAP binding) e Proxy Service Engines (SE): servizi infrastrutturali (e.g. BPEL runtime) e business logic Shared Libraries (SL): Common logic dei diversi SE e BC Service Assembly (SA): realizza una applicazione SOA, combinando BC, SE e SL www.math.unipd.it/~ruffatti/ [Panoramica soluzioni FOSS di livello aziendale] 13 Laurea Specialistica in Informatica Struttura e Configurazione di Sistemi Liberi Esempio utilizzo JBI Customer Mail Client R JBI based ESB Web Browser Messages Buffer R https DB BPEL SE R ME Web Container Web Frontend Binding Components RMI Order Processing System ME EJB Container Session Database www.math.unipd.it/~ruffatti/ Normalized Message Router (NMR) Service Engines SMTP Message Exchange (ME) ME ME Mailing System BC Bank System BC Supplier Retrieval System BC Mailing System R SET EDI R CSV, EDI XML JBI Component Manager [Panoramica soluzioni FOSS di livello aziendale] R Banking System Supplier Retrieval System JBI Artifacts 14 Laurea Specialistica in Informatica Struttura e Configurazione di Sistemi Liberi Java Business Integration (JBI) Principi di base • Disaccoppiamento dei servizi e degli assembly dai dettagli di invocazione tramite l’utilizzo di un Message Router • Costruzione di applicazioni complesse tramite “assemblaggio” di componenti di servizio e componenti di interfacciamento www.math.unipd.it/~ruffatti/ [Panoramica soluzioni FOSS di livello aziendale] 15 Laurea Specialistica in Informatica Struttura e Configurazione di Sistemi Liberi Service Component Architecture: SCA (1) Service Component Architecture (SCA) è un insieme di specifiche che descrive un modello per lo sviluppo di applicazioni e sistemi aderenti al paradigma delle Service-Oriented Architecture. E’ sponsorizzato principalmente da: BEA Systems, IBM, Oracle. E’ uno standard alternativo a JBI di cui riprende buona parte (se non tutti) i concetti di base. Le specifiche attuali di SCA sono alla versione 0.95: non è stata ancora rilasciata una versione finale. www.math.unipd.it/~ruffatti/ [Panoramica soluzioni FOSS di livello aziendale] 16 Laurea Specialistica in Informatica Struttura e Configurazione di Sistemi Liberi Service Component Architecture: SCA (2) Principi di base • Disaccoppiamento dei servizi e degli assembly dai dettagli di invocazione • Supporto a implementazioni di servizi scritte in linguaggi di programmazione come Java™, PHP, C++, COBOL, e linguaggi XML-based come BPEL e XSLT www.math.unipd.it/~ruffatti/ [Panoramica soluzioni FOSS di livello aziendale] 17 Laurea Specialistica in Informatica Struttura e Configurazione di Sistemi Liberi Service tier Analytics ETL Repository Doc Workflow JasperReport Talend Open Jackrabbit Bonita BIRT Studio eXo JCR JBPM Mondrian Kettle JLibrary Shark Palo KloverETL Magnolia Intalio Alfresco JFreeChart Oximel Weka data minig Collaboration Search Engine xWiki Lucene JForum Carrot2 JBoss Collab. www.math.unipd.it/~ruffatti/ [Panoramica soluzioni FOSS di livello aziendale] 18 Laurea Specialistica in Informatica Struttura e Configurazione di Sistemi Liberi Data Integration: Talend OpenStudio Open Source ETL code generator (Perl, 2007 Java) Sviluppato su Eclipse Ambiente di mapping Ambiente di debug Disponibilità di numerosi conettori Perl. Attualmente verso DBMS, Excel, CSV, file posizionali, XML. Versione 1.1 (beta): schedulatore processi, LDAP, mail Conoscenza Engineering Integrato su progetto Spagic” In test l’integrazione su SpagoBI. Livello di maturità Tre anni per lo sviluppo – Rilasciato 2006. Livello di diffusione forte pressione di marketing Standard riferimento Potenzialmente può generare in qualsiasi linguaggio. Supporta linguaggio Perl e Java. www.math.unipd.it/~ruffatti/ [Panoramica soluzioni FOSS di livello aziendale] 19 Documentale: evoluzione verso la SOA Laurea Specialistica in Informatica Struttura e Configurazione di Sistemi Liberi …… FileNet Hummingbird OSS JackRabit WF esterni Protocollo standard webDAV Enti esterni Servizi infrast. ….. Anagrafe Protocollo Approccio Documentale centrico: Servizi applicativi che utilizzano repository e WF documentale. Sono responsabili del colloquio esterno e processi di business Tool utilità individuale Protocollo Processi orchestrazione Workflow collaborativo Anagrafe Servizi Business WF esterni Enti esterni ….. ….. Altri WF DBMS TG CCIS Approccio Dorsale integrazione: Servizi comuni su cui realizzare applicativi Servizi Infrastrutturali Motori ricerca Sistema Documentale + WF interno Sistema Documentale Aderente standard Ulteriore obiettivo: supportare le attività che fino ad oggi sono spesso svolte tramite Lotus Notes www.math.unipd.it/~ruffatti/ [Panoramica soluzioni FOSS di livello aziendale] 20 Laurea Specialistica in Informatica Struttura e Configurazione di Sistemi Liberi Glue Code Framework Logging 3.Party Utilities Spring Log4J Jboss rools engine (drools) Jboss SEAM Groovy Spago Apache CBE Hibernate www.math.unipd.it/~ruffatti/ [Panoramica soluzioni FOSS di livello aziendale] 21 Laurea Specialistica in Informatica Struttura e Configurazione di Sistemi Liberi Application Infrastructure Application Server MQ Tomcat ActiveMQ Jboss Joram Jonas Geronimo Service Repository JUDDI freebXML scout www.math.unipd.it/~ruffatti/ [Panoramica soluzioni FOSS di livello aziendale] 22 Laurea Specialistica in Informatica Struttura e Configurazione di Sistemi Liberi Servizi Supporto IDE Testing Monitor / Profile Eclipse JUnit Eclipse TPTP NetBeans OpenSTA JMeter Tracking Source Control Jira CVS Bugzilla SVN Mantis Trac www.math.unipd.it/~ruffatti/ [Panoramica soluzioni FOSS di livello aziendale] 23 Laurea Specialistica in Informatica Struttura e Configurazione di Sistemi Liberi Servizi Verticali CRM Business Intelligence SugarCRM SpagoBI vtigerCRM Pentaho OFBIZ Bee Groupware ERP Open-Xchange Compiere Opengroupware www.math.unipd.it/~ruffatti/ [Panoramica soluzioni FOSS di livello aziendale] 24 Laurea Specialistica in Informatica Struttura e Configurazione di Sistemi Liberi Integration Landscape www.math.unipd.it/~ruffatti/ Presentation Integration Engineering OSS & Integration Landscape Process Integration Spagic Application Integration Data Integration [Panoramica soluzioni FOSS di livello aziendale] 25 Laurea Specialistica in Informatica Struttura e Configurazione di Sistemi Liberi Modello architetturale e-form services Orchestr. services BPEL Server JBI BC Integration services Applic services BI ESB Visual tools Human Activity services CRM ERP Service Assembly 1 Custom Doc. Enterprise Service Monitor SCA Service Assembly 2 DBMS HL7 Service Assemly 3 Legacy Workflow MetaDB & Trace Data Integr. Service Registry Supporto verso processi di integrazione, workflow (human activity) e data integration SOA Enterprise Service BUS per comunicazione & assemblaggio servizi BPEL per processi di orchestrazione Registry di servizi (UDDI & ebxml) Tool di sviluppo & management Enterprise Monitor (system, service e business activity monitor) MetaDB: per catalogare e registrare regole aziendali & process tracking www.math.unipd.it/~ruffatti/ [Panoramica soluzioni FOSS di livello aziendale] 26 Laurea Specialistica in Informatica Struttura e Configurazione di Sistemi Liberi Servizi utilizzati Binding utilizzati Motore di regole (Drools) Schedulatore (Quartz) Trasformazione e Validazione Cache Gestione code (MQ) BPEL Routing JDBC HTTP SOAP email File/FTP JMS RSS TCP/IP Utilizzo di ServiceMIX Nuovi Componenti Sviluppati Spago: per richiamare componenti sviluppati con spago ETL: per integrare processi di ETL sviluppati con Talend Open Studio People: per invocare servizi della piattaforma people ( SOAP ) TCPIP HL7 Estensioni JDBC Gestione chiamate sincrone Contribuzione al progetto: SA Listener ServiceAssemblyListener: Intercetta i deploy e gli undeploy dei service assembly e salva la struttura logica sul database MessageExchangeListener: Intercetta tutti i messaggi riconducendoli ad un’istanza di processo www.math.unipd.it/~ruffatti/ [Panoramica soluzioni FOSS di livello aziendale] 27 Laurea Specialistica in Informatica Struttura e Configurazione di Sistemi Liberi Progettazione definizione, classificazione, sviluppo servizi e processi di integrazione Drools componenti BPEL Design. Custom code Talend ETL Mapping & trasform SA Designer Monitoraggio & Gestione Monitoraggio sistemistico, applicativo ed analitico BAM Console & gestione (ripartenze, blocchi, ..) JMX Console ETL Transformer HL7 Workflow Frameowrk components Service Archive (SA) Aggregazione ed orchestrazione+SU ….. varie JBI SOAP ESB SOAP JBI JBI SOAP Node DBMS (JDBC) Regole di cooperazione SOAP, JBI, JMS, File/FTP, TCP/IP,RSS Listener Singolo Servizio (SU) Regole di integrazione Node Node BI Console Service Registry Tracking attività Referenziazione processi esterni (BPEL/Workflow,) Service class. & Document. Regole Monitoraggio Portale: gestione servizi utente www.math.unipd.it/~ruffatti/ Service Manager: deploy di servizi & processi integrazione [Panoramica soluzioni FOSS di dilivello aziendale] Regole invocazione 28 Meta DB Laurea Specialistica in Informatica Struttura e Configurazione di Sistemi Liberi SpagoBI: FOSS business intelligence Progetto OSS Engineering rilasciato nel 2005. Utilizzato in diversi progetti italiani ed esteri. Segue gli standard JSR (168 e 170) e SOA www.math.unipd.it/~ruffatti/ [Panoramica soluzioni FOSS di livello aziendale] 29