Sei sulla pagina 1di 6

CP pensareprogettareprogrammare n.

134 Aprile 2004

Il Web e le aziende: strategie innovative di integrazione degli ERP


di Antonio Tomarchio, Davide Platania, Giovanni Strano
` ` La essibilita e la varieta delle applicazioni di e-business su web spesso incontrano un ostacolo nellintegrazione con complessi sistemi ERP Vedremo come . interfacciare un ERP con un sistema Web di gestione di ordini e preventivi.

Antonio Tomarchio, Davide Platania, Giovanni Strano

pubblicato su WWW.INFOMEDIA.IT stampa digitale da Lulu Enterprises Inc. stores.lulu.com/infomedia


Infomedia
` Infomedia e limpresa editoriale che da quasi venti anni ha raccolto la voce dei programmatori, dei sistemisti, dei professionisti, degli studenti, dei ricercatori e dei professori dinformatica italiani. Sono pi` di 800 gli autori che hanno realizzato per le teu state Computer Programming, Dev, Login, Visual Basic Journal e Java Journal, molte migliaia di articoli tecnici, presentazioni di prodotti, tecnologie, protocolli, strumenti di lavoro, tecniche di sviluppo e semplici trucchi e stratagemmi. Oltre 6 milioni di copie distribuite, trentamila pagine stampate, fanno di questa impresa la pi` grande ed u inuente realt` delleditoria specializzata nel campo della a programmazione e della sistemistica. In tutti questi anni le riviste Infomedia hanno vissuto della passione di quanti vedono nella programmazione non solo la propria professione ma unattivit` vitale e un vero a divertimento. ` Nel 2009, Infomedia e cambiata radicalmente adottando ` un nuovo modello aziendale ed editoriale e si e organizzata attorno ad una idea di Impresa Sociale di Comunit` , a partecipata da programmatori e sistemisti, separando le attivit` di gestione dellinformazione gestite da un board a comunitario professionale e quelle di produzione gesti` te da una impresa strumentale. Questo assetto e in linea con le migliori esperienze internazionali e rende Infomedia ancora di pi` parte della Comunit` nazionale degli u a sviluppatori di software. ` Infomedia e media-partner di manifestazioni ed eventi in ambito informatico, collabora con molti dei pi` imporu tanti editori informatici italiani come partner editoriale e fornitore di servizi di localizzazione in italiano di testi in lingua inglese.

Limpaginazione automatica di questa rivista e realizzata al ` 100% con strumenti Open Source usando OpenOffice, Emacs, BHL, LaTeX, Gimp, Inkscape e i linguaggi Lisp, Python e BASH

For copyright information about the contents of Computer Programming, please see the section Copyright at the end of each article if exists, otherwise ask authors. Infomedia contents is 2004 Infomedia and released as Creative Commons 2.5 BY-NC-ND. Turing Club content is 2004 Turing Club released as Creative Commons 2.5 BY-ND. Le informazioni di copyright sul contenuto di Computer Programming sono riportate nella sezione Copyright alla ne di ciascun articolo o vanno richieste direttamente agli autori. Il contenuto Infomedia e 2004 Infome` dia e rilasciato con Licenza Creative Commons 2.5 BYNC-ND. Il contenuto Turing Club e 2004 Turing Club ` e rilasciato con Licenza Creative Commons 2.5 BY-ND. Si applicano tutte le norme di tutela dei marchi e dei segni distintivi. ` E in ogni caso ammessa la riproduzione parziale o totale dei testi e delle immagini per scopo didattico purch e vengano integralmente citati gli autori e la completa identicazione della testata. Manoscritti e foto originali, anche se non pubblicati, non si restituiscono. Contenuto pubblicitario inferiore al 45%. La biograa dellautore riportata nellarticolo e sul sito www.infomedia.it e di norma quella disponibi` le nella stampa dellarticolo o aggiornata a cura dellautore stesso. Per aggiornarla scrivere a info@infomedia.it o farlo in autonomia allindirizzo http://mags.programmers.net/moduli/biograa

case study

Il Web e le aziende: strategie innovative di integrazione degli ERP


La flessibilit e la variet delle applicazioni di e-business su web spesso incontrano un ostacolo nellintegrazione con complessi sistemi ERP. Vedremo come interfacciare un ERP con un sistema Web di gestione di ordini e preventivi
di Antonio Tomarchio, Davide Platania, Giovanni Strano

a creazione di un sistema informativo efficace una delle principali sfide che le imprese sono chiamate a fronteggiare per poter ridurre i propri costi e mantenere la competitivit. A tale scopo sono stati introdotti sul mercato gli strumenti globalmente indicati con il termine ERP: Enterprise Resources Planning. In generale si tratta di piattaforme di notevoli dimensioni, dotate di tool per la pianificazione di tutti gli aspetti della vita aziendale, dal sistema vendita alla contabilit, allanalisi del comportamento clienti al fine di migliorare i processi di marketing; essi consentono laccesso in remoto anche da eventuali altre sedi dellazienda. Permettono anche di trattare problematiche complesse, come lapertura di nuovi stabilimenti produttivi e lacquisizione di nuovi distributori commerciali e dispongono di tool di business intelligence per effettuare analisi statistiche su dati di interesse. I vantaggi nellinstallazione di un sistema ERP sono dunque rappresentati dalla capacit di monitorare ogni aspetto della vita aziendale e di disporre continuamente di dati aggiornati sulle varie attivit svolte. A fronte di ci esistono anche degli svantaggi, quali lelevato investimento necessario, la difficolt nelladdestrare Antonio Tomarchio

il personale allutilizzo di strumenti software particolarmente elaborati, la complessit del sistema e la conseguente mancanza di flessibilit. Questultimo punto risulta evidente nel momento in cui, ad esempio, si rende necessario, nel quadro di una strategia di e-business, lintegrazione di applicativi Web-based con lERP stesso e con la sua base dati. In particolare gli ostacoli principali sono i seguenti: 1) Scarsa flessibilit: i sistemi ERP richiedono che qualunque operazione, per esempio linvio di un ordinativo di un cliente, sia codificata mediante messaggi di testo con campi ben precisi. Un singolo errore nel messaggio comporta lincapacit per lERP di processarlo e di trasferirlo nella base dati; 2) Problemi di sicurezza ed impossibilit di un accesso diretto alle basi dati dellERP: spesso gli applicativi di e-business coinvolgono attori esterni allazienda, come fornitori e/o distributori. Di conseguenza non possibile progettare soluzioni Web che abbiano accesso diretto ai dati dellERP, per motivi di sicurezza. Questo impone di sviluppare tool di intermediazione capaci di fare da tramite tra le soluzioni di e-business e lERP. Esistono diverse strategie per superare queste problematiche, limportante consiste nel trovare quella pi vantaggiosa in termini di efficacia e di costi.

antonio.tomarchio@ecomware.it

Studente in ingegneria matematica presso il Politecnico di Milano e lEcole Centrale Paris. Fondatore e vicepresidente di Ecom, societ di system integration, dove si occupa di project management e ricerca e sviluppo. I suoi interessi sono rivolti al knowledge management, al data e Web mining soprattutto da un punto di vista modellistica.

LEDI e linnovazione di XML


Con il termine EDI (Electronic Data Interchange) si fa riferimento ad una serie di standard utilizzati per lo scambio di informazioni aziendali e per effettuare transazioni commerciali elettroniche. Si tratta in pratica di una sorta di linguaggio per codificare documenti relativi al mondo aziendale, in modo che possano essere processati dagli applicativi che li devono gestire, nato appunto dallesigenza di disporre di un sistema di interfacciamento tra partner aziendali differenti, ognuno con la propria architettura informatica. La maggior parte dei sistemi ERP supporta lEDI e consente quindi di interfacciarsi con altri attori aziendali per mezzo di questo standard. Le soluzioni basate su EDI presentano per dei forti limiti: 1) Costi elevati: un sistema EDI ha un costo che varia dai 50.000 ai 2 milioni euro e questo significa che spesso
Computer Programming n. 134 - Aprile 2004

Davide Platania
Si laureato in Ingegneria Informatica a Catania. Attualmente docente di ruolo della disciplina Informatica in un istituto tecnico statale e lavora come Technical Consultant presso Ecom e altre aziende nel settore della Information Technology.

Giovanni Strano

giovanni.strano@ecomware.it

Si laureato in Ingegneria Informatica a Catania. Attualmente responsabile della ricerca e sviluppo in Ecom e project leader dei maggiori progetti realizzati.

74

INFORMATICA

FIGURA 1

Struttura server-side della nostra soluzione

fondata sui prodotti SAP. Allo stato attuale la Nicoletti dispone di una struttura IT interna capace di gestire ed innovare la piattaforma SAP. Il problema che abbiamo dovuto fronteggiare stato quello di creare una soluzione di e-business Web-based per interfacciare tutti i punti vendita dislocati sul territorio nazionale con la Nicoletti, in modo da consentire le seguenti operazioni: 1) Creazione e condivisione dellanagrafica clienti 2) Elaborazione, invio ed archiviazione di preventivi 3) Elaborazione, invio e processamento di ordini 4) Gestione delle contestazioni 5) Gestione delle fatture 6) Invio di comunicazioni dalla Nicoletti a tutti i punti vendita 7) Analisi statistiche su preventivi ed ordini Sono emerse subito le forti potenzialit derivanti dallintegrazione di questa struttura Web con il sistema SAP: interfacciando la soluzione con lERP, quando un punto vendita invia un ordine via Web questultimo pu arrivare direttamente in catena di produzione, senza ulteriore intervento di personale umano, consentendo quindi di abbattere i costi per la gestione delle transazioni. Per poter raggiungere questo scopo necessario fare in modo che lordine inviato via Web alla base dati della Nicoletti venga processato in modo da renderlo esportabile su SAP, che poi provveder ad inviarlo in produzione. La struttura del sistema lato server rappresenta in Figura 1.

troppo oneroso per il segmento delle piccole e medie imprese; 2) Scarsa flessibilit: spesso un sistema EDI estremamente specifico per comunicare con un ben determinato gruppo di partner. Questo significa che qualora sorgano nuove esigenze necessario effettuare nuovi consistenti investimenti; 3) Complessit: le soluzioni EDI possono essere complesse e richiedere forti investimenti in formazione del personale. Per queste ragioni, pu risultare conveniente utilizzare un altro strumento: lXML. I maggiori software vendor hanno costituito un consorzio (Rosetta.Net) che ha come scopo la creazione di una lingua franca delle-business fondata su XML. In pratica stanno procedendo a codificare tutte le possibili operazioni di business in XML, in modo da sviluppare poi soluzioni software capaci di processare automaticamente i documenti realizzati con questo standard. I pi importanti produttori di sistemi ERP hanno gi integrato gli standard Rosetta.Net nei propri prodotti, consentendo la creazione di soluzioni di e-business capaci di utilizzare lXML come strumento di comunicazione e di integrarsi con lERP. Tuttavia anche in questo caso possono sorgere delle problematiche non indifferenti, legate al fatto che per poter disporre di queste funzionalit lazienda deve acquistare aggiornamenti e spesso nuovi prodotti software con costi non indifferenti e quindi investire nuovamente, dopo aver subito gli elevati costi per la creazione della piattaforma ERP. Inoltre essa deve anche poter disporre del personale con le capacit per utilizzare questi strumenti di sviluppo, realizzare le soluzioni di e-business ed integrarle con lERP. Ne consegue che anche in questo caso i costi possono diventare proibitivi specialmente per aziende di medie e piccole dimensioni.

I maggiori software vendor

hanno costituito un consorzio (Rosetta.Net) che ha come scopo la creazione di una lingua franca delle-business fondata su XML
I blocchi a sinistra sono tipici di ogni applicazione Webbased: il blocco Web Server (Internet Information Service, Apache), ha lo scopo di gestire le connessioni http che provengono dai client remoti. Questo blocco consente non solo di far reperire al client il contenuto delle pagine che questultimo desidera sfogliare, ma anche di eseguire script particolari (server-side) che consentono di rendere dinamico il contenuto delle pagine web in funzione delle operazioni richieste dal cliente. Tutto questo avviene per mezzo di moduli aggiuntivi opportuni forniti dal blocco Moduli Server Side quali i moduli per gli script ASP, PHP, JSP, ecc. Il blocco DB Connectivity Drivers fornisce uninterfaccia di accesso al DB ed specifico in funzione della tecnologia utilizzata nei moduli server-side e del tipo di Database (Oracle, SQL Server, Access, MySql, ecc.). Il DB contiene linsieme delle tabelle dei dati relazio75

Integrazione a basso costo: il caso Nicoletti Spa


Nel corso di questanno il nostro gruppo ha gestito un problema abbastanza complesso di integrazione e-businesssistema ERP, individuando una soluzione ottimale sia dal punto di vista dellefficienza sia dei costi. Fondata nel 1967, la Nicoletti Spa tra i primi 10 produttori mondiali di mobili imbottiti ed esporta in tutto il mondo, avvalendosi di una rete di uffici commerciali e di distributori. Lazienda ha mantenuto da sempre tassi di crescita a doppia cifra, ed ha informatizzato tutti i propri processi attraverso lo sviluppo di unarchitettura ERP
Computer Programming n. 134 - Aprile 2004

case study

FIGURA 2

Schema per il message passing tra il sistema di integrazione e SAP

nati che il sistema informatico deve manipolare per la consultazione e la manutenzione a distanza. Il blocco Server NFS rappresenta le funzionalit del Network File System del sistema operativo, installato sul server, invocate dagli script delle pagine per la lettura e scrittura degli Shared Files, questultimi memorizzati in una cartella condivisa con il sistema SAP. Il problema centrale che abbiamo dovuto fronteggiare stato quello di non poter realizzare un accesso diretto alla base dati del sistema ERP per ragioni di sicurezza, dal momento che coloro che utilizzano la piattaforma Web sono soggetti esterni alla Nicoletti, trattandosi di gestori di punti vendita in franchising. Per superare questo ostacolo abbiamo realizzato un sistema informatico indipendente con una propria base dati, che registra tutte le informazioni relative al commercio realizzato dai punti vendita. Rispetto alla totalit della base dati SAP, infatti, questa quantit di informazioni limitata e quindi, per quanto ridondante, la costituzione di una banca dati indipendente ci ha permesso di non dover operare direttamente su SAP e di garantire la sicurezza e lefficienza necessaria. A questo punto ci siamo trovati di fronte alla necessit di realizzare una perfetta sincronizzazione tra le due basi dati e di realizzare una comunicazione costante tra soluzione Web e ERP. La soluzione adottata quella dello scambio dei messaggi tra SAP e la piattaforma di integrazione attraverso una cartella condivisa dai due sistemi. Ogni messaggio costituito da un file di testo formattato in maniera opportuna e strutturato in diversi segmenti secondo il linguaggio di SAP. La Figura 2 mostra larchitettura adottata per il message passing tra il sistema di integrazione e SAP. Il sistema informatico integrativo preleva le informazioni dal DB proprietario e genera un messaggio verso SAP sotto forma di file di testo in una cartella condivisa. La generazione del messaggio avviene secondo il diagramma a blocchi della Figura 3. Il message Generator un modulo server-side del sistema informatico di integrazione che si occupa della generazione di un messaggio. Esso preleva il template del messaggio (cio il formato e lo stile sintattico dei messaggi verso SAP) e riempie i campi specifici con le informazioni prelevate dalle tabelle del Database proprietario. Il template garantisce la correttezza sintattica del messaggio rispetto a SAP ed il message generator crea un messaggio che rappresenta una copia del template, dove le stringhe chiave sono state rimpiazzate (STRING REPLACE) con i dati prelevati dal DB proprietario. Una tale struttura garantisce alta velocit nella produzione dei messaggi e versatilit nella sintassi (per manutenzioni future e cambi di sintassi nei messaggi sufficiente modificare solo il template con un semplice editor di testo, senza apportare modifiche agli script). 76

Inoltre facilmente adattabile a nuove esigenze: qualora vi sia la necessit di aggiungere funzionalit gestite dallERP sar sufficiente creare nuovi template ed una nuova tabella nella base dati della piattaforma Web, e lintegrazione con SAP sar automatica. Questo consente anche di adattare la nostra piattaforma per essere applicata in contesti aziendali profondamente diversi che utilizzano SAP come strumento ERP. Questa architettura relativamente semplice ha permesso di gestire tutte le problematiche connesse alle esigenze della Nicoletti spa. In questo caso abbiamo pi punti vendita che possono trovarsi nella stessa citt o in citt diverse. Per ogni punto vendita abbiamo pi account abbinati ai diversi consulenti. Ogni volta che viene registrato un nuovo cliente ai punti vendita, il sistema integrato conserva le informazioni interessate nella propria banca dati ed assegna al cliente una coppia di chiavi: una la chiave allinterno del DB proprietario, laltra la chiave che al cliente verr assegnata negli archivi SAP (tipicamente differisce dalla prima solo per un prefisso che SAP destina ai punti vendita). Essendo la chiave univoca nel DB proprietario, con laggiunta di un prefisso uguale per tutti continua ad essere univoca anche allinterno di SAP. Dopo aver memorizzato i dati nel DB proprietario, viene generato un messaggio di Anagrafica (sfruttando il template di Anagrafica) verso SAP nel quale viene specificato, tra gli altri, il valore della chiave abbinata a questo nuovo cliente. Eventuali operazioni di Ordine, Preventivo o Contestazioni che faranno riferimento a questo cliente o ad uno precedentemente memorizzato, faranno riferimento alla chiave SAP del cliente ed il messaggio relativo alloperazione far riferimento alla stessa chiave. Ogni volta che viene effettuata una operazione di Ordine/Preventivo/Contestazione, prima di tutto i dati vengono memorizzati nella banca dati proprietaria e subito dopo viene generato un messaggio verso SAP attinente alloperazione (MsgOrdine/MsgPreventivo/MsgContestazione) Per garantire la coerenza dei dati, la procedura che il SAP Interchange Management Module deve svolgere consiste in: Controllo e lettura di eventuali messaggi di anagrafico nello Shared Folder Cancellazione dei messaggi di anagrafico appena processati Controllo e lettura di eventuali messaggi di ordine/preventivo/contestazione Cancellazione dei messaggi processati

FIGURA 3

Schema del sistema di generazione dei messaggi SAP

Computer Programming n. 134 - Aprile 2004

INFORMATICA

FIGURA 4 Form per la compilazione e linvio degli ordini.


Le informazioni del form vengono utilizzate per generare il messaggio SAP che viene processato dallERP ed automaticamente invia lordine in catena di produzione

La soluzione si completa con la creazione di un server https e lutilizzo di certificati che permettono di proteggere le comunicazioni tra punti vendita e Nicoletti mediante crittografia a chiave pubblica a 40 bit e con una grafica semplice ma efficace visualizzabile nella Figura 4.

Conclusioni
Il nostro progetto ci ha permesso di sviluppare una soluzione per lintegrazione con i sistemi ERP che ha i vantaggi di essere efficace, versatile e soprattutto a basso costo, richiedendo un investimento di 20.000 Euro. Essa, di conseguenza, si adatta bene alle esigenze di piccole e medie imprese che non hanno la capacit di fare ulteriori forti investimenti dopo quelli affrontati per la creazione della piattaforma ERP. Lunico inconveniente del nostro approccio quello di dover costituire una base dati a s e di doverla sincronizzare con quella dellERP, ma i disagi sono limitati dalla dimensione relativamente ristretta, dovuta al fatto che la nostra base dati gestisce un solo aspetto delle attivit aziendali. possibile migliorare il tool ed aggiungere gradualmente ulteriori funzionalit: sul piano operativo, uno dei possibili sviluppi che gi si intravedono, consiste nellestensione della piattaforma anche alla rete di distributori internazionali. Sul piano tecnico riteniamo che sarebbe di interesse introdurre lutilizzo di XML per consentire la comunicazione anche con altri applicativi e non semplicemente con SAP e per sviluppare un sistema pi avanzato di knowledge management.

Questa sequenza garantisce la coerenza delle informazioni anche se SAP programmato per lacquisizione dei dati dai punti vendita remoti in modalit Off Line (per esempio tutte le sere dopo la chiusura dei punti vendita). Per garantire il rispetto della cronologia, i messaggi sono nominati con un TimeStamp che consente di ordinarli in base al tempo (ed al punto vendita, incorporando nel nome un prefisso corrispondente al codice dei punti vendita). Analogamente, eventuali risposte da SAP al sistema integrato vengono gestite in maniera duale.