Exo System
Windows 2000 Magazine
N. 37 - Novembre 2001
L'INTEGRAZIONE DEGLI APPLICATIVI IN PARMALAT SPA
Come è stato affrontato il problema della integrazione in una delle più importanti industrie alimentari italiane

Parmalat SpA è senza dubbio una delle più importanti realtà di processo alimentare in Italia e nel mondo. L'azienda possiede una vasta e complessa rete di infrastrutture commerciali e produttive, governate per mezzo di numerosi software applicativi di gestione e controllo.

Due anni or sono, in seno al processo di innovazione delle infrastrutture informatiche è stato dato il via alla integrazione dei numerosi applicativi software già presenti con quelli di più recente introduzione, tra i quali BPCS e SAP.

BPCS (la nota suite ERP di SSA Global Technologies) viene utilizzato per i processi di pianificazione della produzione industriale, delle scorte e per la gestione del processo produttivo e dei magazzini. SAP è utilizzato nell'area contabilità/finanza e controllo gestione.

Il prodotto di integrazione scelto, selezionato dall'azienda dopo attente verifiche delle funzionalità offerte, è e-INTEGRA di EXO System Italia, azienda specializzata nella integrazione delle più complesse infrastrutture di produzione e gestione dei processi. EXO System è attiva nel campo dell'interfacciamento dei più noti applicativi industriali, con obiettivi raggiunti utilizzando sofisticate tecnologie multi-database ed i protocolli BML/XML.

La complessità dei processi di gestione aziendali in Parmalat, che comprende innumerevoli stabilimenti dislocati in tutto il mondo, ha richiesto una attenta analisi e pianificazione delle problematiche connesse allo scambio dati tra gli application server dedicati alle varie funzioni.

E' stato dapprima modellato uno schema per facilitare l'identificazione dei principali flussi di dati, corrispondenti ai flussi delle informazioni e dei materiali, quindi è stato modellato un progetto di integrazione che tenesse conto delle caratteristiche peculiari offerte dal prodotto e-INTEGRA.

Il prodotto e-INTEGRA ha consentito di centralizzare il controllo dei flussi di dati tra i diversi sistemi, il cui trasporto è garantito da un substrato di messaging fornito dal sofware di comunicazione IBM MQ-Series.

Garantire il corretto e sicuro trasferimento delle informazioni (la cosidetta affidabilità di consegna o 'message delivery reliability') è certamente una delle priorità assolute nelle moderne aziende in cui il processo produttivo non consente tempi di interruzione.
Il sottostrato di messaging offerto da MQ-Series a cui si appoggia il Message-Broker di e-INTEGRA garantisce che le informazioni siano trasferite in modalità 'asincrona', cioè senza necessità che i due sistemi, (quello di invio e quello di ricezione) siano effettivamente connessi al momento dell'invio dati.

e-INTEGRA consente la comunicazione tra sistemi secondo un modello di riferimento la cui struttura è basata su tecnologie ad oggetti.

Il 'Business Message'

Ogni tipo record da trasferire viene associato ad una unità informativa detta 'Business Message', il messaggio, oltre a consentire il trasferimento delle informazioni dette 'attributi' è in grado di portare con se anche l'indicazione dell'azione da eseguire sul sistema destinatario, questa azione, mutuando il termine dalla terminologia dei linguaggi orientati agli oggetti, viene detta 'Metodo'.

Così, ad esempio, i movimenti dei materiali o dei prodotti finiti tra magazzini vengono identificatimediante il Business Message chiamato WarehouseMove, i cui metodi, cioè le azioni ad esso associate sono 'Load' (per il carico di magazzino) e 'Unload' (per lo scarico).

Al messaggio, completo di metodo denominato 'WareHouseMove.Load' verranno quindi associate le informazioni chiave, come ad esempio il codice lotto interessato, la quantità, la data e le altre informazioni di interesse per il sistema destinatario (vd. Tabella in figura).

Il principio di funzionamento di "e-INTEGRA"

e-INTEGRA è costituito da un insieme di componenti software che presiedono alla trasmissione di informazioni tra i sistemi in modalità cosidetta 'asincrona'.

Le funzionalità offerte comprendono la gestione dinamica dell'instradamento dei messaggi, cioè la possibilità da parte degli amministratori del sistema di variare il percorso logico delle informazioni tra i sistemi coinvolti senza necessità di intervenire sul codice eseguibile.

Mediante un applicativo in ambiente Windows chiamato B.M.R. (Business Message Repository) vengono gestite le caratteristiche di ciascun messaggio da trasferire, dei metodi e degli attributi ad esso relativi.

Ogni sistema interfacciato è identificato da una apposita icona accessibile con il B.M.R., tramite cui è possibile visionare il log delle informazioni trasmesse o ricevute da ogni nodo, oltre a poter gestire lo stato del sistema con l'ausilio di un modulo terminale telnet incorporato nell'applicativo stesso.
Le interfacce, cioè i moduli che collegano e-INTEGRA agli applicativi che effettuano l'invio delle informazioni sono porzioni di codice eseguibile ridotte al minimo e sfruttano i servizi di inoltro, recupero dei dati e gestione dei log di trasmissione e ricezione. Le interfacce vengono prodotte mediante l'ausilio di strumenti visuali di generazione del codice e possono essere realizzate in un linguaggio object oriented (come C++ o VisualBasic).

Mediante l'ausilio di apposite librerie di gestione SQL multi-database (es. Oracle o SQL Server) sono garantite le funzionalità di recupero o inserimento delle informazioni direttamente sulle tabellegestite dagli applicativi integrati, utili dove l'applicativo non sia predisposto per accettare dati a lui sottoposti con protocolli di tipo XML o SMG (Semantic Message Gateway, protocollo proprietario utilizzato in BPCS).

I messaggi vengono inoltrati da e-INTEGRA sfruttando il ben noto software IBM di comunicazione mediante messaging, MQSeries, sottostrato su cui poggia l'intera architettura del middleware di EXO System.

La configurazione di MQ Series è facilitata da una sua gestione completamente automatizzata, mediante apposite funzionalità di e-INTEGRA viene infatti generata la configurazione che consente di attivare in maniera semplice e immediata le code ed i canali di comunicazione tra i diversi sistemi esistenti. Apposite utilità di verifica consentono di testare il corretto setup dei canali di comunicazione gestiti da MQSeries.

L'integrazione degli applicativi in Parmalat è stata raggiunta mettendo a punto le interfacce che consentono la trasmissione dei dati da e verso ogni sistema coinvolto. Seguendo l'approccio suggerito dagli esperti del prodotto e-INTEGRA, ad ogni flusso dati individuato è stato associato un nome identificativo, che consentisse di individuare rapidamente l'interfaccia, il sistema su cui essa è installata e l'applicativo verso cui è connessa.

Seguendo questa metodologia, ad esempio, l'interfaccia numero 1, collegata all'applicativo BPCS che gira sul sistema denominato HP01, viene semplicemente denominata : INT01_BPCS_HP01.

Ogni interfaccia è composta da due sezioni, una di trasmissione ed una di ricezione, due interfacce collegate allo stesso flusso dati vengono identificate dallo stesso numero d'ordine.
Una interfaccia tipo, il trasferimento dati delle entrate merci tra BPCS e SAP.

Il flusso dati relativo al trasferimento delle informazioni sulle merci ricevute dai fornitori ha origine dal software applicativo BPCS (che, tra l'altro, gestisce i movimenti in entrata dai fornitori).

Le informazioni relative alle merci devono essere inoltrate al sistema SAP, unitamente ai dati relativi agli ordinativi emessi, affinchè si possa procedere alla generazione delle annesse pratiche contabili ed al saldo della fatturazione.

Indicando, per convenzione, il flusso dati in questione con il codice '0415', la parte di interfaccia che invia i dati è denominata INT415_BPCS_HP01, il flusso in questione sarà quindi individuatodall'instradamento tra le due interfacce:

INT415_BPCS_HP01 INT415_SAP_RSC11

Dove HP01 e RSC11 sono i nomi simbolici dei server di invio e ricezione, preceduti dai nomi degli applicativi e dal codice di interfaccia..Questo instradamento viene definito mediante il B.M.R. di e-INTEGRA ed associato ai messaggi relativi alla ricezione merci ed al recupero ordini emessi, denominati rispettivamente VendorLoad ePurchaseOrder, ad identificare appunto i carichi da fornitore ed i relativi ordini messi.

L'interfaccia e-INTEGRA, collegata al lato BPCS, viene attivata al momento dell'inserimento delle informazioni relative ad un carico merci, provvede al recupero dei dati dell'ordinativo emesso ed all'inoltro al sistema SAP delle informazioni inerenti la merce ricevuta. e-INTEGRA si occupa di prelevare i dati dal sistema destinatario, agendo su appositi trigger del server SQL sul sistema mittente, ne gestisce automaticamente la formattazione ed inoltra al destinatario i dati sotto forma di messaggi BML (Business Message Language). Il messaggio viene prelevato dall'interfaccia 'Listener', dove un apposito modulo genera il formato di destinazione riconosciuto dall'applicativo di destinazione, nel caso di BPCS utilizzando il protocollo SMG, che è proprietario di SSA. In altri casi appositi adattatori XML possono prelevare o recapitare i dati da e verso applicativi predisposti secondo questo standard oramai ampiamente riconosciuto a livello commerciale.
Conclusioni

La complessità del trasferimento dati all'interno di una organizzazione estesa come Parmalat, ha indotto alla ricerca di un prodotto di integrazione flessibile, affidabile ed economico. e-INTEGRA ha consentito di raggiungere lo scopo di minimizzare lo sforzo necessario all'introduzione delle nuove tecnologie di integrazione, riducendo al massimo il codice eseguibileda realizzare appositamente. Questa scelta ha inoltre permesso di standardizzare le interfacce tra i sistemi, rendendole adatte ad essere 'riutilizzate' ed installate modularmente all'interno delle molteplici realtà aziendali. Grazie alla possibilità di replicare i moduli con il minimo sforzo, si sono inoltre ridotti i costi di integrazione per le numerose strutture di produzione industriale dislocate in tutto il mondo.