Wat is Java EE en hoe verschilt het van Java?
Java SE vs Java EE
Gaat het gesprek bij de waterkoeler over Java, dan gaat het eigenlijk altijd gewoon over, nou ja, Java. Maar wist je dat Java meerdere smaken kent?
• Java SE, de Standard Edition, is de Java Core ervaring. De basis waarop de rest verder bouwt. Wil je precies zijn, dan is Java SE de editie waar de term Java naar verwijst;
• Java EE, de Enterprise Edition, een laag die bovenop Java SE ligt en die functionaliteiten biedt die met name aansluiten op de vereisten van de zakelijke markt;
• Java ME, de Micro Edition, voor IoT en embedded development.
In deze blog laten we Java ME even voor wat het is, maar kijken we specifiek naar de verschillen tussen Java SE en Java EE. Wat zijn de verschillen, waarin uit dat zich en hoe weet je dat je Java EE nodig hebt voor het project waar jij aan werkt? Aan het einde van deze blog weet jij het.
Jakarta EE (stukje geschiedenis/verandering naam/gevolgen)
Laten we eerst even een stukje de geschiedenis in duiken. Oorspronkelijk was er geen Java EE. De extensies die tegenwoordig hier binnen vallen waren onderdeel van de Java Core ervaring. In 1999 kwam daar verandering in. Met de komst van Java 2 werd Java uit elkaar getrokken. De Core richt zich op alle basis functionaliteiten, maar de API’s en libraries die zich specifiek op de zakelijke markt richten werden ondergebracht in een nieuwe laag die bovenop Java Core wordt gebruikt. Deze laag kreeg de naam J2EE, ook wel bekend als Java 2 Platform Enterprise Edition.
In 2006, met de release van Java 5, werd de naam nogmaals veranderd, toen naar Java EE of de Java Platform Enterprise Edition.
De grootste wijziging in naam kwam echter in 2017/2018. In 2017 besloot Oracle, eigenaar van het Java merk, om de rechten van Java EE weg te geven aan de Eclipse Foundation. Belangrijk hierbij is het om op te merken dat de taal zelf nog wel het eigendom is van Oracle.
Omdat de merknaam Java nu eenmaal aan Oracle toebehoort, moest de Eclipse Foundation op zoek naar een nieuwe naam. Om een lang verhaal kort te maken, de nieuwe naam is uiteindelijk Jakarta EE geworden. In de praktijk heeft bijna iedereen het echter nog steeds over Java EE. Ook in de rest van deze blog zal deze naam gebruikt worden, in plaats van Jakarta EE.
Libraries, layers en meer
In het bovenstaande deel werd al aangegeven dat Java EE een laag is die API’s en libraries bevat die zich specifiek op de zakelijke markt richten. Om wat voor functionaliteit gaat het dan precies?
Om te beginnen kan je denken aan alles met betrekking tot databases. Hiervoor zijn libraries zoals JPA en JDBC standaard beschikbaar in Java EE. JPA maakt het mogelijk om gebruik te maken van Object Relational Mapping (ORM) wat het gebruik van databases veel eenvoudiger kan maken.
JDBC daarentegen is een directere manier om databases te benaderen door middel van SQL queries. Beide hebben dus hun eigen belangrijke plaats waar het aankomt op het gebruik van databases in Java.
Voor alles met betrekking tot connectiviteit, lokaal of via het web, zijn er libraries aanwezig zoals Remote Method Invocation (RMI) en Web Services. Naast de libraries zijn er veel meer API’s beschikbaar in JavaEE dan in Java SE, zoals websocket, dependency injection, servlet, batch api, persistence en meer. Ook de API’s voor de Enterprise versies van servlets, JavaBeans en Java Server vind je terug in JavaEE.
Een ander belangrijk punt is de authenticatie van gebruikers; dit is niet standaard ingebouwd in Java SE, maar wel in Java EE.
Maar hoe zit het met die layers? Dit is één van de allerbelangrijkste voordelen van Java EE boven Java SE. Het is gebruikelijk dat binnen een Java EE applicatie de code is onderverdeeld in drie lagen.
Binnen de Client laag vind de interactie met de gebruiker plaats. De applicatie maakt binnen deze laag de verbinding met Java Server. Requests en responses worden hier verwerkt.
In de Web laag wordt de interactie tussen de Client en Business laag afgehandeld.
Dan is er tot slot de Business laag. Dit is waar de business logic en alle core functionaliteiten zich bevinden.
Door deze onderverdeling in lagen wordt een applicatie, mits juist geimplementeerd, overzichtelijker, veiliger en stabieler terwijl code eenvoudig herbruikbaar is.
Waarom kies je voor Java EE?
Java EE is gericht op de Enterprise markt. Het sleutelwoord is schaalbaarheid. Je bouwt applicaties die goed en hoog op te schalen zijn op een veilige manier.
Voor de gevorderde en expert ontwikkelaars is dit de variant met de meest uitgebreide mogelijkheden voor zowel desktop- als webapplicaties. Wanneer je tegenwoordig een applicatie gaat maken met Java, gebruik je eigenlijk altijd meer dan Java SE. Java EE is daar een goede en nog steeds veel gekozen optie voor.
Hulp nodig bij solliciteren? bekijk onze tips!
Download tipsMeer artikelen
Wat is Docker?
Docker is door de jaren heen uitgegroeid tot de belangrijkste standaard in container-technologie. Een nieuwe manier om software, vaak zelfgeschreven,
Wat is DevOps
Je hebt vast wel eens de term DevOps voorbij zien komen. Afgelopen jaren is DevOps steeds populairder geworden. Dit omdat
Wat is Mendix
Mendix staat ook wel bekend als de beste vriend van iedereen die zelf niet technisch is, maar wel graag apps