Het afgelopen decennium is Java uitgegroeid van een programmeertaal naar JEE (voorheen J2EE), een complete architecturele oplossing. Java EE kent vele aspecten en wij zijn er trots op om veruit de meeste onder de knie te hebben.
Met behulp van de Java Enterprise Edition wordt het ontwikkelen van grote schaalbare robuuste systemen een stuk eenvoudiger. Dit heeft twee belangrijke redenen:
- Functionaliteit wordt gerealiseerd in modulaire componenten.
- Een heel scala aan standaard diensten (zoals beveiliging, transacties en resources) wordt door de Application Server aangeboden aan deze componenten om hun implementatie eenvoudiger te maken.
Ondanks de het gebruik hiervan blijft JEE (voorheen J2EE) complexe materie, al was het enkel maar door de hoeveelheid verschillende diensten en implementaties. Gelukkig hebben de specialisten van 42 al jaren ervaring met Enterprise Java en Applicatie Servers van verschillende leveranciers.
Hieronder staan slechts een paar van de aspecten van J2EE/Java EE waarmee 42 in het verleden ervaring mee heeft opgedaan:
Java Server Pages (JSP), Java Server Faces (JSF) en Servlets
Java Server Pages (JSP) zijn verantwoordelijk voor het visuele aspect van de applicatie, terwijl een Servlet de interactie logica en de koppeling met de middle-tier bevat (typisch: EJBs of anders de Database). Java Server Faces (JSF) biedt de mogelijkheid om Web pagina’s samen te stellen uit componenten en kan beschouwd worden als de opvolging van JSP. JSF is een compleet MVC framework met een uitgebreide life cycle beheer en state manegement geïnspireerd door Struts, Tapestry en zelfs Swing. De default view handler JSP is echter niet erg gelukkig. Gelukkig is JSF flexibel en kunnen onderdelen uitgebreid en vervangen worden. Zo is Facelets een alternatief voor JSP als view handler. Facelets bestaat uit Tapestry-achtige XHTML views en staat hergebruik van layout toe.
Struts
Een open source framework voor het bouwen van J2EE Web applicaties. Struts vereenvoudigt de standaard Servlet/JSP architectuur.
Tapestry
Ook een open source framework welke de Servlet/JSP architectuur weg abstraheert en de developer alleen nog maar met componenten laat werken, net zoals in standaard user interface development. Zowel het gebruiken als het bouwen van Tapestry componenten is extreem eenvoudig en moedigt aan tot hergebruik en een modulaire opbouw van de interface laag. Daarmee worden de kosten van bouw en onderhoud omlaag gebracht.
Enterprise Java Beans (EJB)
Enterprise Java Beans is een componenten architectuur die het mogelijk maakt om snel gedistribueerde, beveiligde en transactionele applicaties te bouwen. De EJB laag in een J2EE project omvat de zogenaamde business logica, terwijl de JSP en Servlet laag zich bezig houden met presentatie en interactie logica. De EJBs ‘draaien’ in een zogenaamde EJB container dat de EJBs een context geeft voor zaken als beveiliging, transacties en database resources. EJBs zijn er in de smaken session (stateless en statefull), entity persistent (container (CMP) en bean managed (BMP)) en message-driven (MDB).
Java Message Service (JMS)
Is een gestandaardiseerde manier voor het uitwisselen van berichten tussen applicatie componenten. Het verzorgt gedistribueerde communicatie die betrouwbaar, asynchroon en los gekoppeld is. JMS wordt veelal gebruikt in combinatie met MDBs.
Java EE
Vanaf het tweede kwartaal van 2006 is de langverwachte specificatie Java EE 5 als opvolger van J2EE 1.4 afgerond. Het grote verschil met de voorgangers is dat alles sterk vereenvoudigd is. Het is niet langer noodzakelijk componenten uitputtend met deployment descriptors te configureren. De last ligt nu bij de Application Server Container en niet bij de ontwikkelaars: ‘Configuration by exception’. Verder hebben Java Annotaties hun intrede gedaan om de componenten te specificeren. Dit gebeurd met veel minder classes, interfaces en deployment descriptor dan voorheen noodzakelijk was.
