Siamo giunti al 50° anniversario della prima riunione tenutasi al Pentagono statunitense tra i membri del comitato preposto allo sviluppo del linguaggio Cobol. Nato il 28 maggio del 1959, il Cobol (acronimo di Common Business-Oriented Language) fu lanciato da un comitato di grandi aziende informatiche dell'epoca (Burroughs, Ibm, Minneapolis-Honeywell, Rca, Sperry Rand, Sylvania Electric Products) e da alcune agenzie governative statunitensi, e ha conosciuto cinquant'anni di incessante crescita ed espansione, diventando il linguaggio di programmazione più diffuso per lo sviluppo di applicazioni aziendali.
Alan Rodger, Senior Research Analyst di Butler Group, ha condotto uno studio (su un campione di 2.397 maggiorenni americani) che mette in luce il contributo che il Cobol continua a fornire supportando molte delle attività che svolgiamo quotidianamente.
Telefoni cellulari, carte di credito, bancomat, viaggi in treno e altro ancora: il Cobol è il linguaggio di programmazione sul quale si basano le applicazioni che gestiscono tutte queste tipologie di transazione; come era logico apettarsi, il 77% degli intervistati si è detto completamente inconsapevole al riguardo (da un analogo sondaggio condotto nel Regno Unito da parte di YouGov è emerso che in questa nazione gli utenti interagiscono con il Cobol ben 10 volte al giorno, ma solo il 18% ne sentito parlare).
Secondo le stime Butler, il 60-80% delle imprese mondiali basa tutt'oggi le proprie attività di business su questo linguaggio. Alcuni semplici dati per comprenderne la portata:
1) Sono più di 200 miliardi le linee di Cobol attive e funzionanti a livello mondiale, in qualsiasi settore, per un totale di oltre 30 miliardi di transazioni gestite su base quotidiana, molte delle quali hanno una conseguenza diretta sulla nostra vita personale.
2) Il 75% dei dati aziendali mondiali viene gestito in linguaggio Cobol.
3) Il 90% delle transazioni finanziarie globali viene eseguito in codice Cobol.
4) Il numero di sviluppatori che a livello mondiale opera con questo codice ammonta a 1,5/2 milioni di individui.
5) Ogni anno vengono aggiunte ai sistemi di produzione circa 5 miliardi di nuove linee di codice Cobol.
Cobol e It: simbiosi perfetta
Negli ultimi decenni, il Cobol ha sviluppato un rapporto pressoché simbiotico con il mondo dell’It aziendale: infatti, la crescente dipendenza dalle informazioni digitali che caratterizza le attività di grandi imprese e pubblica amministrazione ha richiesto l’implementazione di applicazioni affidabili basate proprio su questo linguaggio a supporto delle infrastrutture It.
I sistemi Cobol risalenti a qualche decina di anni fa continuano a esistere ancora oggi grazie anche alla notevole quantità di ore e di risorse investite in essi lungo tutto questo tempo. Quindi, nonostante sia un linguaggio di “mezza età”, il Cobol rappresenta ancora un riferimento importante per i sistemi IT. Per semplificare, se i sistemi Cobol hanno la capacità di continuare a eseguire task business-critical in maniera efficiente e affidabile, non vi è ragione – si legge nell’analisi di Rodger – per cui non dovrebbero proseguire su questa strada anche per i prossimi 50 anni.
Il successo del Cobol? La sua capacità di modernizzarsi
Perché, nonostante gli ultimi 30 anni siano stati disseminati di continue previsioni circa l’imminente scomparsa del Cobol, questo linguaggio ha continuato ad affermarsi e proliferare? La prima risposta è la semplicità, sottolinea Rodger nel suo report. Sin dalla sua nascita, il Cobol si è posto come standard comune per i programmatori basato sull’utilizzo di un inglese semplice e comprensibile, semplificando la stesura di codice da parte di sviluppatori e aziende.
La seconda risposta è la versatilità: le applicazioni inizialmente sviluppate per girare sui mainframe Ibm System 700 possono essere predisposte per migrare verso piattaforme Soa, per integrarsi con nuovi sistemi legati al web 2.0 (sviluppando, per esempio, anche web services), e arrivare anche ad integrarsi ed evolversi su piattaforme di cloud computing (Amazon o Microsoft).
Le due principali caratteristiche del Cobol, semplicità e versatilità, ne fanno anche una tecnologia che consente di contenere i costi.
Attenzione: mancano gli skills
Le applicazioni basate su Cobol ovviamente in questi 50 anni non sono rimaste uguali, ma sono state oggetto di un costante processo di revisione e modernizzazione. Tuttavia, secondo uno studio Micro Focus (“Safeguarding the Corporate IT Assets”, aprile 2009) meno di un terzo dei Cio (29%) afferma di riuscire a reclutare risorse professionali sufficienti nell’ambito della modernizzazione delle applicazioni. Se da un lato i responsabili It hanno compreso che la modernizzazione implica una strategia meno rischiosa e costosa di quanto non possa essere la sostituzione in toto di applicazioni business critical, dall’altro il reperimento di un numero sufficiente di professionisti esperti in questo ambito risulta essere sempre più difficile.
Di fronte alla grande propensione degli studenti di informatica a specializzarsi nella tecnologia Web 2.0 e alla quantità di professionisti ormai giunti all’età del pensionamento, il Cobol e le applicazioni su di esso basate sono fortemente a rischio.
Fare in modo che il Cobol resti una parte essenziale delle competenze tecnologiche deve perciò diventare nei prossimi anni un’azione prioritaria da parte di aziende, pubbliche amministrazioni e università, perché gli effetti di una eventuale penuria di skill potrebbe costituire un notevole problema.
Il costo stimato per la riscrittura dei programmi Cobol, per esempio, si aggira sui 25 dollari a linea. Considerando che esistono oltre 200 milioni di queste linee, non bisogna essere dei matematici per capire che si tratterebbe di una spesa alquanto elevata per le aziende, senza contare l’interruzione delle operazioni derivante da lunghe strategie di riscrittura.
Integrazione, parola d’ordine
Spostare le applicazioni Cobol esistenti all’interno di piattaforme Soa, integrare questo “vecchio” linguaggio con quelli nuovi come Java e Xml, inserire il Cobol in applicazioni destinate alle piattaforme cloud: queste le sfide legate al Cobol che, in altre parole, possiamo definire modernizzazione delle applicazioni. Parlare di integrazione tra Cobol e nuove tecnologie esistenti e, quindi, di modernizzazione applicativa, significa sviluppare nuove capacità aziendali che devono tuttavia seguire un percorso. Cammino che può essere sia tattico sia strategico, come illustrato da ZeroUno nell’articolo “Modernizzazione delle applicazioni: tattica e strategica”.
Leggi l’articolo “Modernizzazione delle applicazioni: tattica e strategica”
Leggi anche "Modernizzazione applicativa: i vari passaggi"