Enterprise Java: zentrale Konzepte in Java EE 5

LVA-Leiter

Dr. Gerald Loeffler

LVA-Art

2-stündige geblockte KV,
anrechenbar unter "Spezielle Kapitel aus Softwareentwicklung" im Informatik-Studienplan.

Termine

Datum
Uhrzeit
Raum









Prüfungstermin (schriftlich)

Datum
Uhrzeit
Raum




Material zum Download

Folien: javaee5_uni_linz_2006-03-08.pdf
tasktracker 2006 incl. JBoss (korrigiert am 20.3.): tasktracker2006_complete_with_jbossNEU.zip
README für tasktracker 2006: README_tasktracker2006_complete_with_jboss.txt
TasktrackerWSExample (korrigiert am 20.3.): tasktrackerWSExampleNEU.zip
README für tasktrackerWSExample: README_tasktrackerWSExample.txt

Inhalt

Java Platform, Enterprise Edition 5 (Java EE 5, vormals J2EE) ist das jüngste release eines Bündels von Java-Technologien für das Entwickeln verteilter Applikationen, insbesondere solchen mit 1. viel server-seitiger Logik, 2. typischer Weise einem web frontend oder eventuell auch einem rich client frontend, und 3. Zugriff auf Datenbanken oder andere backend-Systeme. JavaEE-Applikationen laufen in einem application server (wie z.B. JBoss, Glassfish oder BEA WebLogic) oder, im einfachsten Fall, auch in einem sogenannten web container (wie z.B. Apache Tomcat).

Java EE 5 bietet einige signifikante Neuerungen, die die Entwicklung dieser Klasse von Applikationen aus der Sicht des Programmierers wesentlich unkomplizierter gestalten. Nicht nur deshalb ist Java EE 5 eines der bedeutendsten Enterprise Java releases seit Langem. In dieser KV wollen wir uns auf diese neue, einfachere Herangehensweise an Enterprise Java Software-Entwicklung beschränken, und Rückwärtskompatibilität zu alten Versionen von J2EE außer Acht lassen.

Diese KV bietet eine Einführung in die wesentlichen Aspekte von Java EE 5, unter Vertiefung der in der Praxis der kommerziellen Softwareentwicklung besonders relevanten Teilbereiche, die für die Entwicklung von Datenbank-zentrischen web-Applikationen und web services notwendig sind. Im Detail werden die folgenden Technologien behandelt:

Grundlagen

  • Neuere Java features: annotations und generics
  • Dependency injection
Application Server
  • Aufgaben
  • Build und deploy
  • Entwicklungsumgebungen im Zusammenspiel mit application server
Web-Frontends
  • Servlets/JSPs: Grundlagen und Probleme
  • JavaServer Faces (JSF): eine pragmatische Einführung
Komponententechnologie
  • kurze allgemeine Vorstellung
  • Überblick über Komponenten in Java EE (Enterprise JavaBeans, web-Komponenten, resource adapters)
Enterprise JavaBeans (EJB 3)
  • Session Beans
  • EJB 3 Entity Beans (hier kurz, später genauer)
  • MessageDriven Beans
Web Services (JAX-WS 2.0)
  • SOAP und WSDL: kurze Rekapitulation
  • Implementierung von SOAP web services
  • Aufruf von SOAP web services
Transaktionen
  • das Wichtigste zu verteilten Transaktionen (2PC, TX, XA)
  • programmatische Transaktionsklammern (bean managed transactions)
  • deklarative Transaktionsklammern (container managed transactions)
Security
  • kurze Einführung in security-Konzepte (Principal, Credentials, Roles, Authentication Store, Encryption)
  • programmatische security in Java EE (APIs)
  • deklarative security in Java EE
Datenbankzugriff aus Java EE
  • Impedance mismatch und object-relational mapping
  • JDBC als Ausgangspunkt (kurz)
  • EJB 3 Entity Beans und das Java Persistence API

Die Vorlesung wird aus einem theoretischen Teil bestehen, der von praktischen Demonstrationen am Laptop des Vortragenden begleitet wird. Zur Vorlesung gehört eine Beispiel-Applikation, deren gesamter source code zur Verfügung gestellt wird, und die für alle praktischen Demonstrationen herangezogen wird.

Die Benotung der KV wird auf Basis einer schriftlichen Prüfung erfolgen. Wesentlicher Bestandteil der KV ist auch die Durchführung eines Softwareprojektes durch jeden Studenten/jede Studentin. Die konkrete Aufgabenstellung dieses Softwareprojektes wird während der KV bekannt gegeben werden. Es wird hierbei um das Design (mit UML-Diagrammen) und Programmieren einer kleinen JavaEE-Applikation mit web services gehen.

Java EE 5 macht ausgiebig Verwendung von Java features wie generics und annotations, die erst kürzlich in die Sprache Java aufgenommen wurden. Obwohl wir generell davon ausgehen, dass jeder Besucher dieser KV solides Wissen in den Grundlagen der Sprache Java mitbringt, setzen wir Kenntnisse von generics und annotations nicht voraus, und werden diese features in der KV bei Bedarf gerne vorstellen.

Literatur