Programmazione.it v6.2
Ciao, per farti riconoscere devi fare il login. Non ti sei ancora iscritto? Che aspetti, registrati adesso!
Info Pubblicità Collabora Autori Sottoscrizioni Preferiti Bozze Scheda personale Privacy Archivio Libri Corsi per principianti Chat Forum
Tutti gli errori di CORBA
Scritto da Paolo De Nictolis il 11-07-2006 ore 02:38
Intel Software
CORBA era un importante ed ambizioso progetto per lo sviluppo di componenti distribuiti, e per molto tempo è stato il Sacro Graal dell'informatica: non so quanti di voi siano abbastanza vecchi da ricordare quando ai colloqui di assunzione cominciavano un ansioso tormentone alla Nanni Moretti, del tipo: "Ma CORBA lo conosci? Ci hai lavorato? Almeno con Visibroker, ti prego dimmi di sì!"
Pochi anni dopo, CORBA è una tecnologia ampiamente superata in favore dei Web Services, che vive di un mercato di maintainance dei faraonici progetti degli anni '90.

Un articolo sulla rivista della prestigiosa ACM, che di sicuro non ha bisogno di presentazione alcuna, cerca di comprendere i motivi di questa rovinosa caduta. In primo luogo, per CORBA era stata scelta la strada più sicura per il baratro: affidarne la standardizzazione ad un organismo burocratico, farraginoso, in grado di produrre uno standard complicato che nella sua [url=http://www.omg.org/technology/documents/corba_spec_catalog.htm
t=_blank]ultima versione[/url], vecchia ormai come il cucco (risale al 2001, anche se per mantenere una parvenza di freschezza è stato fatto un aggiornamento, puramente cosmetico nel 2004), vanta 1154 pagine per la sola parte core: viene da chiedersi se qualcuno le ha mai lette, compreso chi le ha scritte.

Il lungo e ponderoso articolo della ACM riassume l'intera ascesa e caduta di CORBA, dal primo tonfo con la versione 1.0, per la quale qualche ignoto genio partorì che dovesse avere il solo mapping in C, alla versione 2.0 del 1997, in cui fu introdotto il mapping in C++, mentre l'anno dopo arrivò quello per Java. Fu il periodo del trionfo di CORBA: il neonato dell'OMG cavalcava la tigre di quella che era la Sun negli anni Novanta, gli anni in cui il successo si misurava dalla presenza sul Web, se volevi andare sul Web ci dovevi andare con Java, e tutti chiudevano un occhio sulle magagne.

Al tempo stesso però CORBA non abbracciò proprio lo sviluppo per il Web: tutti scrivevano JSP ed EJB, e poi si ricordavano di CORBA quando occorreva implementare il middleware, a volte perché comunque c'era RMI e su Windows aveva fatto la sua comparsa DCOM, anche quello a dire il vero troppo complicato per essere usabile. Certo, all'inizio questo non fu immediatamente evidente, ma era stata una scelta suicida. Una scelta che doveva ancora esplodere in tutto il suo dramma, quando gli sviluppatori scoprirono l'uovo di Colombo: i commerciali facevano vedere come far comparire un Hello World! su venti piattaforme contemporaneamente, ma scrivere qualsiasi applicazione non banale in CORBA è difficile, difficilissimo. Cito letteralmente dall'articolo ACM: "Molte delle API erano complesse, inconsistenti e completamente arcane, costringendo lo sviluppatore a tener conto di un mucchio di dettagli". CORBA è l'apoteosi della cultura veterouniversitaria: "E' migliore, perché è tanto difficile che lo comprendiamo solo noi".

Gli standardizzatori si resero conto che il giocattolino stava per essere messo in soffitta e cercarono di correre frettolosamente ai ripari, facendo partire i lavori nel 1996 per una CBOF (Common Business Object Facility). E qui fallirono, perché un elefante burocratico non è in grado di rispondere in maniera adeguata nemmeno all'imminenza della morte. Il mondo dell'informatica vera in quegli anni conosceva la fibra ottica, le community, il pervasive computing, ed intanto il gruppone di CORBA sfangava in interminabili discussioni di stampo politico (non lo dico io, lo dice ACM), finché non si trovò col coltello alla gola e nel 1999 dovette far uscire il CCM (CORBA Component Model). Fatica sprecata.

Anche qui è inutile commentare, basta tradurre letteralmente il parere di ACM, una delle associazioni più autorevoli al mondo: "La specifica era vasta e complessa, e la maggior parte non era mai stata implementata, nemmeno come proof of concept. La lettura del documento fa capire chiaramente che CCM era tecnicamente immatura; intere sezioni erano essenzialmente non implementabili o, qualora lo fossero, non garantivano la portabilità. Nessuno dei vendor di CORBA rilasciò un'implementazione commerciale di CCM, rendendolo un aborto. Ed anche se poi qualche implementazione è stata rilasciata, era troppo tardi. Il cavallo era già in fuga: altre tecnologie a componenti avevano messo piede nelle industrie, al punto che un'altra tecnologia a componenti non aveva alcuna possibilità di successo". Piuttosto impietoso, ma chi può contrastare le tesi di ACM?

Ancora, le implementazioni commerciali di CORBA costano tipicamente molte migliaia di dollari per lo sviluppatore, più le licenze di runtime per ogni copia installata di un'applicazione. Per molti potenziali clienti, CORBA era semplicemente troppo costoso. La curva di apprendimento era troppo ripida e la piattaforma era troppo complessa, difficile da usare correttamente, il che porta a lunghi tempi di sviluppo ed alte percentuali di difetti. Le prime implementazioni erano piene di bug, e mancavano di documentazione. E le aziende avevano difficoltà a trovare programmatori esperti di CORBA. CORBA contribuì, così, ai tragici fallimenti dei progetti software degli anni Novanta.

Un'altra palata di terra sulla bara di CORBA è stata sicuramente l'ascesa di XML: nonostante le sue pecche tecniche (come la lentezza del parsing), dopo la standardizzazione di SOAP, cominciata da Microsoft e DevelopMentor, tutte le aziende hanno abbandonato la nave che affondava, e CORBA è diventato una cattedrale nel deserto. Sarebbe morto lo stesso, se anche nel 2002 lo scoppio della bolla speculativa di Internet non avesse costretto molte società a ridimensionare i propri piani. La prima conseguenza fu la drastica riduzione del numero di prodotti CORBA commerciali, iniziata però molto prima del flop. Non potendo più giocare con i numeretti in Borsa, le aziende cominciarono a chiedere perché dovessero pagare migliaia di dollari a licenza qualcosa che semplicemente non funzionava, e ciò che doveva finire, finì.

L'articolo prosegue elencando più in dettaglio le ragioni del fallimento: la complessità, le carenze in termini di sicurezza (!) e versioning, le debolezze architetturali, il mancato supporto per i linguaggi .NET, la farraginosità del processo di standardizzazione, ed è consigliabile leggere per intero le ragionate, limpide argomentazioni, ognuna delle quali suona come un colpo d'accetta sulla testa dell'ingombrante mostro. Ma il discorso sul grande silver bullet degli anni Novanta si chiude già nella prima pagina: "CORBA è in declino ed al giorno d'oggi non può essere definito in altro modo, se non come una tecnologia di nicchia".
Precedente: JPOX, un'implementazione free delle specifiche JDO
Successiva: Visual Basic 2005 e XML
Commenti:  Primi  «  Meno recenti  «  11 - 16 di 16
Intervento di Paolo De Nictolis a.k.a. natasha del 12-07-2006 ore 15:59, Tramutola (PZ)
Duca
Duca

(2068 interventi)
Iscritto il 23-05-2005
Citazione:
Il software ha un valore ridicolo (per la gente).

E secondo te perchè in Italia nessuno fa sviluppo, ma tutti fanno CONSULTING? ;)
Intervento di Diego De Zan a.k.a. simulacron del 13-07-2006 ore 08:56, Pinerolo (TO)
Conte
Conte

(603 interventi)
Iscritto il 13-07-2005
Citazione:
Citazione:
Il software ha un valore ridicolo (per la gente).

E secondo te perchè in Italia nessuno fa sviluppo, ma tutti fanno CONSULTING? ;)

Per un paio di motivi:
Non li pagano altrimenti ....
E' di moda tra le aziende (finita la consulenza te ne vai...)
Intervento di Diego De Zan a.k.a. simulacron del 13-07-2006 ore 09:09, Pinerolo (TO)
Conte
Conte

(603 interventi)
Iscritto il 13-07-2005
Citazione:
Citazione:
In Politecnico a Torino,Sono prigionieri della Microsoft

Ho avuto il piacere e l'onore di imparare i primi rudimenti della Sicurezza dal gruppo del Prof. Lioy, e sinceramente la tua frase mi suona falsa.....
.....omissis...... :)

Leggo solo ora.....Faccio presente che grandi sistemi centrali(nei sotterranei di Elettronica) erano VMS 10anni dopo che gli altri li avevano smessi.... Lioy e qualcun altro erano tra tra i pochi che combinassero qualcosa di sensato, Mezzalama,forse l'hai conosciuto, ora l'hanno pensionato alla presidenza del sistema informativo centrale (quello per gli studenti e gli impiegati).
La sicurezza.....dovrebbero avere dei canali di riserva,un sistema per le emergenze.....Quando c'e' un virus (nel windows 2003 server, quello del sistema informativo centrale di cui sopra) tutto si inchioda e non sai quando si riparte....quelli che hai conosciuto tu sono rari....Ogni tanto ho occasione di parlare con i gestori del sistema informativo....saccenti,arroganti e......lasciamo perdere,è meglio.....Ci sono eccezioni...ma...sono appunto tali....
Intervento di Diego De Zan a.k.a. simulacron del 13-07-2006 ore 09:12, Pinerolo (TO)
Conte
Conte

(603 interventi)
Iscritto il 13-07-2005
Citazione:
.......omissis......

Oggi se vuoi sviluppare un Web service e vuoi dire che lo sai fare, devi come minimo poter dire "Esperienza di tot anni in J2EE e Microsoft .NET".
In 2 prodotti, 4 anni di studio, almeno. :D

Ironia per ironia.....4anni di studio e richiesta di stipendio.....minima.....se mi è concesso l'eufemismo....
Intervento di mjordan del 13-07-2006 ore 19:35, Pescara (PE)
Plebeo
Plebeo

(5 interventi)
Iscritto il 12-05-2001
Citazione:
Citazione:
.......omissis......

Oggi se vuoi sviluppare un Web service e vuoi dire che lo sai fare, devi come minimo poter dire "Esperienza di tot anni in J2EE e Microsoft .NET".
In 2 prodotti, 4 anni di studio, almeno. :D

Ironia per ironia.....4anni di studio e richiesta di stipendio.....minima.....se mi è concesso l'eufemismo....

Non ho capito cosa vuoi intendere... :-)
Intervento di Diego De Zan a.k.a. simulacron del 18-07-2006 ore 09:10, Pinerolo (TO)
Conte
Conte

(603 interventi)
Iscritto il 13-07-2005
Citazione:
Citazione:
Citazione:
.......omissis......

Oggi se vuoi sviluppare un Web service e vuoi dire che lo sai fare, devi come minimo poter dire "Esperienza di tot anni in J2EE e Microsoft .NET".
In 2 prodotti, 4 anni di studio, almeno. :D

Ironia per ironia.....4anni di studio e richiesta di stipendio.....minima.....se mi è concesso l'eufemismo....

Non ho capito cosa vuoi intendere... :-)


Semplicissimo......Prova a mostrare competenza superiore ai tuoi datori di lavoro, prova a farti pagare di conseguenza e mi dirai qualcosa.....soprattutto sulla velocità con cui ti fanno finire in mezzo alla strada senza passare dalla porta e neppure dalla finestra....
Voglio sperare ed augurarti che dalle tue parti, sia diverso.....
Commenti:  Primi  «  Meno recenti  «  11 - 16 di 16
Copyright Programmazione.it™ 1999-2009. Alcuni diritti riservati. Testata giornalistica iscritta col n. 569 presso il Tribunale di Milano in data 14/10/2002. Pagina generata in 0.761 secondi. Sito ottimizzato per Mozilla Firefox. Powered by Kyron.