Java Enterprise Edition (JEE)
Willemers Informatik-Ecke
Die Java Enterprise Edition JEE wird zur Programmierung unternehmensweiter Software eingesetzt, die sich gegenüber der normalen Java-Entwicklung vor allem darin unterscheidet, dass Sie auf einer Client-Server-Architektur basiert.

Prinzipiell lassen sich auch mit der Java Standard Edition JSE verteilte Software schreiben. Dazu gibt es die normalen Socket-Bibliotheken oder RMI. Im Unterschied dazu setzt die Java Enterprise Edition Application Server ein, die als Runtime-Environment für die Java-Programme dienen.

Application-Server

Application Server erfüllen mehrere Ansprüche: Es gibt verschiedene Application Server. Die bekanntesten sind:

Build und Deploy

Nach seiner Entwicklung wird die Anwendung in ein Paket gepackt. Dies kann ein EAR oder WAR sein und wird dann auf den Applikationsserver gestellt. Diesen Vorgang bezeichnet man als Deploy.

Servlets

Mit Servlets können HTTP-Anfragen entgegengenommen und beantwortet werden. Ein Servlet reagiert separat auf GET-, POST und andere HTTP-Aufrufe und kann diese dynamisch beantworten, indem er HTML-Code auf den Ausgabekanal sendet. Als Client kann so ein Browser dienen.

Java Server Pages

Bei Java Server Pages (JSP) handelt es sich um HTML-Dateien, in die Java-Code eingebettet wird. Dies erinnert ein wenig an PHP. Der Application Server übersetzt die Java Server Pages in Servlets. Java Server Page-Dateien enden auf .jsp.

Java Server Pages werden vor allem eingesetzt, wenn der Client ein Browser ist. Da HTML verwendet wird, kann in gewohnter Weise CSS und JavaScript eingesetzt werden.

Java Server Faces

Java Server Faces (JSF) stellen ebenfalls eine View für einen Browser dar. Hier wird der Java-Source nicht in HTML eingebettet. Stattdessen gibt es zu jeder JSF-Seite eine Backing Bean, die den Java-Code zur Verfügung stellt und auf den JSF zugreift.

SOAP

Das Protokoll SOAP verknüpft die Möglichkeiten von HTTP und XML zu einer Realisierung eines Remote Procedure Calls. Auf der Basis von XML wird in einer WSDL-Datei die Schnittstelle der entfernten Prozedur definiert, die ihre Parameter als XML-kodierte Daten austauscht.

REST

REST steht für Representational State Transfer. Ein REST-Server stellt eine Ressource zur Verfügung, die durch ihre URI identifiziert wird. Eine solche Ressource wird durch die HTTP-Kommandos GET (lesen), PUT (ändern), POST (hinzufügen), DELETE (löschen) verwaltet. Da lediglich die URI und das Kommando benötigt wird, ist ein Client recht einfach in fast jeder Programmiersprache oder Umgebung zu erzeugen.

JPA - Java Persistence API

Die Java Persistence API (JPA) ermöglicht eine vereinfachte Behandlung der Datenbankzugriffe. Datenbanktabellen werden auf Objekte abgebildet (ORM: Object Relation Modell). Diese Objekte werden durch den Entity Manager der JPA in die Datenbank geschrieben oder daraus gelesen.

JEE-Literatur

Salvanos: Professionell entwickeln mit Java EE 7

Marcus Schießer, Martin Schmollinger: Workshop Java EE 7

Etwas abstrakter: Dirk Weil: Java EE 7: Enterprise-Anwendungsentwicklung leicht gemacht

Das Buch enthält über 100 Seiten über JEE: Arnold Willemer: Java Alles-in-einem-Band für Dummies

Nicht JEE, sondern grundlegendes Java für Java-Anfänger: Arnold Willemer: Java