reingegnerizzare un sistema informativo legacy

Personal Computer
Minisistemi, Networking
Servizi Internet-Intranet
Consulenze, Progettazione
Sviluppo Sistemi Informativi
e-mail [email protected] www.mistercomputer.it
<< REINGEGNERIZZARE UN SISTEMA INFORMATIVO LEGACY >>
-------------------------------------------------------------------------------------------------……….( segue da introduzione web)
Visto quanto abbiamo premesso, si potrebbe pensare che possa essere difficoltoso ed anche
abbastanza costoso mettere a punto un completo sistema informativo, basato su specifiche richieste
utente ed in molti casi fortemente personalizzato (non standard).
In realtà non è assolutamente così.
Crediamo infatti che con una buona analisi del problema si possa sempre eseguire una
programmazione “mirata” e quindi risolvere con reciproca soddisfazione qualsiasi tipo di necessità
in ambito gestionale – aziendale.
Non è assolutamente vero che il prodotto software standard si adatti sempre alle necessità di chi lo
dove usare; al contrario, spesso avviene che l’utilizzatore di un sistema informativo si debba
adattare ai metodi imposti dal software, cambiando quasi sempre la propria logica operativa a
discapito di funzionalità, controllo e strategia aziendale.
In alcuni casi, purtroppo, non è facile accorgersi che il processo di cambiamento proposto dal
software possa realmente essere vantaggioso, ed i motivi possono essere svariati:
spesso l’azienda pensa alla sostituzione e/o integrazione di nuovi applicativi basandosi sulla
pubblicità, su ciò che ha sentito dire da terzi a riguardo di un determinato tipo software, o più
semplicemente su quanto “sembra essere” potente, presente sul mercato e/o famoso il produttore
del software stesso……….
E’ vero che spesso queste valutazioni possono offrire condizione di garanzia, ma sarebbe sempre
opportuno che l’azienda si consultasse prima con uno specialista ITC, in grado di macroanalizzare
le richieste/necessità aziendali per quindi indirizzare l’azienda verso la soluzione più adatta.
Molto spesso è accaduto che si è dato inizio un nuovo processo di avviamento software applicativo,
e quindi dopo avere acquistato il prodotto si è iniziata la formazione del personale, il caricamento
dei dati di base (archivi e tabelle varie), la riconfigurazione dei vari sistemi hardware, la
conversione “automatica” (ove possibile) ed il trasferimento da vacchio database al nuovo.
Finalmente quando sembra essere tutto allineato si inizia la “routine di lavoro giornaliera” e ci
accorgiamo che il “programma x” non prevede quella funzione che tanto ci serve ed è
obbligatoriamente necessaria, oppure in altra procedura non sono più disponibili “quelle stampe”
che ci permettevano “statistiche vitali” per l’andamento aziendale.
Ecco che a questo punto avviene il contatto con lo specialista per capire come mai accade tutto
questo e quasi sempre l’azienda si sente rispondere “Ma nessuno ha parlato di quel programma”,
Oppure, “ma in sede di dimostrazione delle procedure non sono emerse queste particolari necessità,
quindi nessuno del team tecnico ha pensato di doverle mettere a punto”.
O ancora: “- ma guardi la nostra procedura è uno STANDARD mondiale, non può prevedere tutto
ciò che accade in ogni singola realtà aziendale, valuteremo in seguito se è possibile personalizzare
queste funzioni……..”.
Potremmo continuare con almeno una decina di risposte, tutte quante sicuramente giustificabili ed
attendibili, ma resta il fatto che ormai l’azienda ha speso risorse (e quindi denaro contante), ha perso
molto tempo e sicuramente in quel momento non è più in grado di “andare avanti”……..
Cosa succede???? A questo punto….
Le soluzioni possibili sono sostanzialmente due:
-
Ritorniamo all’uso del vecchio software, qualora non sia stato del tutto eliminato e/o messo
fuori linea, e sia ancora compatibile con la nuova organizzazione sistemistica, con ulteriore
perdita di tempo per riallineare tutti i dati mancanti e contemporaneamente richiediamo alla
software house una specifica analisi su tutte le procedure che risultano essere mancanti nel
nuovo software.
-
Oppure come ormai accade molto spesso, continuiamo a lavorare con il nuovo pacchetto
programmi applicativi sperando che “prima o poi” le richieste di “modifica /
implementazione” saranno sviluppate secondo le necessità aziendali e si possa tornare alla
normalità.
In ogni caso si devono “mettere in cantiere” ulteriori spese, costi aggiuntivi non preventivati, disagi
operativi e quasi certamente tempi di regimazione non bene identificati.
A grandi linee quanto sopra descritto è quello che spesso oggi accade, ed è per questi motivi che
molte aziende stanno ritornando a prendere in considerazione la programmazione “ad hoc”,
affidandosi immediatamente alle “cure” di uno specialista in grado di determinare con buona
precisione tutti i flussi logici aziendali, il core business, le strategie applicative delle varie
funzionalità , in altre parole “La fotografia dell’azienda”; per poi tradurre il tutto in procedure
software completamente allineate e produttive immediatamente per l’azienda stessa.
E ciò che più conta, non è vero che questo metodo è più oneroso, difficile e rischioso del tanto
decantato “applicativo Standard”.
#################
Come dicevamo nell’introduzione, negli ultimi anni abbiamo assistito ad un radicale cambiamento
nel mondo dell’ITC, e ciò che sembrava per molti aspetti essere irraggiungibile o difficilmente
applicabile alla piccola e media impresa , oggi è praticamente disponibile subito, con l’ormai
inflazionato concetto del “Chiavi in mano”.
Ma attenzione, di volta in volta è sempre bene verificare precisamente cosa c’è dietro un prodotto
(software), quale durata nel tempo possa avere, che tipo di portabilità e compatibilità con i sistemi
operativi, quale architettura sia disponibile per il trattamento dei dati e se questi ultimi possano
essere facilmente esportati verso altre strutture.
Non ultimo sarebbe molto importante poter disporre dei SOURCE, se non di tutti almeno di quelli
considerati FONDAMENTALI per l’azienda.
Bene, una volta effettuate queste debite considerazioni, e confortati dall’analisi di un consulente
specializzato possiamo affrontare qualsiasi evoluzione.
-------------------------------------------------
Ma cosa c’entra tutto questo con il mondo LEGACY??
Possiamo dire (e rimandiamo il lettore al documento su web) che in Mister Computer abbiamo
sempre cercato di mediare tra il concetto di “evoluzione tecnologica esasperata” e reale necessità di
soluzione informatica per l’azienda.
Per esperienza diretta abbiamo sempre affrontato ogni richiesta di nostri clienti come se fosse un
progetto “ex novo”, considerando quindi tutte le possibili implicazioni sia di natura strettamente
tecnica sia di evoluzione nel tempo, e quindi garantendo al committente una tranquillità operativa al
variare delle condizioni hardware e di sistema.
Per noi un sistema informativo non è mai uno “standard” uguale per tutti, ma è invece un sistema di
applicazioni fortemente “verticalizzato” e specializzato nelle funzioni aziendali specifiche.
Certamente tutto ciò comporta un costante aggiornamento, su linguaggi di programmazione, e
quindi sulle varie tecniche, su data base relazionali, su sistemi operativi e più in generale su quanto
concorre alla buona riuscita di un progetto applicativo.
E’ ovvio che non è più possibile sapere “tutto di tutto” e non vorremmo essere considerati
“presuntuosi” per le affermazioni che facciamo da sempre, ma tradurre in codice una qualsiasi
specifica, renderla funzionante, applicarla in un contesto aziendale creando la soddisfazione
dell’utilizzatore e risolvendo il problema è la nostra “MISSIONE” .
Pertanto abbiamo maturato nel tempo l’esperienza di rendere sempre attuale il software da noi
progettato e realizzato, “portandolo” ove si renda necessario;
Questo significa (ad.es.) che un software aziendale inizialmente pensato per “girare” su piattaforma
xenix / unix , a gli inizi degli anni 90, su specifica richiesta del cliente, è stato convertito su
piattaforma Microsoft Windows tra il 2000 ed il 2002, affrontando tra l’altro, il problema della
conversione della valuta da Lire ad Euro, è stato quindi completamente reingegnerizzato e
normalizzato il trattamento dei dati, applicando una gestione mediante RDBMS, (data base
relazionale), dove richiesto, sono state inserite apposite routine di conversione automatica dei dati
per la produzione di grafici, tutte le elaborazioni di stampa sono state realizzate in modo da poter
essere gestite mediante un broweser (explorer / opera/ firefox), e quindi essere codificate mediante i
più moderni concetti espressi con i linguaggi Html / XML.
L’utilizzo del Database ha quindi permesso l’inserimento in azienda della gestione SQL (structured
query language), facilitando l’operatore nella formazione di ricerche,selezioni ed elaborazioni non
immediatamente disponibili in procedura ma comunque realizzabili in modo autonomo ed
indipendente dalla programmazione vera e propria.
Per queste funzioni ovviamente si è reso necessario una formazione specifica del personale preposto
all’uso, ed i nostri tecnici hanno di volta in volta divulgato gli strumenti ai diretti interessati, i
quali, dopo aver appreso i concetti di fondo (ed anche i più evoluti) si sono resi indipendenti per
tutte le parti di personalizzazione ed integrazione alla procedura.
Ma non solo, il sistema aziendale ha continuato costantemente a “girare” senza alcun fermo
macchina, le nuove procedure sono state inserite in azienda in modo graduale, senza creare traumi
di apprendimento poiché già conosciute e testate da tutti quanti.
Si è quindi parlato di migliorare l’aspetto grafico, ed è arrivata “la moda” universale di rendere
“frendly” (amichevoli) tutte le maschere video; quindi l’uso dei pulsanti, bottoni, radio botton ,
flags di ogni tipo forma e colore…… qualcuno si è adattato qualche altro ha deciso che forse era
migliore il vecchio sistema di interfaccia video basato sul famoso tasto “RETURN” per confermare.
A seconda dei vari casi abbiamo generato la possibilità di visualizzare la stessa forma video in
doppia modalità e quindi a carattere o layout grafico.
Insomma, nel corso del tempo, abbiamo cercato di mantenere valido il concetto della valorizzazione
dell’investimento iniziale di progetto, mantenendo “buone” le logiche e le specifiche aziendali, ma
adattandole ai nuovi strumenti informatici che si sono avvicendati.
E’ storia relativamente recente il concetto di INTEROPERABILITA’, grosso parolone di non facile
spiegazione, ma che riassume l’antico concetto informatico (sempre ricercato) di dialogo fra sistemi
(hradware/software) eterogenei, basati cioè su piattaforme diverse.
E perciò la possibilità/capacità di far dialogare un sistema aziendale (ad.es.) basato su sistema
operativo Windows con uno o più server remoti configurati in ambiente LINUX.(o viceversa)
Applicazione oggi considerata “tipica” per la gestione del Web.
Tutti quanti infatti ci siamo resi conto che il “biglietto da visita” pubblicato su INTERNET ha
grandissime potenzialità e se ben sfruttato e gestito può dare ottimi ritorni in termini di produttività
aziendale.
Ecco quindi che si sono rese necessarie tutta una serie di procedure di integrazione specializzate
nell’esportare dati sul proprio server internet, così come nel contempo sono stati resi disponibili
strumenti di gestione del web per facilitare la comunicazione, la pubblicazione ed anche la ricezione
vera e propria.
Ma al tempo stesso abbiamo dovuto imparare a “difenderci” da possibili attacchi esterni da parte di
programmi definiti “Virus”, “malaware”,”trojan horse”, ed abbiamo dovuto apprendere nuove
regole e nuove tecniche per fare convivere tutto quanto senza perdita di dati, bloccaggi e/o crash di
sistema, intrusioni indesiderate.
Ecco allora l’ingresso di strumenti hardware chiamati Firewall, di software sofisticati definiti
Antivirus, che certamente difendono il patrimonio aziendale e sanno fare il loro “mestiere” ma
spesso sono così tanto potenti che inibiscono anche le normali funzionalità.
E’ quindi forse vero il vecchio concetto espresso da IBM non molti anni or sono:
“” Volete navigare??????””” ---- “” Fatevi una bella barca!! “” –
Crediamo che oggi sia possibile una “via di mezzo” e ci sia ancora spazio per realizzare ottimo
software e/o riadattarlo con tutte le moderne tecnologie, rendendolo un prodotto attuale, dotato di
tutte quelle caratteristiche che ne permettano il completo sfruttamento in qualsiasi ambiente
operativo.
Alcuni cenni su nostri strumenti di sviluppo
-
Sistema di macro-analisi e codifica delle specifiche di procedura
Gestione, Disegno,modellazione del prototipo dei dati
Analisi dei dati esistenti su vecchio sistema informativo
Estrazione dei dati da vecchio sistema informativo
Creazione del prototipo del Rdbms con dati utente
Generazione del codice necessario alla gestione del Rdbms
Generazione mediante C.a.s.e. delle procedure fondamentali di gestione
Personalizzazione del codice “embedded” specifico per utente
Generazione del modello/prototipo utente finale
Installazione ambiente operativo parallelo x test funzionale
Debug ambiente operativo parallelo
Installazione ambiente operativo finale
La sequenza sopra descritta si basa su prodotti software realizzati con tecnologia Java
Gli applicativi finali sono disponibili su tutti i sistemi in grado di eseguire la JVM (java virtual
machine)
##############
Possiamo dire che se hai avuto la pazienza e la costanza di leggere sino a questo punto significa che
condividi molto della nostra filosofia di lavoro, se sei interessato a maggiori dettagli chiamami o
scrivi una mail sono disponibile a dimostrarti quanto sopra descritto.
Grazie
Stefano Biancardi