Java EE 7 Grundkurs

Architektur der Java EE

LinkedIn Learning kostenlos und unverbindlich testen!

Jetzt testen Alle Abonnements anzeigen
Die Architektur der Java Enterprise Edition besteht aus keiner monolithischen Umgebung, sondern aus verschiedenen miteinander interagierenden Technologien. Dieses Video beschreibt detailliert den Aufbau der Plattform.

Transkript

Wenn Sie sich das erste Mal mit der Java EE befassen, dann werden Sie erschlagen sein. Es gibt dutzende Komponenten, es gibt Dienste und es gibt verschiedene Profile. Grund genug für uns in diesem Video diese verschiedenen Aspekte der Java EE ein wenig näher zu beleuchten. Die Java EE selbst ist kein monolithisches Konstrukt, sondern sie besteht aus verschiedenen Services. Einige dieser Services sehen Sie auf dieser Folie. Java EE selber stellt allerdings noch einiges mehr an Services bereit. Die orange markierten Komponenten sind neue Dienste. Das heißt, die gab es in älteren Versionen in der Java EE noch nicht. Die anderen Dienste liegen unter Umständen in neuen Versionen vor. Seit der Java EE 6 gibt es zwei verschiedene Profile, in denen ein Java EE Application Server laufen kann. Zum einen das Web Profile und zum anderen das Full Profile. Das Full Profile ist letztlich ein komplettes Set an Diensten und Funktionalitäten, die ein Java EE Application Server überhaupt bereitstellen kann. Das Web Profile ist eine abgespeckte Version. Es gibt potenziell noch verschiedene andere Profiles, diese sind aber bis heute noch nicht spezifiziert. Grundsätzlich ist das Web Profile, wie bereits erwähnt, ein Subset des Full Profiles. Es ist gedacht für die typische Webapplikation. Das bedeutet, dass nicht alle Dienste, die ein Java EE Application Server anbietet, tatsächlich auch im Web Profile aktiviert sind. Trotzdem macht das Web Profile Frameworks wie Spring oder JBoss Seam zumindest teilweise überflüssig und stellt für viele Aspekte eine Standard-Implementierung bereit. Die Grundidee des Web Profiles ist es, dass nicht benötigte Services abgeschaltet sind. Das bedeutet, wir haben eine gesteigerte Performance und eine geringere Komplexität. Im Web Proflile sind dennoch eine ganze Menge Dienste und Komponenten aktiv. Zum einen gibt es Servlets. Dann sind die JavaServer Faces aktiv. CDI, Context and Dependency Injection, gibt es ebenso wie EJB Lite, einem Subset der großen EJB-Spezifikation. JTA, die Java Transaction API, JPA, die Java Persistance API, Beans Validation und diverse andere Frameworks und Dienste stehen uns hier zur Verfügung. Das bereits angesprochene EJB Lite ist ein Subset der großen EJB-Spezifikation. EJB steht für Enterprise JavaBeans. Es unterstützt die klassischen Enterprise JavaBeans, nämlich Stateful Session Beans und Stateless Session Beans. Ebenso werden Singleton Beans unterstützt. Natürlich bietet EJB Lite auch Transaktionen an und ist ein Framework, das einen großen Wert auf Sicherheit legt. Seit der aktuellen Java EE Version 7 gibt es einen sogenannten Embedded Container for Testing. Das bedeutet, Sie können theoretisch in einer normalen Java Client Applikation einen Java EE Application Server aufspannen und mit diesem arbeiten. Die Betonung liegt hier allerdings an der Stelle auf theoretisch und auf "for testing", für den produktiven Einsatz ist dies nicht gedacht. Wenn wir das Feature-Set von EJB Lite mit dem normalen Feature-Set von EJB vergleichen, dann sehen wir, dass es schon eine ganze Menge Funktionalitäten gibt, die im EJB Lite-Umfeld laufen. Zur Erklärung: EJB Lite läuft im Web-Container, nicht etwa im Application-Container. Und das bedeutet, dass jede Web-Applikation mit Statelass beans, Stateful beans, mit Message driven beans, mit Interzeptoren, mit Sicherheit, Transaktionen arbeiten kann. Für die Frontendschicht gibt es in der Java EE unterschiedliche Technologien. Zum einen gibt es JSF. JSF richtet sich speziell an Browser und Mobilgeräte. JSF steht dabei für Java Server Faces. Zum anderen gibt es leichtgewichtige APIs für mobile Applikationen, nämlich JAX-RS und JSON-P. JAX-RS steht für Restful Services, und JSON-P gibt uns eine Funktionaliät, mit der wir JSON-Dateien, beziehungsweise JSON-Skripte, verstehen, interpretieren und auswerten können. Neu: Web Socket Unterstützung. Die Web Socket Unterstützung ist allerdings im Moment noch eher als experimentell anzusehen, weniger auf Seite der Java EE, als vielmehr auf Seite der Browser. JAX-WS gibt uns Unterstützung für XML-WebServices, allerdings gibt es JAX-WS nur, wenn das Full Profile aktiviert ist. Servlets stehen natürlich ebenfalls zur Verfügung. Servlets sind letztlich die Grundlage für Technologien wie JSF, JAX-RS, JSON-P und Web Sockets. Es gibt das Beans Validation Framework. Mit dessen Hilfe können wir Komponenten und die darin enthaltenen Daten überprüfen. Auf der Geschäftslogikebene von Java EE gibt es ebenfalls verschiedene Technologien. CDI 1.1 steht für Context and Dependency Injection. Hier geht es darum, dass wir mit CDI eine Möglichkeit haben, Abhängigkeiten einer Komponente auf andere Komponenten automatisch zu verwalten und abzulösen. Es gibt EJB Lite und das normale EJB. Ebenfalls gibt es die Java Transaction API, JTA. Auch auf der Geschäftslogikschicht steht Beans Validation zur Verfügung. Darüber hinaus gibt es sogenannte Interzeptoren, mit deren Hilfe können wir in die Verarbeitung von Komponenten eingreifen. Und neu, seit der Java EE 7 gibt es die Concurrency Utilities. Hier geht es darum, dass die Java EE 7 das erste Mal auf Ebene von Enterprise-Applikationen Unterstützung für parallele Prozesse anbietet. Dies war in der Vergangenheit nicht der Fall, es war bestenfalls verpönt, so etwas zu tun. Ebenfalls gibt es sehr weitreichende Framework-Unterstützung auf Ebene der Datenbank. Da haben wir zum einen die JPA, die Java Persistance API. Dies ist das Standard O/R-Mapping-Framework im Java-Umfeld. Die JPA setzt ihrerseits auf konkrete Implementierungen, beispielsweise Hibernate oder EclipseLink auf. Als Service für die asynchrone Verarbeitung von Daten gibt es JMS. Auch hier gibt es eine neue Version, nämlich JMS 2. Die Java Connector Architecture, JCA, wird genutzt, um externe Dienste anzubinden. Und neu in der Java EE 7 ist das Batch-Framework. Sie merken schon, es gibt im Java EE-Umfeld eine ganze Menge an Technologien und es gibt eine ganze Menge an Technologien, die für verschiedene Applikationsschichten gedacht sind. Wenn wir das noch einmal Revue passieren lassen: Wir haben für die Frontendschicht die Technologien wie JSF, wie Servlets. Wir haben für die Geschäftslogikebene, EJBs und CDIs und wir haben für die Datenbank und Persitenzschicht Technologien wie JPA und JMS. Diese Technologien zu kombinieren und sinnvoll einzusetzen ist ihre Aufgabe als Java EE-Entwickler.

Java EE 7 Grundkurs

Lernen Sie die Grundlagen der Programmierung mit Java EE 7 verstehen und anwenden.

6 Std. 4 min (44 Videos)
Derzeit sind keine Feedbacks vorhanden...

Dieser Online-Kurs ist als Download und als Streaming-Video verfügbar. Die gute Nachricht: Sie müssen sich nicht entscheiden - sobald Sie das Training erwerben, erhalten Sie Zugang zu beiden Optionen!

Der Download ermöglicht Ihnen die Offline-Nutzung des Trainings und bietet die Vorteile einer benutzerfreundlichen Abspielumgebung. Wenn Sie an verschiedenen Computern arbeiten, oder nicht den ganzen Kurs auf einmal herunterladen möchten, loggen Sie sich auf dieser Seite ein, um alle Videos des Trainings als Streaming-Video anzusehen.

Wir hoffen, dass Sie viel Freude und Erfolg mit diesem Video-Training haben werden. Falls Sie irgendwelche Fragen haben, zögern Sie nicht uns zu kontaktieren!