La La soluzione soluzione di di middleware middlewareaperta aperta e flessibile, flessibile, realizzata realizzata e gestita gestita da da Engineering Engineering www.eng.it www.eng.it 1
L'universal middleware per realizzare soluzioni SOA/BPM e per la governance dei servizi Obiettivi Overview Governance Architettura 2
Obiettivi Soluzione Soluzione open open source source per per la la realizzazione realizzazione di di diverse diverse tipologie tipologie di di middleware middlewaredistribuiti: distribuiti: Integrazione Integrazione Orchestrazione Orchestrazione Applicativi Applicativi modulari modulari Contenitore Contenitore di di servizi servizi innovativi. innovativi. Business view Innovazione opportunità di business anziché interesse tecnologico Cambiamento valorizzare l esistente agevolando l innovazione: l esistente cresce tramite l integrazione di nuovi servizi il nuovo si diffonde più facilmente su applicativi già consolidati. Technological view Ruolo attivo nei processi di trasformazione ed innovazione. Supporto ad un ecosistema di servizi applicativi flessibili ed in costante evoluzione. 3
Overview / Universal Middleware Universal Middleware Integrazione Processi Integration ESB Cooperation Connectors Orchestration Collaboration BPM IT & Business goals eform Lifecycle PDF Business Rules management SOA Application (Web Mobile) Governance Innovazione / riuso (Future Internet mobile) Management & Intelligence Adaptable Middleware Services Design & develop. Tools IDE Process & services management Business Activity monitor Nucleo Nucleo di di componenti componenti di di base base (service (service bundles) bundles) per per l'integrazione, l'integrazione, gestione gestione di di processi, processi, definizione definizione di di regole regole di di business business e realizzazione realizzazione di di moduli moduli applicativi applicativi in in architettura architettura SOA. SOA. Parametrizzando Parametrizzandoogni ogni componente componente si si ottiene ottiene una una notevole notevole modularità modularitàdi di funzionamento, funzionamento, in in grado grado di di rispondere rispondere alle alle esigenze esigenze più piùcomplesse. 4
Overview / Integration middleware (ESB) Agisce Agisce come come una una dorsale dorsale SOA SOA d integrazione d integrazione e cooperazione cooperazione applicativa applicativache che fornisce fornisce in in modo modo consistente consistente e sicuro sicuro servizi servizi di di messaggistica, messaggistica, routing routingintelligente intelligente e trasformazioni. trasformazioni. Consente Consente agli agli esperti esperti di di dominio dominio la la definizione definizione di di una una soluzione soluzione omogenea omogenea per per la la virtualizzazione virtualizzazione di di servizi servizi eterogenei eterogenei e decentralizzati. decentralizzati. Applicazioni SOA Custom bundes Orchestrazione BPM Enterprise Service Bus Messaging MQ Routing Transformation Data services Adapters Web Services Connettori Connettori Service-oriented middleware Astrazione / pattern di cooperazione Può essere affiancato da orchestrazione Meccanismi di Governance 5
Overview / Cooperation middleware (connettori) Middleware Middlewarelayer layerper per la la comunicazione comunicazione tra tra sistemi sistemi distribuiti distribuiti ed ed eterogenei, eterogenei, aderenti aderenti alle alle diverse diverse specifiche specifiche di di sicurezza sicurezza ed ed affidabilità. affidabilità. Diverse Diverse modalità modalitàdi di utilizzo: utilizzo: all interno all interno di di un'architettura un'architettura applicativa applicativa (anche (anche già giàesistente) come come servizi servizi di di comunicazione comunicazione e wrapper wrappera supporto supporto dell dell ESB ESB // BPM BPM middleware middleware Integration ESB Orchestration BPM Application SOAP JMS ebusiness XML ETL/Data Warehouse Custom application SMS & Wireless EDI HL7 FILE / FTP Legacy System DBMS CHAT RSS 6
Overview / Orchestration Middleware (BPM) Business Modeling Analysis / tuning Business Technical parameter Process Modeling Standard BPMN Business vision Technical extension (services, security) Connectors Historical & real time analysis BPM Engine Technical Deploy / tuning BPM Diverse modalità di installazione Come server stand-alone Come servizio di un applicativo Indipendenza dal BPM Engine Metadata & Historical / real time info Utilizzo policy autorizzative già esistenti (es. LDAP o DBMS) 7
Overview / Collaboration Middleware (BPM) Definizione Definizione di di processi processi con con gestione gestione servizi servizi collaborativi collaborativi tramite tramite attività attivitàmanuali Supporto Supporto di di notifiche notificheverso gli gli utenti utenti tramite tramite mail, mail, sms, sms, servizi servizi web, web, Diverse Diverse modalità modalitàdi di utilizzo: utilizzo: worklist worklistweb web richiamabile richiamabile da da qualsiasi qualsiasi applicativo applicativo web web API API Java Java e Web Web Services Services Iterazione in tempo reale tra utenti / processi e sistemi esterni Iterazione tramite form web e/o documenti PDF 8
Overview / eform lifecycle middleware Generazione Generazione automatica automatica del del documento documento (anche (anche in in PDF) PDF) e gestione gestione del del ciclo ciclo di di vita vita tramite tramite processi processi Mapping & Generazione Creazione di formulari Integrazione con eventuale sistema di gestione documentale esterno Possibilità di gestire gli stati con specifici componenti di business (es. firma digitale, posta certificata) 9
Overview / Business Rules Management Più Piùvalore alla alla conoscenza conoscenza del del business businesse gestione gestione di di un un repository repositorydelle delle policy policy aziendali aziendali BPMN process Regole definite con Excel/OpenOffice o all interno dell IDE L uso di un sistema basato su BPM e regole (rule engine) non aumenta la complessità ma crea più flessibilità e facilita le attività degli analisti. L uso di regole definite esternamente dai componeti applicativi facilita il mantenimento e l adattamento dei servizi alle nuove esigenze di business 10
Overview / SOA Application middleware Il Il web web non non è più piùun un insieme insieme di di pagine pagine html html che che descrivono descrivono qualcosa. qualcosa. Il Il web web è diventato diventato il il mondo mondo stesso stesso ed ed ognuno ognuno in in questo questo mondo mondo riflette riflette un ombra un ombra di di informazioni, informazioni, un un set set di di dati dati che che vengono vengono catturati catturati e processati processati in in maniera maniera intelligente intelligente da da dispositivi, dispositivi, da da sensori, sensori, da da codici codici offrendo offrendo notevoli notevoli opportunità opportunità (O Reilly (O Reilly& Battele, Battele, 2009) 2009). da Internet delle cose (o IoT), neologismo riferito all estensione di internet al mondo degli oggetti ed al modello d interazione con utente-oggetto La La sfida sfida è realizzare realizzare una una soluzione soluzione che che implementa: implementa: Virtualizzazione dei servizi informativi - non esistono più solo strutture informative gerarchiche ma ogni servizio è considerato un applicazione fatta di dati esportabili, integrabili e condivisibili. Mashup di servizi utente - per l integrazione di tutte le funzionalità all interno del servizio e non, come avviene con le applicazioni cosiddette 2.0, tramite utilizzo di semplici link verso fornitori di servizi. Indipendenza dal device - un applicazione/un servizio deve sfruttare al meglio il device su cui è installata: georeferenziazione, fotocamera/codici a barre, risorse (es. rubrica, documenti, foto). Interazione utente-sistema partendo dai modelli più diffusi di social network. 11
Governance / Organizzazione dei progetti User Interface Processi & Regole Componenti Governance Governance 12
Governance / Relazione tra attori coinvolti MANAGER DEI SERVIZI E DEI CONTRATTI PORTALE DI GOVERNANCE GOVERNANCE AMMINISTRATIVA GOVERNANCE DEI SERVIZI PM REFERENTI CLIENTE GESTIONE CONOSCENZA GOVERNANCE INFRASTRUTTURA GOVERNANCE SICUREZZA GOVERNANCE APPLICATIVA PERSONALE OPERATIVO UTENTI SERVIZI/APPLICATIVI 13
Governance / Strumenti Strumenti Strumenti rivolto rivolto all efficienza all efficienza di di tutti tutti gli gli attori attori coinvolti: coinvolti: Tools IDE Analisti Architetti Sviluppatori Gestori Services Implementation Registry Rules Management Metadata Metadata & Historical Historical / / real real time time info info Console web Administration Management Process Definition & Implementation Monitoring Deploy & Versioning Middleware Middleware JMX 14
Governance / Monitoring & Management Le Le informazioni informazioni sono sono generate generate in in tempo tempo reale reale La La stessa stessa informazione informazione può può essere essere utilizzata utilizzata da da diversi diversi punti punti di di vista vista Monitoring Management Business Intelligence & BAM 15
Governance / Monitoring & Management Valutazione in real time del ciclo di vita dei processi e servizi Possibilità di ricercare un servizio/processo utilizzando anche informazioni applicative rilevanti Navigazione tra le attività correlate Visualizzazione dei dati interscambiati (messaggi, documenti) Gestione degli errori con possibilità di richiedere la riesecuzione del servizio e processo bloccato 16
Governance / BI & Business Activity Monitor Possibilità Possibilitàdi di condividere condividere le le informazioni informazioni con con sistemi sistemi di di Business Business Intelligence Intelligence per per ottenere ottenere in in modo modo rapido rapido un un cruscotto cruscotto di di monitoraggio monitoraggio dei dei propri propri indicatori indicatori operativi operativi e di di business business anche anche in in real real time. time. Definizione dei propri KPI Grafici dinamici Report Drill-Down e Drill-Up Filtraggi Documenti aggregati Schema dati di Spagic MetaDB in comune con ebam / SpagoBI 17
Architettura 18
Architettura / modello di riferimento XaaS Nuovo Nuovo approccio approccio per per progetti progetti innovativi innovativi Dalla cooperazione applicativa con ESB Netta separazione organizzativa tra: Applicativi Infrastruttura d integrazione Servizi di governance specifici All outsourcing tramite modello XaaS Tutto è ricondotto al concetto di nodi distribuiti per specializzazione di servizi: SaaS PaaS CaaS Software (front-end & back-end) Piattaforma Comunicazione Governance trasversale 19
Architettura / OSGi Universal Middleware Software Software that that you you write write once once and and can can use use in in binary binary form form universally: universally: in in many many different different platforms, platforms, many many different different industries, industries, and and for for many many different different purposes. purposes. Peter Peter Kriens (OSGi evangelist) Kriens (OSGi evangelist) Obiettivi dell OSGi Aderenza alla SOA Modularizzazione Gestione ciclo di vita dei componenti Runtime dinamico Obiettivi Spagic Universal Middleware Enterprise SOA Framework di componenti con cui realizzare un Universal Middleware modulare e configurabile attorno ad un kernel basato sul modello OSGi OSGi Eclipse Equinox 20
Architettura / OSGi overview La La tecnologia tecnologia OSGi OSGi è a supporto supporto della della gestione gestione dinamica dinamica dei dei bundle bundle per per la la realizzazione realizzazione di di servizi servizi applicativi applicativi modulari modulari Extensions Services Registry Life Cycle Modules Security Execution environment Fundamental Layer Execution Environment - per l esecuzione dell intero middleware Modules - per gli aspetti di modularità e dinamicità Life Cycle - gestione del ciclo di vita dei servizi Registry - censimento e ricerca dei servizi Services - container di servizi Security - servizi di gestione della sicurezza 21
Architettura / Component Model Servizi, connettori e moduli sono implementati sul Component Model pattern Ogni componente può fornire alcuni servizi e referenziarne altri Il comportamento dinamico dei componenti è garantito da OSGi Declarative Services. 22
Architettura / Sviluppo riuso pubblicazione OSGi bundles Reusing Jar Library Jar Library Transformation Develop new component New Requirement OSGi Bundles Implements Spagic Interface Spagic Bundles Config Publishing rules Deploy Supported by Eclipse Visual Tools Spagic Service Manager... Spagic MetaDB Registration 23
Architettura / Message Bus e nodi distribuiti I servizi interagiscono tramite messaggi 24
Architettura / Message Bus e nodi distribuiti ECF Distributed EventAdmin Service: progetto Eclipse per la comunicazione tra servizi distribuiti di differenti nodi 25
Architettura / Message Bus & BPM Message Bus layer BPM layer Normalized Message Router Router OSGi OSGi Event EventAdmin Normalized Message Router è l unico responsabile dello scambio dei messaggi tra componenti. internamente si basa su OSGi Event Admin Service Communication. 26
Architettura / BPM middleware Eclipse Business Process Management for OSGi www.eclipse.org/ebpm Modellazione BPMN2 Orchestrazione di moduli applicativi (OSGi Bundles) e sistemi esterni (OSGi Connectors) Pubblicazione su BPM engine (JBPM OSGi bundles, Apache ODE BPEL Server) 27
Architettura / User Services & MVP Presentation Pattern: da MVC a MVP Netta separazione servizi utente (VIEW & PRESENTER) / servizi di backend Disponibilità librerie di widget (es. GWT) Alta compatibilità browser Supporto specifiche accessibilità W3C ARIA Supporto internazionalizzazione MVP Patter Presentation UI VIEW Widget Base Widget composite Presenter Business Logic (user) Data Access Interface (RPC Client) Client (RIA) Model Data Access Implementation (RPC Server) Business Logic (procedure) Middleware (Spagic) 28
Architettura tecnologica / SOA Application Implementa la logica di business tramite command pattern. Configurazione dell interazione con gli altri componenti Composizione Applicativa. Application Node (es. JBoss o Apache Tomcat) WAR - User Services App. WAR - backend services GWT widget Spagic Client Servlet JVM Spagic Command Business logic Remote Remote Spagic Node WAR - User Services App. GWT widget Spagic Client Servlet Other Spagic Spagic services connectors Spagic persistence JPA (Eclipse Link) External system DBMS Data application Remote Remote Spagic Node Separazione tra front-end ed un unico layer di back-end La modalità remota o in VM può essere cambiata senza modificare il il codice 29
Architettura tecnologica / Business Rules management Definizione delle regole supportate da un editor specializzato o tramite tabelle su foglio elettronico (Excel o OpenOffice). Meta model Meta information Type Constraints Rule Parameters Documents BRMS (rules) Documental Repository Definisce in modo generico l insieme dei concetti (entità, proprietà e relazioni) relativi a un dominio specifico (regola), supportando i requisiti di flessibilità e modularità di applicativi SOA e/o processi di BPM. 30
Architettura tecnologica / Monitoring Management - BAM Spagic Studio Spagic Studio Monitor & Management Monitor & Management Plugin Plugin Eclipse Eclipse Design Design Deploy Deploy BPM Connector Connector Service Service Process Process Spagic Universal Middleware Bundles Event listener Spagic MetaDB Spagic JMX SLA PKI BAM Optional External Systems System Monitor Tramite un listener (Eclipse Event Admin) si raccolgono le informazioni prodotte dai nodi di middleware e poi condivise con gli strumenti di monitoraggio. Networking Applic.& Web Server SO DBMS 31