Mit Java EE 7 ist es recht einfach möglich, mehrschichtige
Enterprise-Anwendungen zu programmieren. In der vierundfünfzigsten
Episode des Anwendungsentwickler-Podcasts gibt es eine
Lernzielkontrolle zur Enterprise Edition von Java. TL;DR Mit meiner
Lernzielkontrolle zu Java EE 7 kannst du prüfen, wie gut du die
Plattform und ihre Webtechnologien kennst. Java EE bündelt
aufeinander abgestimmte Spezifikationen, deren APIs langlebige
Anwendungen ermöglichen; ein Application-Server stellt die
benötigte Infrastruktur bereit. Für die Praxis stehen JPA für den
Datenbankzugriff sowie JSF für Weboberflächen im Mittelpunkt,
ergänzt durch CDI und REST-Services mit JAX-RS. Wenn du Java EE in
deinem Abschlussprojekt einsetzt, erwarte ich im Fachgespräch, dass
du die verwendeten Technologien und ihre Zusammenhänge erklären
kannst. Kapitelmarken [00:00:01] Einstieg in die Lernzielkontrolle
zu Java EE 7 [00:01:20] Die Java-Editionen ME, SE und EE [00:02:37]
Java EE als Sammlung von Spezifikationen [00:03:30] Versionsnummern
von Java und Java EE [00:04:15] WebSockets und langlebige
standardisierte APIs [00:06:00] Zusammenspiel der Spezifikationen
[00:07:37] Java Community Process und Specification Requests
[00:09:35] Container und Application-Server [00:12:30] Server
einrichten und verwalten [00:12:55] Web Profile und Full Profile
[00:15:32] Beispiele für Application-Server [00:16:54]
Java-EE-Spezifikationen im Überblick [00:18:07] APIs und
Referenzimplementierungen [00:19:17] Wichtige
Referenzimplementierungen und ihre Aufgaben [00:20:50] JPA: Objekte
in Datenbanken speichern [00:21:22] Entitäten mit @Entity und @Id
kennzeichnen [00:24:41] Beziehungen und Kardinalitäten mit JPA
abbilden [00:28:14] Daten mit JPQL und Criteria-API abfragen
[00:30:20] NoSQL mit Hibernate OGM anbinden [00:31:33]
Weboberflächen mit JSF und Backing Beans [00:33:02] Expression
Language und getrennte Seitenlogik [00:34:19] HTTP-Requests mit
Servlets verarbeiten [00:34:45] Dependency Injection mit CDI
[00:36:41] Eindeutige und mehrdeutige Abhängigkeiten [00:37:23]
REST-Services mit JAX-RS und JSON [00:38:57] AngularJS an Java EE
anbinden [00:39:51] Java EE im Abschlussprojekt und Fachgespräch
[00:41:04] Dokumentation und weiterführende Links [00:41:39]
CeBIT-Vortrag und Artikel zu relationalen Datenbanken [00:42:45]
Feedback und Newsletter [00:43:27] Ausblick: Einstieg ins
Abschlussprojekt Inhalt Welche Versionen von Java gibt es? ME, SE,
EE Was ist Java EE? Die Enterprise Edition. Eine
Sammelspezifikation für mehrere Teilspezifikationen. Ermöglicht die
Entwicklung von mehrschichtigen Enterprise-Anwendungen. Wer
definiert die Standards in Java EE? Der Java Community Process
bearbeitet Java Specification Requests. Wie werden Java
EE-Anwendungen ausgeführt? In einem Container, dem Application
Server. Welche Profile gibt es in Java EE? Web und Full Welche
Application Server gibt es? WebSphere, Weblogic, JBoss, Wildfly,
Glassfish, TomEE, Jetty, Tomcat Wie heißen die
Referenzimplementierungen für die zentralen Komponenten von Java
EE? JSF: Mojarra, JPA: EclipseLink, CDI: Weld, JAX-RS: Jersey, Bean
Validation: Hibernate Validator, JAX-WS: Metro Was ist JPA? Java
Persistence API Wie persistiere ich meine Daten mit JPA?
Konfiguration in persistence.xml, Annotation @Entity, weitere
Annotationen wie @Id oder @ManyToMany Wie werden Daten abgefragt?
Mittels JPQL oder der Criteria API. Kann man auch NoSQL-Datenbanken
anbinden? Ja, z.B. mit Hibernate OGM. Was ist JSF? Java Server
Faces Was ist ein Servlet? Eine Java-Klasse, die Requests
verarbeitet. Was ist CDI? Contexts and Dependency Injection Was ist
JAX-RS? Java API for RESTful Web Services Wie veröffentliche ich
eine REST-Ressource? Mittels Annotationen wie @Path, @GET und
@Produces Literaturempfehlungen Die "offizielle" Dokumentation von
Oracle ist definitiv einen Blick wert: Java Platform, Enterprise
Edition: The Java EE Tutorial Release 7 - Contents. Als
deutschsprachiges Buch kann ich Professionell entwickeln mit Java
EE 7* empfehlen: * Sehr geholfen haben mir auch die
Pluralsight-Kurse von Antonio Goncalves. Links Permalink zu dieser
Podcast-Episode RSS-Feed des Podcasts Java Platform, Enterprise
Edition – Wikipedia Difference between Java SE/EE/ME? - Stack
Overflow Java EE - Technologies | Oracle Technology Network |
Oracle Java Community Process – Wikipedia Java Specification
Request – Wikipedia O Java EE 7 Application Servers, Where Art
Thou? – Antonio's Blog Introducing the Java EE Web Profile -
JAXenter Java EE Compatibility Java Persistence API – Wikipedia
Java Persistence Query Language - Wikipedia, the free encyclopedia
JavaServer Faces – Wikipedia Servlet – Wikipedia Contexts and
Dependency Injection – Wikipedia Java API for RESTful Web Services
– Wikipedia Zusammenfassung Java-Editionen und zeitlicher Kontext
Meine Lernzielkontrolle richtet sich an dich als IT-Azubi und
behandelt Java EE 7 auf dem Stand der Aufnahme im März 2016. Die
Beispiele entstehen mit Java 8, während Java EE 8 zu diesem
Zeitpunkt noch vorbereitet wird. Die Versionsnummern der Sprache
und der Enterprise-Plattform entwickeln sich eigenständig. Zu den
Java-Editionen gehören: Java ME, Micro Edition: Eine reduzierte
Variante für mobile Geräte und beispielsweise Set-Top-Boxen. Java
SE, Standard Edition: Sie umfasst die grundlegenden
Java-Funktionen, mit denen du etwa Dateien verarbeitest oder
Datenbankverbindungen aufbaust. Java EE, Enterprise Edition: Sie
enthält Java SE und ergänzt die Plattform um weitere APIs und
Spezifikationen. Was Java EE festlegt Unter Java EE 7 sind 38
Spezifikationen zusammengefasst. Sie beschreiben Schnittstellen und
legen fest, wie bestimmte Aufgaben gelöst werden, beispielsweise
das Speichern von Objekten in einer relationalen Datenbank. Für die
ausführbare Funktion sorgt jeweils eine Implementierung. Wenn ich
gegen diese standardisierten APIs programmiere, kann ich meine
Anwendung auf einem anderen Server betreiben, der dieselben
Spezifikationen erfüllt. Beim Weiterentwickeln der Plattform soll
die Kompatibilität erhalten bleiben, damit Anwendungen über Jahre
einsetzbar bleiben. Als sogenannte Umbrella-Spezifikation stimmt
Java EE die enthaltenen Standards aufeinander ab. Dadurch lässt
sich etwa Dependency Injection innerhalb anderer
Java-EE-Technologien einsetzen, wodurch weniger Code nötig wird, um
die Komponenten miteinander zu verbinden. Mit Java EE 7 kommt unter
anderem eine standardisierte WebSocket-API hinzu. Wie neue
Standards entstehen Über den Java Community Process, JCP,
durchläuft ein Java Specification Request, JSR, einen festgelegten
Prozess vom Vorschlag bis zur fertigen Spezifikation. Die
beteiligten Mitglieder prüfen unter anderem, welche Standards
bereits existieren und wie sich ein Vorschlag umsetzen lässt.
Dieser Prozess kann mehrere Jahre dauern. JSRs betreffen auch
Funktionen der Java-Sprache. Für eine neue Java-EE-Version werden
passende Spezifikationen ausgewählt und so zusammengeführt, dass
sie zusammenarbeiten. Anwendungen im Container betreiben Meine
Java-EE-Anwendung deploye ich in einen Application-Server, der sie
startet und als Container die Infrastruktur bereitstellt. Dazu
gehören beispielsweise Datenbankverbindungen und benannte Dienste.
Auch Queues für Messaging können dort bereitstehen. Die Anwendung
fordert die benötigten Ressourcen beim Server an. Damit das
funktioniert, müssen die Ressourcen eingerichtet sein und ihre
Namen zur Anwendung passen. Der Container übernimmt außerdem
Aufgaben wie das Verwalten von Abhängigkeiten, wodurch weniger
Setup-Code in der Anwendung erforderlich ist. Ein:e
Administrator:in verwaltet den Server und richtet dort
beispielsweise Datenbankverbindungen ein. Häufig übernimmt ein:e
Entwickler:in diese Aufgaben selbst, etwa über die Weboberfläche
des Servers. Profile passend zur Anwendung wählen Full Profile: Der
Server stellt sämtliche Funktionen bereit, die Java EE
spezifiziert. Dazu gehören auch Technologien für umfangreichere
Enterprise-Anwendungen, etwa JMS und die vollständigen
EJB-Funktionen. Web Profile: Es umfasst eine kleinere Auswahl für
klassische Webanwendungen, beispielsweise JSF und CDI. JAX-RS
gehört standardmäßig nicht dazu. Für eine Anwendung mit
CRUD-Operationen auf Datenbanktabellen reicht die kleinere Auswahl
häufig aus. Wenn der Server nur die benötigten Komponenten lädt,
sinkt der Aufwand beim Starten und Deployen sowie der Bedarf an
Ressourcen. Beispiele für Server Als bekannte Produkte gehören IBM
WebSphere und Oracle WebLogic zum Java-Umfeld. Hinzu kommen JBoss
und die Open-Source-Variante WildFly. GlassFish ist die
Open-Source-Referenzimplementierung der Java-EE-Plattform. TomEE
gibt es in verschiedenen Varianten, etwa mit Web Profile oder
zusätzlichen REST-Funktionen. Tomcat bietet einen reduzierten
Funktionsumfang. Jetty lässt sich direkt aus einem Java-Prozess
starten, was beispielsweise automatisierte Tests einer Webanwendung
erleichtert. Wichtige Spezifikationen und ihre
Referenzimplementierungen Eine Referenzimplementierung setzt die
Funktionen um, die eine Spezifikation vorgibt. Für die folgenden
Technologien gehören diese Namen zum Grundlagenwissen: |
Spezifikation | Aufgabe | Referenzimplementierung | | --- | --- |
--- | | JSF, JavaServer Faces | Weboberflächen erstellen | Mojarra
| | JPA, Java Persistence API | Objekte in Datenbanken speichern |
EclipseLink | | CDI, Contexts and Dependency Injection |
Abhängigkeiten bereitstellen | Weld | | JAX-RS | REST-Webservices
anbieten | Jersey | | Bean Validation | Daten anhand von Regeln
prüfen | Hibernate Validator | | JAX-WS | SOAP-Webservices anbieten
| Metro | Für JPA gibt es beispielsweise auch Hibernate als
alternative Implementierung. Weitere Java-EE-Spezifikationen
betreffen unter anderem Servlets und JavaServer Pages. JNDI
ermöglicht Lookups anhand von Namen, während JMS Nachrichten
überträgt. APIs für Transaktionen und Autorisierung gehören
ebenfalls zur Pl
Kommentare (0)
Melde dich an, um einen Kommentar zu schreiben.