.. ovvero: come integrare un ERP con applicazioni eterogenee e macchinari con il solo RPG
Parla Stefano Sonzogni, Project Manager di Elelco:
La nostra azienda opera da decine di anni nel settore outsourcing; i nostri skill sono essenzialmente su piattaforma IBM Power-i, linguaggio RPG. Ci siamo trovati più volte a dover rispondere a comuni esigenze dei nostri clienti riguardo l’integrazione delle nostre applicazioni con ambienti eterogenei trovandoci spesso di fronte all’interrogativo di quale strumenti dover utilizzare per soddisfare le richieste dei clienti, e mantenere l’alta qualità di servizio che ci ha reso noti, stanti le nostre consolidate competenze sulla piattaforma.
Il WSE di Prodigyt è lo strumento che ci ha dato le risposte adeguate in differenti situazioni; le sue caratteristiche ci hanno convinto della sua efficacia:
è nativo, performante, perfettamente integrato nel s.o. OS400, quindi i ns. tecnici esperti di piattaforma non hanno trovato la minima difficoltà ad integrarlo nelle applicazioni;
si basa su linguaggio sia RPG400 che RPGIV-Free: i nostri produttivi sviluppatori hanno quindi “giocato in casa”
tempi di apprendimento minimi: in meno di un’ora siamo stati in grado di comprenderne l’architettura, installarlo, configurarlo ed avviarlo; i nostri programmatori hanno impiegato pochi minuti per comprendere come integrarlo nello sviluppo applicativo. L’overhead sullo sviluppo delle applicazioni è vicino allo zero.
Abbiamo utilizzato il WSE in diverse occasioni, ne citiamo un paio risolte in modo efficace.
E-commerce integration
Un nostro cliente che opera sul mercato mondiale e che seguiamo integralmente sulla parte ERP ha avviato l’attività di vendita via web; ha commissionato alla web agency il sito applicativo di e-commerce; ci ha fatto la richiesta di mettere a disposizione del sito tutta la parte applicativa riguardante listini, scontistiche, magazzini, promozioni e consegne, che è già integralmente presente nel nostro ERP; si trattava dunque di collegare il ns. ERP con il sito di e-commerce; abbiamo preso accordi con la web agency riguardo i protocolli di accesso, ed abbiamo realizzato il web service con una semplicità estrema: un nostro sviluppatore RPG400 ha realizzato un programma interattivo le cui schermate simulavano le request e responses del web service; all’interno dell’ RPG ha effettuato le chiamate appropriate ai nostri moduli applicativi; utilizzando il SOA Publisher presente nel WSE ha pubblicato il WSDL in pochi attimi, la web agency ha avuto quindi tutti gli elementi per integrare il web service nel motore del sito.
Operativamente, quando un consumer si collega al sito di e-commerce, la chiamata viene direzionata via web service all’http server del Power-i che avvia un job nel sottosistema WSE dedicato alla gestione, il quale mantiene la sincronia tra il job e la pagina web in uso dal consumer; a seconda delle pagine visitate il sito effettua quindi verso i moduli ERP le chiamate di login, registrazione, controllo dei dati del carrello, e l’ERP restituisce il carrello completato dai dati di listino, sconti, giacenze, offerte speciali; quando il consumer conferma l’ordine il sito inoltra la richiesta, sempre via web service, agli opportuni moduli ERP che avviano la normale procedura di acquisizione ordine.
Abbiamo ottenuto tale risultato dunque senza introdurre application servers quale Websphere, senza ulteriori hardware, senza acquisire competenze in ambienti di sviluppo quali PHP, Java etc, ma soprattutto realizzando il web service come se fosse un normale programma interattivo RPG, senza particolari skill, e nei tempi altamente produttivi che il nostro team è in grado di offrire sulla piattaforma.
Integrazione di magazzini automatici nell’ ERP.
Un nostro cliente per il proprio magazzino ha acquisito diversi magazzini automatici per stockaggio prodotti (minuteria meccanica) ad assegnazione automatica dell’ubicazione; ci ha chiesto la possibilità di integrare il motore del magazzini automatici all’interno del ns. ERP per quanto riguarda carichi e movimentazione di magazzino; il fornitore dei bulk storage già forniva una soluzione integrata in ambiente Windows su database proprietario; il nostro onere era quindi di dover allineare i database con un sistema di data transfer e conversione dati oneroso, e perdendo il tempo reale della sincronizzazione.
Il WSE ci è venuto in aiuto. Il fornitore ci ha fornito il protocollo di comunicazione del firmware della loro macchina; abbiamo utilizzato il WSE configurando un sottosistema socket TCP che si collegasse con l’indirizzo del magazzino automatico; il sottosistema quindi avvia un job per ogni magazzino automatico quando quest’ultimo viene avviato; abbiamo realizzato un primo programma RPG, richiamato in auto start dal job WSE, che effettua i primi controlli di collegamento del magazzino automatico e l’interpretazione del flusso di comandi , e ne rende disponibile l’accesso ai moduli di magazzino dell’ERP attraverso Data Queues; nell’ERP abbiamo con semplicità integrato la funzione di assegnazione/richiesta delle ubicazioni con le DataQueues rappresentanti i magazzini automatizzati, integrando in tempo reale carichi e movimentazione con i meccanismi automatizzati del macchinario.
Abbiamo ottenuto il risultato dunque senza introdurre alcun hardware/s.o. Windows, né nuove applicazioni (no oneri di upgrade o personalizzazioni) in tempi decisamente inferiori rispetto ad un meccanismo di data transer & conversion, ma soprattutto fornendo al cliente il tempo reale tra le operazioni svolte dall’ERP e quelle del magazzino automatico.
Stefano Sonzogni, Project Manager, Elelco