Modernizzazione attraverso i processi di integrazione. Alberto Toscano LANSA Track Record + + + + + + + + + 1987 1989 1991 1993 1995 1997 1999 2001 2003 2005 beyond Active Dictionary/Repository Database Referential Integrity Multilingual Applications (DBCS) Single Source GUI and 5250 Intelligent Middleware Windows Development, Unix deployment OOD & Full System Prototyping Event Triggers for DB2/400 Web Application Development Le promesse del VL Frameworks futuro sono XML & LANSA Integrator scritte nel Linux passato… LANSA2005 EAI Enterprise Application Integration “…la condivisione, senza limiti, di dati e logica di business attraverso la rete all’interno della Vs. Organizzazione.” “…una metodologia che promuove la modernizzazione, il consolidamento e la coordinazione di applicazioni in una impresa.” Utilizza tutte le possibilità di integrazione per soddisfare l’ integrazione tra applicazioni sia dentro che fuori la Vs. organizzazione. Agenda Problemi e aspettative nell’ affrontare l’ integrazione Integrazione: passato, presente e futuro Come LANSA può aiutare Scenari di esempio Integrazione: dalla teoria alla pratica. Il passato 20% of Customer La Vs. Azienda 20% of Suppliers Il Futuro 100% dei Clienti La Vs. Azienda 100% dei Fornitori Possibili scenari a cui dare una soluzione Si vorrebbe risolvere il problema di… – Dati duplicati su sistemi differenti? – Interazione di dati tra I diversi sistemi? – Far comunicare applicazioni diverse tra le varie Direzioni Aziendali? – Comunicare in formato elettronico con I Vs. Partners Aziendali (Clienti/Fornitori/..)? – Collegare il Vs. sito web esterno con le Vs. applicazioni legacy? Si vorrebbe…? Rendere disponibili funzionalità delle Vs. applicazioni all’interno ed all’esterno della Vs.Organizzazione? Fare in modo che un evento che si verifica su di un sistema scateni un evento che si trova su di un sistema diverso? Si vorrebbe …. … che tutti I dati siano in tempo reale … avere un accesso in tempo reale alle informazioni sulle disponibilità dei Fornitori … mettere a disposizione dei ns. Clienti le informazioni … il reporting Aziendale fornito in tempo reale Sogno o realtà? Nonostante possa sembrare un sogno… ..il sogno potrebbe diventare realtà se… – Scegliamo la giusta strategia – Scegliamo I tools giusti – Con un approccio flessibile e graduale Qualche anno fa non avevamo gli strumenti… Soluzione, estremamente costosa e con scarso supporto tecnologico. Affrontata solo a fronte di investimenti particolarmente giustificati e inderogabili Si aveva, comunque, una ridondanza di funzioni e/o soluzioni di tipo manuale La ridondanza era comune anche nei dati La potenzialità dell’integrazione era frenata dalle difficoltà Avanzata tecnologia nei DB Applicazioni di tipo Transazionale e non di tipo massivo I dati offerti dalle applicazioni trasformati in informazioni Il progresso del settore IT ha permesso la proliferazione di applicazioni tra le più svariate. Le soluzioni di Integrazione sono ormai una competizione da affrontare e risolvere! Oggi… F E A ? D B C Le difficoltà permangono… Piattaforme differenti Le varie Direzioni Aziendali spesso usano applicazioni e DB diversi Misto di Applicazioni sviluppate con differenti linguaggi Interfacce diverse, incompatibili e con EDI protocolli diversi. CSV MQSeries XML Possibili soluzioni.. Point-to-Point A Va bene per un piccolo numero di applicazioni Ma, se aumentano di numero, le difficoltà rendono la soluzione ingestibile! La sostituzione di una applicazione costringe poi a riscrivere le varie interfacce di collegamento. New B B F C E D Una architettura “centrica” Come possiamo risolvere il problema…? Ovvi benefici a fronte di molte applicazioni da integrare New B B Sostituendo una applicazione è sufficiente modificare un unico “nodo” C Spesso prende il nome di Integration Broker A F Hub E D Integrazione con i WEB SERVICES Un approccio rivoluzionario “Dal 2007, l’ architettura basata sulle tecnologie dei Web Services sarà il motore delle applicazioni di business.” Gartner “Le tecnologie basate sui Web services avranno un effetto dirompente sulla maggior parte delle soluzioni software.” Gartner … a superamento delle barriere tecnologiche Logica esposta come un servizio Funzioni disponibili in rete che potete usare come “logica distribuita” – Di norma con una interazione “leggera” • connect, access code, disconnect – “Remote Procedure Call” tra sistemi • Richiesta e risposta in XML Di norma le transazioni sono XML Web Services in Azione Vediamo quali sono Caspita! Ora immetterò Quattro le offerte del giorno sombreri l’ordine al per prezzo presso l’acquisto di uno!dei www.vendo.com sombreri. Web service Richiesta disponibilità Internet Programma Di calcolo consegna Corriere consegno di tutto srl Funzione di CreoOrdineWS Programma di Generazione Ordine Per il Cliente Call Richiesta disponibilità prodotti Web service Calcola la consegna Risposta con la data Cliente Disponib. Richiesta Ordine Programma di Ricerca prodotti In vendita Broker VENDO tutto e di più Programma Calcolo disponibilità SOMBRERI SPA Come può aiutare LANSA? LANSA Integrator Cosa fa: – Mette a disposizione servizi per far comunicare applicazioni diverse su diverse piattaforme indipendentemente dai linguaggi e dai database utilizzati. Integrazione con gli ERP JBA/System21 Custom Synon DMAS Custom LANSA Spirit/2000 Custom RPG Spectrum ASW DPS/9000 Application Plus LANSA Integrator Si compone di 3 nuclei principali: – Java Services Manager • Offre servizi di A2A & B2B • Offre l’ integrazione con Java – Visual XML Wizard • Crea velocemente e facilmente documenti XSL obbligatori nella trasformazione dell’ XML – User Agent • Una applicazione in Java che permette l’interscambio di informazioni tra il Vs. server e l’ applicazione stessa.. I Protocolli ed I Servizi FTP Process JDBC Process SMTP Process HTTP Process EDIINT AS2 Process Transport MQ Process Mechanism JAVA Service Manager ebXML Process CSV Process EDI Process XML Process SOAP Process SQL Process Standard LANSA Integrator Service Manager Customer 2 Order Customer 1 Order Tradacom 9 EDIFACT 96A Other internal system FTP proc Order EDI proc Generic XML Orders bespoke Report CSV XML XML proc LANSA Repository CSV proc XML proc Order AS2 Order Generic proc Customer 3 XML XML SMTP proc Sales Manager ERP Servizi di A2A Application to Application Services Includono: – Lettura e creazione dei documenti XML all’interno delle Vs. applicazioni – Trasformazioni XSL (es. XML verso WML) Servizi di B2B Business to Business Services Includono: – Tutte le funzionalità dell’ A2A e per il trasporto dei dati….. – FTP, HTTP, SMTP, POP3, SQL Services – MQ-Series Integration Java Integration E’ possibile Integrare nelle Classi Java scritte “in casa” o di terze parti le funzionalità di LANSA Integrator. Permette il richiamo di classi Java dall’ interno di programmi LANSA o 3GL/ILE. Permette lo scambio di informazioni tra Applicazioni Java e programmi LANSA o 3GL/ILE. Se, per esempio, abbiamo un I/Series…. Il Programmatore RPG-ILE userà le classi Java all’interno dei Suoi programmi. Se, per esempio, abbiamo un I/Series…. Il programmatore Java userà le Classi proprie o del prodotto LANSA Integrator Se, per esempio, abbiamo un I/Series…. Il programmatore LANSA potrà combinare sia le funzioni LANSA che I programmi RPG che le classi Java XML come linguaggio universale… Se le Vs. applicazioni dovranno usare XML, dovete considerare: – Il documento XML che riceverete ha un formato deciso da Voi o dal Vs. Partner? – Se il documento arriva in un formato deciso dal Vs. Partner, avete la necessità di trasformarlo in un formato a Voi conosciuto? – Più semplicemente, dovete interpretare il documento XML? Visual XML Wizard La corretta interpretazione di un documento XML è un procedimento molto complesso. Gli Sviluppatori possono impiegare anche settimane per una corretta interpretazione. Una volta che il documento XML è in un formato conosciuto, il passo successivo consiste nella lettura delle informazioni XML all’ interno delle Vs. applicazioni. Potreste poi avere la necessità di trasformare le Vs. informazioni dall’ interno delle Vs. applicazioni in un formato XML. Visual XML Wizard Permette agli Sviluppatori una mappatura visuale degli attributi e degli schemi XML con normalissimi campi o array che userete nei Vs. programmi . In automatico verrà generato l’ XSL Style sheets che il Vs. programma utilizzerà per la lettura e/o la scrittura del documento XML.. Visual XML Wizard Evita agli Sviluppatori la complessità di creazione degli style sheets (XSL) richiesti per la trasformazione XML. La generazione automatica comporta una corretta creazione degli style sheets. Riduce enormemente I tempi di sviluppo di applicazioni XML. Visual XML Wizard La trasformazione XML usando LANSA Visual XML Wizard + = User Agent Un’ applicazione Java che permette l’invio e la ricezione di dati verso qualsiasi Server con installato LANSA Integrator. Abilitato per sistemi Windows, presto sarà disponibile su sistemi Palm e Pocket PC. User Agent Permette funzionalità B2B con formati di dati tra I più svariati Può venir dato in dotazione a chiunque per l’ invio e la ricezione (Clienti, Agenti, ecc…) Le informazioni possono essere create da programmi in formati quali Excel, txt, dbf, xml ed inviati da mobile device a LANSA Integrator installato su qualsiasi server. Lo User Agent di LANSA Integrator Esempio di utilizzo dello User Agent che simula un servizio HTTP. Lo User Agent simula l’invio e la ricezione di dati verso un sistema HR. Uno sviluppo semplice LANSA Integrator utilizza i Servizi di integrazione ed i Protocolli di comunicazione attraverso una serie di comandi inseriti nei Vs. programmi. Lo Sviluppatore deve unicamente conoscere I comandi per ogni Servizio o Protocollo. Non è necessaria nessuna conoscenza dei complessi protocolli di trasmissione o delle tecnologie di trasformazione. Il Visual XML Wizard si accolla la complessità della creazione degli style sheets per la trasformazione XML. Uno sviluppo semplice In due semplici step lo Sviluppatore può: – Catturare un file XML (es. Un Ordine) via FTP da un Sistema remoto. – Estrarre, quindi, dal file XML le informazioni dell’ Ordine ed elaborarlo con la propria Applicazione. Lo Sviluppatore non deve conoscere come lavora il protocollo FTP tantomeno il Parsing e la Transformazione XML. Uno Scenario di Esempio Colloquio diretto Cliente/Fornitore ABC Spa Internet La ABC spa è un’ Azienda che vende legname. Il Loro desiderio è l’acquisizione via Internet degli Ordini Clienti. Gli Ordini elettronici devono poter essere acquisiti con diversi formati. Colloquio diretto Cliente/Fornitore ABC spa Internet CSV Order XML Order Il Cliente A invierà gli Ordini in formato XML. Il Cliente B invierà gli Ordini in un formato CSV (Comma Separated). Entrambi gli Ordini contengono le medesime informazioni. Colloquio diretto Cliente/Fornitore Order Database LANSA o 3GL Application Order Data Order Data Internet CSV Order (Customer B) XML Order (Customer A) LANSA Integrator riceverà gli Ordini e ne estrarrà I dati in un formato comprensibile ai Vs. programmi. I Vs. programmi potranno leggere I dati nel modo consueto e creare l’ Ordine. Allo stesso modo I Vs.programmi potranno inviare risposte di accettazione o di errori e LANSA Integrator trasformerà queste risposte nel medesimo formato ricevuto. Estendiamo l’ Esempio ABC spa Internet L’ esempio precedente è molto valido se si tratta di Clienti con un proprio Sistema Informativo. Ma, per I Clienti molto piccoli? E’ possibile usufruire delle stesse funzionalità viste in precedenza? Si, utilizzando lo User Agent di LANSA Integrator! Estendiamo l’ Esempio ABC spa Internet Order in Excel Format Customer C Immaginiamo il Cliente C come un piccolo negozio che vende legname in piccole quantità Ha un unico PC con una connessione di tipo dial up per Internet. L’ Ordine è creato dal Cliente C utilizzando Microsoft Excel. Estendiamo l’ Esempio ABC spa Internet Order in Excel Format Customer C LA ABC ha consegnato al Cliente C lo User Agent in forma gratuita per permettere la comunicazione sincrona con il proprio SI. E’ quindi reso possibile l’invio dell’ Ordine alla medesima applicazione utilizzata per l’elaborazione degli ordini dei Clienti A e B visti in precedenza. Estendiamo l’ Esempio ABC spa Internet Response in any format Customer C Lo User Agent rimarrà in attesa di una risposta dal Server della ABC spa. Questa risposta può consistere in un messaggio di errore o di conferma di accettazione dell’ Ordine. Lo User Agent permette ai piccoli Clienti di interagire con la ABC spa nello stesso modo utilizzato dai grandi Clienti. Riepilogo Con LANSA potete – Generare la corretta strategia di integrazione – Massimizzare la produttività con il giusto tool: • Curva di apprendimento misurata in giorni (5/10) • Realizzazione di progetti “innovativi” in giorni – Risolvere la problematica con un approccio flessibile e graduale – Avere la certezza di essere supportati a fronte delle novità che, sicuramente, verranno annunciate in futuro Alcuni Clienti Alcune Testimonianze InsureIT - Irlanda InsureIT offre un insieme di servizi assicurativi basati su Internet per Compagnie di assicurazione e Broker assicurativi. http://www.insure.ie L’ offerta dei servizi su Internet è stata sviluppata con LANSA for the web In origine lo sviluppo delle transazioni XML tra le Compagnie di assicurazione ed I Broker era scritto in Java. La parte Java è stata sostituita ed I servizi web sono stati implementati con LANSA Integrator. I Benefici per Insure IT Insure IT aveva già una soluzione, perchè cambiarla ? – Hanno aumentato di dieci volte la Loro produttività rispetto a Java nell ‘interpretare le informazioni XML. – La semplicità nello sviluppo ha consentito Loro di essere molto più flessibili nell’ offerta dei servizi. – Hanno accorciato enormemente l’ inserimento di nuovi prodotti passando da settimane a giorni. Overview della Soluzione Insure IT 2 1 L’Utente immette Le informazioni per La polizza Assicurativa. Il programma LANSA Web usa Integrator per inviare al Provider Via HTTP in formato XML Le informazioni ricevute. 5 Il Programma LANSA Web crea una pagina HTML con le quotazioni ricevute e la mostra all’ Utente sul browser. 3 Il Provider riceve le informazioni ed interroga diversi sistemi assicurativi per le quotazioni ritornando in formato XML a LANSA Integrator le risposte. 4 Integrator converte le informazioni XML di risposta che vengono ripassate al programma originario LANSA Web. CRAMO Svezia Il Cliente affitta macchine industriali E’ già un Cliente LANSA Sviluppa con Java usando IBM Websphere Studio Application Developer I problemi incontrati Grosse difficoltà a far colloquiare I programmi RPG con Java. Molte difficoltà nella conversione dei dati dell’ iSeries. Per la quantità dei dati interessati il tempo richiesto per la loro mappatura era un grosso problema. Websphere installato su un sistema Windows. Il Reparto IT aveva già speso molto tempo per la soluzione senza arrivare a risultati soddisfacenti. La Direzione era intenzionata ad abbandonare il progetto se non si arrivava a dei risultati concreti in breve tempo. L’ introduzione di Integrator Integra LANSA/RPG e Java (Websphere) Recupera e trasmette le informazioni da e per l’ iSeries in un tempo minimo. Le Java Classes create in precedenza sono state riutilizzate da Integrator offrendo le funzionalità richieste da Cramo. Benefici La Direzione è stata tranquillizzata sulla fattibilità del progetto. Il codice LANSA/RPG esistente è stato riutilizzato e integrato con Java Sono stati velocizzati I tempi con l’ iSeries Gli Sviluppatori Java hanno potuto lavorare in Java senza preoccuparsi di RPG/LANSA e iSeries e viceversa. Gli Sviluppatori LANSA possono usare le classi Java, e gli sviluppatori Java possono usare le funzioni scritte in LANSA. - Banca Applicazioni scritte “in casa” con svariati linguaggi tra cui il principale è l’ RPG. Il progetto consiste nell’ offrire alle proprie Aziende Clienti l’ accesso a funzioni di interrogazione ed a modalità di transazione. - BANCA Le informazioni dei Clienti risiedono parte su iSeries altre su un sistema S/390. Il Reparto IT ha iniziato a sviluppare una soluzione XML usando Windows e C/C++. – Nessun risultato apprezzabile dopo 4 mesi. – Nessun risultato apprezzabile nella creazione dei documenti XML. Utilizzo di Integrator Richiesta di ricevere ed inviare informazioni tra la Banca ed I Clienti. La richiesta potrebbe consistere in diversi formati. (XML, tab delimited, formati proprietari) La richiesta coinvolge l’ utilizzo del sistema S/390 usando MQ-Series come mezzo di interscambio di informazioni. I servizi di Integrator verranno utilizzati dall’ interno delle funzioni LANSA ed RPG.. Benefici per Banca-South Africa Veloce e facile implementazione delle applicazioni RPG con le nuove tecnologie B2B. Facile accesso ai programmi Java dalle applicazioni RPG. Nessuna difficoltà nell ‘integrazione dei dati tra I sistemi iSeries ed il Loro sistema S/390. La soluzione è stata consegnata velocemente! – In ½ giornata è stata approntata una soluzione 2-way XML per un tipo di transazione. – Gli Sviluppatori utilizzavano LANSA per la prima volta – Si è passati da una soluzione che non aveva prodotto dopo 4 mesi risultati soddisfacenti ad una soluzione pronta in giorni! Overview dell’ Environment di Banca 1 I Clienti inviano le richieste attraverso internet a Bank. I Sistemi e le Applicazioni sono le più disparate. I Programmi gestiscono le richieste. Integrator riceve le richieste, estrae I dati e li passa ai programmi 6 Integrator crea la risposta e la ritorna nello stesso formato del Cliente. MQ-Series RPG/LANSA Program 3 2 4 Se necessario, un messaggio MQSeries è creato ed inviato al sistema S/390 5 La richiesta è elaborata e ritornata sempre con MQSeries. Domande SIDIM SPA Via G.B.Pergolesi,9 20090 Trezzano S/N Tel 0248626311 www.sidim.it Responsabile Tecnico ALBERTO TOSCANO [email protected] Responsabile Commerciale Roberta Pasquali [email protected]