Am 14. September 2017 haben wir eine überarbeitete Fassung unserer Datenschutzrichtlinie veröffentlicht. Wenn Sie video2brain.com weiterhin nutzen, erklären Sie sich mit diesem überarbeiteten Dokument einverstanden. Bitte lesen Sie es deshalb sorgfältig durch.

Java EE 7 Grundkurs

Technologien der Java EE

LinkedIn Learning kostenlos und unverbindlich testen!

Jetzt testen Alle Abonnements anzeigen
Die unterschiedlichen Technologien der Java Enterprise Edition unterscheiden sich inhaltlich voneinander. Der Trainer erläutert in diesem Video die wichtigsten Technologien der Spezifikation.

Transkript

Kennen Sie alle Technologien der Java-EE? Wenn Sie diese Frage einem gestandenen Java-EE-Entwickler stellen, wird dieser wahrscheinlich erst einmal im Brustton der tiefsten Überzeugung mit "Ja" antworten, und dann ziemlich sicher zögerlich zugeben, "Nein," auch er kennt nicht alle Technologien. Das ist kein Wunder, denn in der Java-EE sind Dutzende bis Hunderte von verschiedenen Technologien vereint. Grund genug für uns, uns mit den wichtigsten Technologien in diesem Umfeld auseinander zu setzen. Fangen wir an mit der wohl bekanntesten Technologie: Den Enterprise Java Beans, auch gerne "EJB" abgekürzt. Enterprise Java Beans sind Java-Klassen. Diese werden im EJB-Container veröffentlicht. Alternativ können Sie, seit Java-EE 6 auch im Web-Container, im Kontext von EJB Light veröffentlicht werden. Enterprise-Java-Beans sind dabei entweder Session-Beans oder Message-Driven-Beans. Und sie sind ganz üblicherweise Bestandteil der Geschäftslogik einer Applikation. Die Java-Servlet-Technologie, die ebenfalls sehr bekannt ist, ist eine Technologie, die die Basis für die Verarbeitung auf der Webebene darstellt. Sie können heutzutage selber Servlets schreiben, müssen das meistens jedoch nicht machen, denn es gibt diverse Frameworks, die intern Servlets benutzen, um Ihnen mehr Komfort als Servlets zu bieten. Eines dieser Frameworks sind die JavaServer-Faces. Auch dies ist eine standardisierte Technologie. Und die JavaServer-Faces-Technologie verwendet UI-Komponenten, d.h. wiederverwendbare Java-Klassen, die Sie manipulieren und die mit Ihrer Applikation interagieren. Aufgabe der JavaServer-Faces ist es, HTML für die Anzeige im Browser zu generieren. Die gleiche Aufgabe haben auch die JavaServer-Pages und die dazugehörige JSTL, die Standard Tag-Library. Sie soll nämlich dynamische Inhalte für Browser bereitstellen. Die JavaServer-Pages-Technologie, über die Sie immer noch eine Menge Informationen im Netz finden, ist mittlerweile hoffnungslos veraltet. Sie ist im Kontext der Java-EE nur noch aus Kompatibilitätsgründen enthalten. Oracle erklärt dies sehr deutlich. Wenn Sie auf die Datenbank zugreifen wollen, werden Sie dies heutzutage primär mithilfe der Java Persistence API machen. Die Java Persistence API selber ist eine API für das Lesen und Schreiben von Daten aus der Datenbank. Sie verwendet O/R-Mapping-Frameworks und bietet selber eine eigene Abfrage-Sprache auf Objekten an. Üblicherweise ist die Java Persistence API Bestandteil der Datenschicht einer Applikation, bspw. von der Java Persistence API, aber eben auch von EJB genutzt, ist die Java Transaction API. Deren Aufgabe ist, wie der Name schon andeutet, das Transaktions-Handling. Dafür stehen uns sowohl programmatische als auch deklarative Ansätze zur Verfügung. Eine Schnittstelle nach außen stellt die Java API for Restful Web Services, oder kurz JAX-RS, dar. Dabei haben wir die Möglichkeit, REST-basierende Schnittstellen bereitzustellen oder mithilfe der JAX-RS auf REST-basierende Schnittstellen zuzugreifen. Managed Beans ist eine Technologie, die einfache Java-Klassen, Plain Old Java Objects, auf dem Server verwaltbar macht. Sie ist ursprünglich Teil von JSF, ist heutzutage eine Technologie, die eigentlich überall im Java-EE-Applikationsumfeld verwendet werden kann. Ursprünglich wurden diese Managed Beans genutzt, um auf Ebene der JSF die Geschäftslogik abzubilden. Managed Beans werden bspw. von Contexts and Dependency Injection for Java (CDI) genutzt. Das sind Dienste, um Abhängigkeiten und Beziehungen zwischen Komponenten zu verwalten und zu realisieren. Ursprünglich kommt auch die CDI aus der JavaServer-Faces-Welt, ist inzwischen aber fast überall im Java-Umfeld nutzbar. Dependency Injection for Java ist ein Framework und eine Technologie, die einen Satz an Standard-Annotationen und Schnittstellen beschreibt. Dependency Injection for Java ist eine Spezifikation. Sie ist implementiert in Form der CDI. Zukünftig wird Dependency Injection for Java auch in der Java SE verfügbar sein. Wenn Sie Komponenten validieren wollen, können Sie mit der Java-EE das Bean-Validation-Framework benutzen. Ursprünglich war dieses Bean-Validation-Framework ebenfalls sehr eingeschränkt in seiner Nutzung, nämlich, Sie werden es erraten, auf das JSF-Umfeld. Dies hat sich geändert; mittlerweile ist Bean Validation überall im Java-EE-Umfeld einsetzbar. Eine sehr bekannte Technologie ist JMS, der Java Message Service. Das ist ein Standard für lose gekoppelte Messaging Services. Das bedeutet, die Kommunikation dieser Dienste untereinander läuft asynchron und ohne Benutzer-Interaktion ab. Das ist z.B. wunderbar, wenn Sie aus einer Applikation heraus Dinge anstoßen wollen, die ohne Ihr Zutun im Hintergrund funktionieren sollen. Die JavaMail API ist eine Standard-Schnittstelle für Applikationen, die E-Mails senden wollen. Diese Java Mail API besteht aus zwei Teilen: aus einer Schnittstelle für Applikationen und aus einer Schnittstelle für Implementierungen. Damit ist sie äußerst flexibel und auf verschiedene Szenarien und Einsatzbereiche anwendbar. Die Java API for WebSockets ist eine neue Technologie. Diese erlaubt es kompatiblen Browsern, die Verwendung der WebSockets-Technologie umzusetzen. Sie ist damit deutlich effizienter als herkömmliche Polling-Mechanismen, bei denen ein Browser in regelmäßigen Abständen auf dem Server nachgefragt hat, ob es bspw. neue Informationen gibt. WebSocket dreht das um. Wir haben mit WebSocket die Möglichkeit, vom Server zum Browser zurück zu kommunizieren. Dies muss allerdings unterstützt werden und Stand heute ist es noch nicht sehr weitreichend unterstützt. Aber es ist eine Technologie, die zukünftig sehr große Bedeutung gewinnen wird. Die Java API for JSON Processing ist die Reaktion darauf, dass es heutzutage nicht nur XML-basierende Web-Services gibt, sondern eben auch Services, die JSON zurückgeben. JSON steht für "Javascript Object Notation" und es ist eine sehr leichtgewichtige Übertragungstechnologie. Auch hier gibt es Unterstützung im Java E-Umfeld, so dass unsere Applikationen auf den Einsatz dieser Technologien nicht verzichten müssen. Die Concurrency Utilities for Java-EE sind eine ganz neue Technologie. Hiermit gewinnen wir die Möglichkeit, asynchrone Funktionalitäten für die Java-EE-Applikationen bereit zu stellen. Das war in der Vergangenheit bestenfalls verpönt, wenn nicht sogar äußerst gefährlich, denn der Java-EE-Application-Container kümmert sich normalerweise um Concurrency bzw. um Parallelitäten. Mittlerweile gibt es aber diese Concurrency Utilities, und die erlauben es uns, dass auch aus nicht vom Java-EE-Application-Server heraus verwalteten Komponenten nutzen zu können. Ebenfalls neu ist die Batch-Applications-Technologie. Das ist ein Batch-Framework. Das bedeutet, es gibt hier die Möglichkeit, dass wir Unterstützung haben für im Hintergrund ablaufende, automatisierte Prozesse. Das erleichtert letztlich Dinge, die in regelmäßigen Abständen komplett ohne Benutzer-Zutun stattfinden sollen. Nun, das waren schon eine ganze Menge Technologien. Glauben Sie mir, es gibt noch deutlich mehr Technologien. Dennoch sollten wir einmal schauen, wie diese Technologien verteilt sind. Im Web-Container finden sich bspw. nicht alle Technologien, aber schon ein sehr großer Teil der bereits genannten Technologien und darüber hinaus noch einige mehr. Der Web-Container stellt Servlets und JavaServer-Faces bereit. Ebenfalls können Sie Unterstützung für WebSockets, Concurrency Utilities, Batch, JSON-P, die Bean Validation EJP Light, Expression Language, JavaMail und diverse andere Technologien, bspw. auch Java Persistence oder JMS, finden. Glauben Sie mir, das sind noch lange nicht alle Technologien. Der EJB-Container stellt ebenfalls eine ganze Menge an Technologien bereit. Was er definitiv nicht hat, ist die Unterstützung für wie auch immer geartete Web-Schnittstellen. Aber auch hier gibt es Technologien wie Concurrency Utilities, Batch, JSON-P, CDI, Dependency Injection, Persistence, JMS oder auch die Connector API, mit der Sie Alt-Systeme oder Enterprise-Application-Systeme ansprechen können. Und zu guter Letzt gibt es zumindest einen Teilsatz der Technologien auch auf der Client-Ebene. Das bedeutet, dass Java-Programme, normale Java-Programme, ebenfalls einen Teil der Technologien nutzen können, bspw. Persistence, JSON-P, Web Services, JMS, JavaMail oder CDI. Sie merken, die Java-EE-Technologien sind nicht nur auf die Java-EE beschränkt, und sie decken ein sehr weites Spektrum ab.

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!