Über dieses Buch
Stellen Sie sich dieses Buch wie ein Seminar vor. Dieses Kapitel ist dann Ihre Begrüßung und der erste Überblick. Sie haben Ihren Mantel abgelegt, an Ihrem Sitzplatz den üblichen Schreibblock vorgefunden und möchten nun wissen, welche Themen Sie erwarten und wo es in der Pause Kaffee gibt. Nun, Getränke kann ich Ihnen nicht anbieten, aber schauen Sie bitte im Downloadbereich unter www.rheinwerk-verlag.de/4243 nach den Materialien zum Buch. Und jetzt zu Ihnen, und zu den Themen:
Dies ist ein Praxisbuch zu den Java EE-Technologien. Die Java EE-Spezifikation definiert alle Technologien und Dienste, die im Java EE-Standard enthalten sind. Für Sie als Java-Entwickler ist es wichtig zu wissen, welche dieser Technologien als Programmierschnittstelle für Ihre Geschäftsanwendung benötigt werden und welche davon die wertvollsten sind. Dieser Priorisierung habe ich im Buch Rechnung getragen. Um die richtigen Java EE-Technologien für Sie auszuwählen, habe ich Statistiken der verbreitetsten Stellenportale zugrunde gelegt und genau diejenigen Java EE-Technologien beschrieben, die Ihnen mit größter Wahrscheinlichkeit in der Praxis begegnen werden. Darüber hinaus gehe ich auf das »Drum und Dran« eines Java EE-Projekts ein. Beispielsweise erfahren Sie, wie Sie eine Java EE-Anwendung mit AMDD/XP entwerfen und mit Scrum planen.
Damit Sie die Übungen ausnahmslos nachvollziehen können, zeige ich Ihnen auch, wie Sie einen Java EE Server, eine relationale Datenbank und Ihre Entwicklungsumgebung einrichten und konfigurieren können. Denn all das werden Sie ebenso benötigen, wenn Sie als Mitarbeiter eines professionellen Java EE-Projekts eingesetzt werden.
Mein Ziel ist es, Sie hierbei an die Hand zu nehmen, Ihnen jeden einzelnen Schritt genau zu erklären und zu allen Techniken hilfreiche Beispiele und praktische Übungen anzubieten. Ich habe Wert darauf gelegt, dass Sie Schritt für Schritt Kenntnisse erlangen, die bausteinartig aufeinandergesetzt werden können. Gleichzeitig habe ich die Technologien so sortiert, dass sich die didaktisch sinnvollste Reihenfolge ergibt.
Fühlen Sie sich angesprochen? Dann sind Sie hier richtig, denn wir (die Fachlektoren, die Korrekturleser, die Sachverständigen und ich) sind davon überzeugt, dass Ihnen dieses Buch in Ihrem Arbeitsumfeld nützlich sein wird.
Die Kapitel dieses Buches
In Kapitel 1 lege ich zu Beginn den Fokus auf den Java EE-Standard und die Java EE-Spezifikation. Ich erläutere, wofür die Java EE-Technologien erfunden wurden. Dieser Einstieg ist für Java EE-Neulinge wichtig, da sie hierdurch den Zweck des Java EE-Standards erfahren. Danach befassen wir uns mit den Java EE-Anwendungsszenarios und der Softwarearchitektur von Java EE-Anwendungen. Zuletzt gebe ich Ihnen einen Rundumblick über die Java EE 8-Technologien.
In Kapitel 2 richten Sie Ihre Entwicklungsumgebung ein. Hierbei installieren Sie Ihren eigenen Java EE Server und die Entwicklungsumgebung Eclipse. Danach programmieren Sie auch eine kleine Java EE-»Hallo Welt«-Anwendung, denn durch das aktive Programmieren wird die erste Lernhürde optimal überwunden. Keine Sorge: Hierbei werden Sie auf einfache Kenntnisse zurückgreifen. Außerdem erklären wir die einzelnen Schritte genau.
In jedem wenn auch noch so kleinen Projekt beginnt man mit der Planung und dem Entwurf. Genau das ist das Kernthema von Kapitel 3. Hier erfahren Sie, wie Sie Java EE-Projekte im professionellen Umfeld planen und wie Sie eine Java EE-Anwendung von Grund auf designen. Die Techniken hierzu nennen sich Scrum und AMDD/XP. Während dieser konzeptionellen Arbeit entstehen auf dem Whiteboard (oder auf dem Papier) sogenannte User-Storys, die Sie für die Erstellung von UI-Prototypen nutzen werden. Die UI-Prototypen werden mit HTML5 und CSS3 angefertigt und in Eclipse ausgeführt. Wir zeigen auch das sogenannte HTTP-Monitoring, mit dem Sie eine detaillierte Auskunft über die Kommunikation zwischen Client und Server erhalten.
In Kapitel 4 veranschaulichen wir die grundlegende Low-Level-Programmierung mit Servlets.
Kapitel 5 erklärt, wie Sie für die Präsentation der Geschäftsdaten JSPs programmieren.
In Kapitel 6 installieren Sie die Oracle Database als relationale Datenbank und erzeugen in ihr die Datenbanktabellen für die Beispielanwendung des Buches. Hierbei werden Sie ANSI SQL-92 einsetzen.
In Kapitel 7 greifen Sie mit der Low-Level-Technologie JDBC auf die Datenbanktabellen zu.
In Kapitel 8 entfallen manuelle Kodierungen von eigenen JDBC-Anweisungen. Stattdessen werden die Geschäftsdaten als einfache Java-Klassen entworfen. Das Persistieren erfolgt hierdurch komfortabel über einen Automatismus des JPA-Frameworks.
Kapitel 9 zeigt, wie Sie die Java EE-Anwendung, die im Buch bislang mit den althergebrachten Servlets und JSPs realisiert wurde, nun mit der High-Level-Technologie Java Server Faces programmieren. Besonders Eilige können die Servlet- und JSP-Programmierung überspringen und sich direkt in diesen Teil des Buches stürzen. Bedenken Sie aber, dass gute Kenntnisse in der Low-Level-Programmierung eine Voraussetzung dafür darstellen, die High-Level-Frameworks von Grund auf zu verstehen.
In Kapitel 10 werden Sie Enterprise JavaBeans kennenlernen. Dabei wird die Programmierung von Session Beans und Message Driven Beans mit der Technologie Java Message Service erklärt.
Kapitel 11 behandelt die WebServices-Technologien JAX-WS und JAX-RS sowie JSON-P und JSON-B, die das Einlesen und Erzeugen von JSON vereinfachen.
Was setzt dieses Buch voraus?
Java EE 8- und Java-OpenSource-Technologien setzen fundierte Kenntnisse der Java Standard Edition 8 (Java SE 8) voraus. Dieses Buch geht selbstverständlich nur in sehr begrenztem Umfang auf die Java-SE-Themen ein. Ich gehe davon aus, dass Ihnen die objektorientierte Programmierung mit Java SE keine Probleme bereitet. Aus der Sicht des Java EE-Entwicklers werden die Technologien der Java SE gewissermaßen als Untermenge des Java EE-Standards betrachtet.
Das Betriebssystem
Ob Sie ein Unix-basiertes Betriebssystem (wie Linux, Solaris oder macOS) oder ein Microsoft-Betriebssystem (Windows) einsetzen, spielt eigentlich keine Rolle. Es ist nur wichtig, dass Sie sich mit Ihrem Betriebssystem auskennen. Für den Java EE-Entwickler sind Linux und Solaris von besonderer Bedeutung, da sie in der Produktion meistens die Zielplattform für den Java EE Server darstellen. Dies betrifft aber nicht den Arbeitsplatz des Entwicklers in den Unternehmen. Erstaunlicherweise werden Java EE-Entwickler fast immer an einen Microsoft-Windows-Rechner gesetzt. Dies liegt meistens an dem geringeren Aufwand für das Netzwerk- und Rechner-Pflegepersonal: Microsoft Windows ist pauschal gesagt »einfacher gestrickt«. In der Praxis sieht es dann so aus, dass der Java EE-Component-Developer, der seine Aufgabe auf einem Microsoft-Windows-Betriebssystem vollbracht hat, seinen Quelltext in ein Versionierungs-Repository über Subversion oder Git eincheckt, sodass sich auch der Java EE-Deployer daran erfreuen kann. Der Deployer checkt den Quelltext des Java-Developers auf einem Linux-Betriebssystem aus, kompiliert ihn und installiert die Java EE-Anwendung auf einem Server, der häufig entweder auf einem Linux- oder einem Unix-Betriebssystem basiert.
Weil der Java EE-Component-Developer aber meistens lediglich mit dem Betriebssystem Microsoft Windows in Berührung kommt, reichen diese Kenntnisse häufig aus. Andererseits werden immer häufiger virtuelle Maschinen auf den Windows-Rechnern genutzt, auf denen ein Linux-Derivat wie Ubuntu oder Mint betrieben wird. Deshalb werde ich die Beispiele aus dem Buch auch unter Linux testen, sodass die Screenshots und die Erläuterungen in manchen Fällen diese Variante zeigen. Achten Sie als Unix-Nutzer auf die Dateipfad-Unterschiede zwischen Unix- und Windows-Betriebssystemen. Als Unix-Nutzer werden Sie u. a. das C: entfernen und den Backslash durch einen Slash ersetzen. Auf einem Unix-System (also Linux, Solaris oder macOS) sollten Sie ferner darauf achten, dass Sie über ausreichende Benutzerrechte verfügen, um die in diesem Buch beschriebenen Vorgänge durchführen zu dürfen.
Java Development Kit
Als Java Development Kit setzt Java EE 8 das JDK 8 ab dem Update 144 voraus. Java SE 9 wird nicht unterstützt. Dabei sollten Sie auch die Umgebungsvariablen JAVA_HOME und PATH angepasst haben. Die Umgebungsvariablen werden Sie in diesem Buch an der Schreibweise [GROSSBUCHSTABEN_IN_ECKIGEN_KLAMMERN] erkennen. Wenn zum Beispiel im Buch [JAVA_HOME]/bin steht, ist somit der Dateipfad (das Installationsverzeichnis von Java) und darunter das Unterverzeichnis /bin gemeint.
Der Java EE Server
Während...