Jakarta EE
In informatica Jakarta EE (conosciuta, prima della versione 8, col nome di Java EE; e prima della versione 5, col nome di Java 2 Enterprise Edition o J2EE) è un insieme di specifiche le cui implementazioni vengono principalmente sviluppate in linguaggio di programmazione Java e ampiamente utilizzata nella programmazione Web. Tale nome è un riferimento all'omonima capitale dell'Indonesia. CaratteristicheI software che implementano tale specifica vengono detti Referencing Runtimes Jakarta EE. L'implementazione può essere totale (in tal caso detta Full Platform) o limitata al Web Profile, ovvero il sottoinsieme delle specifiche che è stato pensato appositamente per le applicazioni web[1]. Inizialmente, la specifica incoraggiava la creazione di applicazioni che seguono una architettura multi-tier. Tale architettura aveva come scopo la separazione delle funzionalità relative alla visualizzazione delle pagine web da quelle per la gestione della logica di business e del salvataggio delle informazioni sulla base dati. Recentemente, con tecnologie come Eclipse MicroProfile, WildFly Swarm e Payara Micro, è possibile sviluppare anche microservizi. Ciò ha comportato anche un cambiamento del nome che viene dato alle implementazioni: prima si chiamavano application server, adesso referencing runtimes. Questo insieme di specifiche è stato creato inizialmente da Sun Microsystems, portato avanti da Oracle, e nella seconda metà del 2017 trasferito alla Eclipse Foundation, col nome di Eclipse Enterprise for Java.[2] Specifiche di Jakarta EEL'insieme di specifiche detto Jakarta EE include molte tecnologie che estendono le funzionalità di base della piattaforma Java. L'elenco che segue non riporta tutte le componenti, ma solo quelle di maggiore importanza. Le uniche componenti che richiedono strettamente l'uso di un referencing runtime sono quelle enterprise, cioè quelle che hanno bisogno, ad esempio, delle transazioni distribuite e delle code distribuite. Le componenti per il web e per la base dati possono essere usate anche all'interno di un semplice web server. Specifiche webLe componenti che rientrano in questa categoria sono quelle legate alla visualizzazione delle pagine web. Nel caso in cui si vogliano usare solo le componenti lato web, non è necessario ricorrere ad un complesso referencing runtime di tipo full profile, ma è sufficiente usare un referencing runtime Web Profile o un più snello Web Server.
Specifiche enterpriseIn questa categoria ci sono le componenti che sono specifiche di Jakarta EE. L'uso di queste componenti è richiesto solamente in applicativi di medie e grandi dimensioni.
Specifiche per i web serviceIn Jakarta EE è possibile realizzare sia web service di tipo REST, che di tipo SOAP. Le specifiche sono:
Specifiche per l'interazione con la base datiQuesta categoria contiene le tecnologie che permettono la persistenza dei dati all'interno di una base dati relazionale. Anche le componenti di questa categoria possono essere usate al di fuori di un referencing runtime.
Programmi baseAppletLa piattaforma Java fu uno dei primi sistemi a fornire un largo supporto per l'esecuzione del codice da sorgenti remote. Un Java applet è un particolare tipo di applicazione che può essere avviata all'interno del browser dell'utente eseguendo codice scaricato da un server web remoto. Questo codice viene eseguito in un'area (sandbox) altamente ristretta per proteggere l'utente da codice malevolo o che abbia un comportamento non desiderato; chi pubblica il codice può applicare un certificato che usa per firmare digitalmente gli applet dichiarandoli "sicuri", dando loro il permesso di uscire dall'area ristretta e accedere al filesystem e al network, presumibilmente con l'approvazione e sotto il controllo dell'utente. In realtà gli applet non hanno avuto molta fortuna. Infatti si presuppone che il client in cui essi vengono eseguiti abbia installata la JRE che deve eseguire il codice dell'applet. Hanno avuto fortuna le applicazioni che prevedono il cosiddetto thin-client, cioè un client 'leggero' che non ha bisogno di particolari strumenti per eseguire il codice remoto, a volte è necessario solo il browser. ServletIn informatica, nell'ambito della programmazione Web, i servlet sono oggetti scritti in linguaggio Java che operano all'interno di un server web (es. Tomcat, Jetty) oppure un server per applicazioni (es. WildFly, GlassFish) permettendo la creazione di applicazioni web[3] (elaborazione lato server). Il nome deriva in contrapposizione alle Java applet, piccoli programmi scritti in linguaggio Java che si eseguono all'interno del browser dell'utente client (elaborazione lato client). L'uso più frequente delle servlet è la generazione di pagine web dinamiche a seconda dei parametri di richiesta inviati dal client browser dell'utente al server. Negli ultimi anni non viene eseguita la programmazione diretta delle servlet, ma si preferisce usare dei framework web che implementano la specifica servlet, oppure delle JavaServer Pages che vengono poi tradotte (compilate) in servlet a runtime. Implementazioni certificateEsistono diversi referencing runtimes open source, che vengono spesso usati anche in ambiente di produzione. Tra quelli open source ci sono:
Tra quelli commerciali, oltre a quelli riportati sopra:
Microservizi ed Eclipse MicroProfileEclipse MicroProfile è un progetto per innovare le specifiche di Jakarta EE e renderle più adatte per un'architettura a microservizi.[4] L'idea è quella di eseguire solo le componenti di Jakarta EE che sono strettamente necessarie per l'applicativo che si sta sviluppando. Tra le implementazioni disponibili, troviamo: CriticheNel dicembre 2016 Gartner, in un rapporto ha dichiarato che le iniziative imprenditoriali informatiche hanno bisogno di nuove caratteristiche e funzionalità e che Java EE non è riuscita a tenere l'andatura.[10] Nel rapporto si consigliava di sviluppare una strategia per gestire l'obsolescenza di Java EE. Si aspettano che per il 2019, meno del 35% degli applicativi aziendali sarà fatto funzionare all'interno di application server Java EE. A tale critica è stato risposto che Java EE continua ad evolvere e sviluppare funzionalità che la rendono più snella, mediante tecnologie come MicroProfile, WildFly Swarm e Payara Micro.[11] AlternativeDiversi altri software forniscono funzionalità simili, tra i quali:
Note
Bibliografia
Voci correlateAltri progetti
Collegamenti esterni
|