Ora che è giunto il momento di festeggiare l'ultimo ventennio di Java Enterprise, è importante ripercorrere la storia di questa piattaforma per capirne meglio le origini e come siamo arrivati ad oggi.

Java Enterprise ha mosso i primi passi in una fase cruciale nell'evoluzione degli ambienti di elaborazione enterprise. Il lancio della piattaforma Java 2, Enterprise Edition (J2EE) 1.2 nel dicembre del 1999 ha rappresentato non solo la nascita di Java Enterprise, ma anche una svolta epocale nel modo in cui le aziende consideravano il web.

Circa cinque anni prima, nel maggio del 1995, il linguaggio di programmazione Java era stato presentato al pubblico. In origine, questo linguaggio era stato sviluppato per superare gli ostacoli che un team di innovazione segreto di Sun Microsystems stava incontrando nella creazione di Star7: un controller portatile per l'home entertainment. Dopo aver registrato uno scarso interesse da parte dell'industria televisiva, il team ha puntato su Internet.

I browser stavano rendendo il web più accessibile per gli utenti, così quando Sun annunciò per la prima volta l'arrivo del linguaggio Java ci fu un importante appoggio da parte di Netscape. All'epoca si trattava di uno dei leader del nascente mercato dei browser web e nel 1995 quest'azienda confermò che il suo omonimo browser avrebbe incluso il supporto per Java.

Quando abbiamo parlato di questa evoluzione in un'intervista con Red Hat, John R. Rymer, Vice President e Principal Analyst di Forrester Research, Inc. ha dichiarato, "La scelta di Netscape di appoggiare il linguaggio Java ha cambiato tutto.” Di fatto si trattava della spinta di cui il linguaggio aveva bisogno per ritagliarsi la sua posizione nel mondo dello sviluppo applicativo. “È stato l'inizio di un successo inarrestabile.” ha aggiunto Rymer.

Il salto di qualità

Nel 1999 Java aveva ormai maturato un certo consenso tra gli sviluppatori di applicazioni e Sun ha intravisto l'opportunità di estendere l'uso di questo linguaggio ai tradizionali carichi di lavoro Enterprise. Con il lancio di J2EE e dei server applicativi, un'altra tecnologia in grande crescita, le aziende ora disponevano di una piattaforma ideata per rispondere alle loro esigenze con funzionalità pensate per aspetti come la sicurezza, la scalabilità e l'affidabilità.

Quello stesso anno partì un nuovo progetto, chiamato Enterprise Java Bean Open Source Software (EJB-OSS), che implementava l'interfaccia di programmazione delle applicazioni EJB in J2EE. Il nome fu quindi abbreviato in JBoss e da quel progetto nacque un'azienda con lo stesso nome che puntava tutto sullo sviluppo di un server applicativo open source.

Con il lancio di J2EE 1.3 nel 2001 si concretizzò la vision di Java: un linguaggio unico per qualsiasi ambiente. Questo rese possibile la portabilità tra i vari server applicativi Java sul mercato, che ormai includevano una serie di offerte sia proprietarie che open source. “All'epoca discutemmo parecchio con i clienti sul fatto di trasferire il loro codice Java da un server applicativo all'altro”, spiega Rymer. Nel tentativo di ottimizzare le proprie architetture, le aziende continuavano a passare tra i diversi server applicativi in concorrenza tra loro. “[J2EE] 1.3 era una soluzione davvero efficace. Il livello di portabilità era molto alto e questo aspetto era molto apprezzato. Si è dimostrata molto utile.”

Dopo la versione 1.3 di J2EE, la piattaforma non è stata interessata da grandi cambiamenti fino al 2006 quando Sun ne cambiò il nome in Java Enterprise Edition (EE) e lanciò Java EE 5. Quello stesso anno, Red Hat acquisì JBoss.

“A quell'epoca, la piattaforma Java Enterprise era ideata per lo più da un gruppo di esperti che cercavano di anticipare le future esigenze dello sviluppo Enterprise” ricorda Andrew Binstock, un analista di mercato di grande esperienza e attuale editore di Java Magazine. Al di là del nuovo nome, Binstock notò un importante cambiamento che si stava delineando a livello tecnologico. “Solo alcuni anni dopo, con Java EE 5 e EE 6, sono riusciti a rendere i modelli più lineari”, avendo notato che gli utenti trovavano modi per aggirare le difficoltà. “Invece che implementare l'intero stack Java EE, le aziende più piccole potevano usare un container di dimensioni inferiori, selezionare una serie di servizi in Java EE e usarli come modello per il futuro.”

Java e l'open source

Sebbene il codice sorgente del linguaggio Java fosse già disponibile, lo divenne formalmente solo verso la fine del 2006 quando Sun rese disponibili le proprie tecnologie Java core nell'ambito della licenza GNU GPLv2 (General Public License 2.0). Questa scelta fu considerata da molti come un passaggio importante nell'evoluzione del linguaggio Java verso un futuro più collaborativo e incentrato sulla community.

Stephen O'Grady, co-fondatore e principale analista di RedMonk, considera la release di Java come software open source uno dei momenti più cruciali della sua storia. “È stato un processo complesso e spesso contestato, ma alla fine ha permesso a Java di aprirsi e ha dato a questa tecnologia una nuova vita. È diventata una piattaforma dove le aziende, che altrimenti sarebbero state in conflitto tra di loro, potevano lavorare insieme su una piattaforma che avrebbero poi usato come base per competere nel mercato.”

Poco dopo Sun fu acquisita da Oracle e per un po' di anni non ci furono grandi novità per Java EE. In questa fase, la cadenza delle release della piattaforma Java Enterprise rallentò. Il lancio di Java EE 6 risale al 2009, e il rilascio di Java EE 7 giunse solo dopo quattro anni, nel 2013. La storia sembrava ripetersi in modo simile, quando Java EE 8 fece la sua comparsa nel 2016.

In questo periodo si registra un nuovo trend: l'IT Enterprise inizia a puntare su approcci alle applicazioni più snelli e modulari. Si trattò di un notevole cambiamento rispetto alle tradizionali applicazioni monolitiche per cui Java EE aveva rappresentato per molto tempo un elemento chiave. Le organizzazioni iniziavano a preferire le architetture di applicazioni come i microservizi, pertanto Java EE doveva evolversi.

Per rispondere a questa esigenza, i membri della community di Java Enterprise si sono riuniti nel 2016 presentando il progetto MicroProfile, ora parte di Eclipse Foundation, con l'obiettivo di ottimizzare Java Enterprise per l'architettura basata sui microservizi. In questo Binstock vede un'analogia con quelle aziende di dimensioni più piccole che anni prima apprezzavano il fatto di poter implementare una selezione dei servizi di Java EE anziché l'intero stack. “Oggi nel progetto MicroProfile si nota quello stesso orientamento verso il 'più piccolo' e il 'più snello'. Come rendere cloud native le tecnologie [Java] EE e ridurne le dimensioni per raggrupparle in microservizi. Fu questa l'evoluzione: da una soluzione omnicomprensiva a una più leggera e perfezionata nei dettagli, per rispondere alle esigenze delle aziende e degli sviluppatori di software.”

Nel 2017, Oracle ha annunciato che Java EE sarebbe stata donata a Eclipse Foundation perché qui la piattaforma avrebbe potuto allinearsi maggiormente al lavoro in corso su MicroProfile innovandosi più velocemente e in modo più collaborativo.

Da quando gravita nell'orbita dell'Eclipse Foundation, la piattaforma ha cambiato nome in Jakarta EE nel 2018 e oggi dispone di una community dinamica che continua a guardare verso il futuro.

Non perderti i prossimi contenuti che pubblicheremo questa settimana sul blog di Red Hat mentre continuiamo a ripercorrere gli ultimi vent'anni di Java Enterprise e a scoprire cosa ha in serbo per noi il futuro.

Nota del redattore: le dichiarazioni contenute in questo articolo sono state rilasciate dai soggetti che hanno offerto il proprio contributo e potrebbero non riflettere le opinioni dei rispettivi datori di lavoro.


About the author

Red Hat is the world’s leading provider of enterprise open source software solutions, using a community-powered approach to deliver reliable and high-performing Linux, hybrid cloud, container, and Kubernetes technologies.

Read full bio