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]