650 likes | 824 Views
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
E N D
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 VL Frameworks XML & LANSA Integrator Linux LANSA2005 Le promesse del futuro sono scritte nel passato…
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
20% ofSuppliers 20% ofCustomer La Vs. Azienda EDI EDI EDI EDI XML XML HTTP HTTP Il passato Integrazione: dalla teoria alla pratica. Il Futuro 100% dei Fornitori 100% deiClienti La Vs. Azienda
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à
Oggi… A F B C E D • 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! ?
Le difficoltà permangono… SOAP • Piattaforme differenti • Le varie Direzioni Aziendali spesso usano applicazioni e DB diversi • Misto di Applicazioni sviluppate con differenti linguaggi • Interfacce diverse, incompatibili e con protocolli diversi. EDI CSV HTTP(S) JDBC FTP(S) e-Mail XML EDIINT MQSeries
Point-to-Point • 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. A F NewB B C E D
Una architettura “centrica” Come possiamo risolvere il problema…? • Ovvi benefici a fronte di molte applicazioni da integrare • Sostituendo una applicazione è sufficiente modificare un unico “nodo” • Spesso prende il nome di Integration Broker A F NewB B Hub C 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 le offerte del giorno presso www.vendo.com Ora immetterò l’ordine per l’acquisto dei sombreri. Caspita! Quattro sombreri al prezzo di uno! SOMBRERI SPA Internet Web service Richiesta disponibilità Richiesta disponibilità Risposta disponibilità Richiesta Ordine Disponib. Call Conferma ordine e Data di consegna Programma Calcolo disponibilità Cliente Conferma Ordine Richietsa Ordine Richiesta di consegna merce Risposta con data Risposta disponibilità Richiesta disponibilità prodotti Richiesta di consegna merce Corriere consegno di tutto srl Broker VENDO tutto e di più Risposta con la data Web service Calcola la consegna Funzione di CreoOrdineWS Data diConsegna Data di consegna Call Call Programma di Generazione Ordine Per il Cliente Programma di Ricerca prodotti In vendita Programma Di calcolo consegna Call Dispon.
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 Application Plus ASW Spirit/2000 JBA/System21 DPS/9000 Custom Synon DMAS Custom LANSA Custom RPG Spectrum
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 EDIINTAS2 Process MQ Process JAVA Service Manager SOAPProcess SQLProcess ebXMLProcess CSVProcess EDIProcess XMLProcess TransportMechanism Standard
LANSA Integrator Service Manager Customer2 Customer1 OrderTradacom9 OrderEDIFACT96A FTP FTP FTPproc Otherinternalsystem FTP OrderGenericXML OrderGenericXML XMLproc Customer3 OrderXML EDIproc AS2 OrdersbespokeXML OrdersReportCSV OrderGenericXML AS2proc XMLproc Direct CSVproc LANSARepository SMTPproc ERP SMTP Sales Manager
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.
Colloquio diretto Cliente/Fornitore ABC Spa • 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. Internet
Colloquio diretto Cliente/Fornitore ABC spa • 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. Internet XML Order CSV Order
Colloquio diretto Cliente/Fornitore Order Database • 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. LANSA o 3GL Application Order Data Order Data Internet CSV Order (Customer B) XML Order (Customer A)
Estendiamo l’ Esempio ABC spa • 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! Internet
Estendiamo l’ Esempio ABC spa • 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. Internet Order in Excel Format Customer C
Estendiamo l’ Esempio ABC spa 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. Internet Order in Excel Format Customer C
Estendiamo l’ Esempio ABC spa • 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. Internet Response in any format Customer C
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