Agenda Presentazione di Cedac Software SOA ed ESB Analisi di un caso studio Esempi Q&A Presentazione di Cedac Software 1 2 Presentazione di Cedac Software S.r.l. Divisione Software Azienda nata nel 1994 Prodotti bancari e di supporto al marketing Tre divisioni Prodotti di punta: Software WEBCONTOC: Corporate Banking e Tesoreria Hardware Consulting WEB based Java CRM: Supporto al cliente e al marketing WEB based ASP e ASP.NET 3 4
Divisione Consulting Divisione Hardware Consulenza RTOS (Real Time Operative System) Ai clienti finali Alle banche Helpdesk Prodotti wireless Prodotti ad-hoc con diverse applicazioni Supporto ai clienti Formazione Al personale bancario 5 6 Oriented Architecture (SOA) SOA ed ESB Metodologia per ottenere l interoperabilità tra le applicazioni ed il riutilizzo delle infrastrutture tecnologiche 7 8
Oriented Architecture (SOA) Focalizzazione sull architettura Astrazione per allineare necessità di business e tecnologiche Creazione di funzionalità di business riutilizzabili e coarsegrained Infrastruttura su cui poter costruire velocemente nuove applicazioni Collezione di servizi per funzioni di business e tecnologiche Confini Espliciti Tutto quello che è necessario al servizio deve essere fornito nel momento in cui lo stesso viene invocato 9 10 Condividere Contratti e Schema, non Classi Policy driven A partire dalla descrizione di un servizio (il contratto), sia il consumatore che il fornitore del servizio dovrebbero avere qualunque cosa necessaria a consumare o fornire il servizio Laddove gli aspetti funzionali sono descritti nell interfaccia di servizio, i requisiti non funzionali devono essere specificati utilizzando policy 11 12
I servizi devono essere autonomi Formati e non API I servizi sono autonomi quando la loro unica relazione con il mondo esterno dal punto di vista SOA è attraverso la sua interfaccia Un servizio deve risultare accessibile da qualunque piattaforma che supporti lo scambio di messaggi in modo aderente alle specifiche e alle politiche del servizio 13 14 Scambio di documenti Disaccoppiamento Per interagire con un servizio, i dati devono essere passati come documenti I servizi devono essere il più possibili disaccoppiati in una o più delle seguenti caratteristiche: Tempo,Posizione,Versione,Cardinalità, Indirizzamento,Interfaccia 15 16
Rispetto per gli standard Indipendenza dai vendor I servizi si devono basare il più possibile su standard invece che su formati ed API proprietarie La decisione di quale tecnologia utilizzare per implementare un servizio non deve avere implicazioni a livello architetturale 17 18 Architettura e tecnologie SOA UDDI Tutti i metadati all interno di SOA devono essere memorizzati in modo che consenta loro di essere individuati, recuperati ed interpretati sia a design che a run time Consumer WSDL SOAP WSDL Provider 19 20
Enterprise Bus Piattaforma d integrazione Convertire le rappresentazioni dei dati tra i diversi sistemi DBMS Convertire messaggi (e file) scambiati tra sistemi Convertire dati tra formati pubblici e formati interni usati dal sistema Convertire documenti scambiati tra applicazioni Convertire documenti per l integrazione B2B Enterprise Bus - Architettura del servizio Repository Enterprise Bus Web s Platform A B C trasformazione dati 21 22 Enterprise Bus Elementi chiave Enterprise Bus Elementi chiave Regole di trasformazione Il repository dei metadati contiene le regole di accesso ai servizi e quali informazioni espongono ( A, B, ) Il repository dei metadati contiene anche le regole di Coinvolgono conversioni semantiche trasformazione: o che applicano operazioni di business ai dati (es. estrarre le righe Di business di un ordine di acquisto) Tecniche Conversioni richieste per conciliare differenti tecnologie (oggetti in stream di dati) e sistemi di messaggistica (es. aggiungere o convertire gli header) 23 24
Enterprise Bus Elementi chiave Enterprise Bus Elementi chiave Dichiarativo vs. programmatico Statico vs. dinamico Le regole di lookup dei dati e di trasformazione possono essere definite sia in modalità dichiarativa (es. usando XSLT) che tramite uno script o del codice per la massima flessibilità ESB supporta l aggiornamento dinamico dei metadati in modo che sia possibile aggiungere nuove sorgenti di informazione 25 26 Enterprise Bus Esempio Accetta le richieste di informazioni dai consumatori Repository Consulta il registro dei metadati per determinare come ottenere le informazioni utilizzando i A servizi conosciuti B Caso di Studio del servizio Restituisce il risultato al consumatore Enterprise Bus Recupera i dati da uno o più fornitori di servizi Applica le trasformazioni dei dati in modo da Web s rimuovere Platform dati duplicati e convertire i dati nel formato specificato dal contratto esposto C trasformazione dati 27 28
Il problema Integrazione tra sistemi: CRM Remote Banking Contabilità Anagrafica Software di rating Software di gestione della clientela e di supporto al marketing Software di gestione dei conti correnti e di controllo banche Software di gestione contabile delle aziende Repository di anagrafiche e visure camerali Software e servizi per il rating delle aziende per la concessione del credito I soggetti coinvolti Associazioni di categoria Commercialisti Banche Fornitori di servizi Anagrafiche Rating Integratore di servizi 29 30 Obiettivi Soluzione Uniformare l accesso ai dati Esporre CRM come servizi Integrare nel CRM i servizi di rating Esporre contabilità come servizi Integrare nel CRM i servizi di anagrafica Integrare i servizi forniti con la contabilità Integrare i servizi esposti ed i servizi di terze parti mediante ESB 31 32
Soluzione Esempio L adattatore è necessario perché i servizi sono esposti mediante Stored Procedure Soluzione Esempio Aggiornamento CRM L adattatore è necessario in caso di sistemi come CRM o Contabilità che non espongono servizi direttamente Repository Enterprise Bus L adattatore è necessario perché i non esistono servizi e l accesso ai dati è su AS/400 CRM Contabilità Terza parte Il documento contenente la richiesta viene inviato all ESB per l elaborazione Interrogazione del repository Repository Enterprise Bus su CRM su Contabilità Aggiornamento Contabilità su CRM Contabilità Terza parte trasformazione dati Il consumatore richiede il servizio di localizzazione di un dato anagrafico Restituzione informazione al consumatore Trasformazione dati ottenuti trasformazione dati 33 34 Soluzione Altri esempi Software utilizzati del servizio Repository Enterprise Bus A B C Integrazione con AS/400 JTOpen: libreria Java Open Source per l accesso nativo ad AS/400 Esposizione di servizi del CRM Web s di ASP.NET Esposizione di servizi interni Web s Platform trasformazione dati Spring Web s 35 36
Software utilizzati Evoluzioni Sistemi distribuiti di integrazione Enterprise Bus Mule: semplicità di utilizzo, velocità di sviluppo, numero elevato di connettori (Web s, REST, HTTP, Mail, Database, JMS, ) Più installazioni di ESB geograficamente distanti che dialogano mediante servizi Problematiche di sicurezza: Autenticazione, Autorizzazione, Trasporto 37 38 Q & A Ing. Mauro Franceschini Direzione e Sviluppo Cedac Software S.r.l. Via Toscana, 3 40035 Castiglione dei Pepoli (BO) E-mail: mauro.franceschini@cedac.com 39 40