Workshop Java EE 7 (eBook)

Ein praktischer Einstieg in die Java Enterprise Edition mit dem Web Profile
eBook Download: PDF | EPUB
2014 | 2. Auflage
408 Seiten
dpunkt (Verlag)
978-3-86491-596-3 (ISBN)

Lese- und Medienproben

Workshop Java EE 7 -  Marcus Schießer,  Martin Schmollinger
Systemvoraussetzungen
Systemvoraussetzungen
34,90 inkl. MwSt
  • Download sofort lieferbar
  • Zahlungsarten anzeigen
Dieses Arbeitsbuch bietet Ihnen eine praktische Einführung in die Entwicklung von Business-Anwendungen mit Java EE 7. Schrittweise erstellen Sie eine einfach nachvollziehbare Beispielanwendung auf Grundlage des Web Profile. Dabei lernen Sie alle wichtigen Technologien und Konzepte von Java EE 7 kennen, u.a.: - Grafische Oberflächen mit JavaServer Faces und HTML5 - Business-Logik mit CDI und EJB - Persistenz mit JPA - Kommunikation mit REST, SOAP und WebSockets - Erweiterte Konzepte wie Resource Library Contracts, Interceptors, Transaktionen, Timer und Security Über Java EE 7 hinaus wird auch auf weitere praxisrelevante Themen wie Build-Management und Testing eingegangen. Das Deployment wird auf den Applikationsservern WildFly 8 und Glassfish 4 sowie über das Cloud-Angebot Openshift durchgeführt. Am Ende einer jeden Entwicklungsphase finden Sie Übungen und Fragen zur Lernkontrolle. Nach der erfolgreichen Lektüre sind Sie in der Lage, Java-EE-7-Anwendungen selbständig aufzusetzen, zu entwickeln und auf einem Anwendungsserver zu verteilen. Kenntnisse in der Entwicklung mit Java werden vorausgesetzt. Grundlagen von HTML und der Architektur von Webanwendungen sind hilfreich. In der 2. Auflage wird nun auch die Internationalisierung sowie die Erstellung funktionaler Tests mit Graphene behandelt.

Marcus Schießer ist freiberuflicher Softwarearchitekt und Consultant aus Frankfurt. Seit seiner Diplomarbeit im Jahr 2002 verwendet er die Java Enterprise Edition, damals noch in der Version 1.3. Unter javaee7.de bietet er Schulungen und Beratungsdienstleistungen rund um Java EE 7 an. Martin Schmollinger ist Professor für Informatik an der Hochschule Reutlingen. Er lehrt in den Studiengängen Wirtschaftsinformatik der Fakultät Informatik. Zu seinen Lehr- und Forschungsgebieten zählen Java EE und Business Process Management.

Marcus Schießer ist freiberuflicher Softwarearchitekt und Consultant aus Frankfurt. Seit seiner Diplomarbeit im Jahr 2002 verwendet er die Java Enterprise Edition, damals noch in der Version 1.3. Unter javaee7.de bietet er Schulungen und Beratungsdienstleistungen rund um Java EE 7 an. Martin Schmollinger ist Professor für Informatik an der Hochschule Reutlingen. Er lehrt in den Studiengängen Wirtschaftsinformatik der Fakultät Informatik. Zu seinen Lehr- und Forschungsgebieten zählen Java EE und Business Process Management.

1 Ein Einstieg mit Profil


1.1 Java EE 7 – der Standard für Enterprise Java


Oracle wirbt für Java mit dem Hinweis: »3 Milliarden Geräte verwenden Java.« Offensichtlich haben sie recht damit: Auf nahezu jedem PC ist eine Java-Laufzeitumgebung (Java Runtime Environment) installiert. Java ist zwar überall präsent – es stellt sich allerdings die Frage: Ist es wirklich in jedem Fall die dominierende Plattform?

Dies kann von Fall zu Fall (Desktop, Server, mobile Geräte, Blu-Ray-Player etc.) sicher kontrovers diskutiert werden. Bei kritischen Geschäftsanwendungen hat sich Java jedoch zweifelsfrei durchgesetzt.

Sicherlich hat zu diesem Erfolg beigetragen, dass Java von Beginn an auf zukunftsfähige Konzepte wie Objektorientierung und Plattformunabhängigkeit setzte, die Wartung und Verteilung einer Anwendung vereinfachten. Außerdem ließen sich bereits in frühen Versionen komplexe Funktionalitäten umsetzen, da hierzu umfangreiche Klassenbibliotheken mitgeliefert wurden, u. a. für Threads, entfernte Methodenaufrufe, Datenstrukturen, grafische Benutzeroberflächen und I/O.

Diese Basis wurde schnell um weitere Aspekte von Geschäftsanwendungen wie z. B. Transaktionsmanagement, Sicherheitsmechanismen und Webtechnologien erweitert und zeichnete damit den Weg zur Standardisierung und Etablierung der Java-Plattform im Feld des Enterprise Computing vor – auch wenn der Weg dahin in den letzten Jahren nicht immer geradlinig war.

1.1.1 Struktur einer Enterprise-Java-Anwendung

Im Unterschied zu gewöhnlichen Java-Programmen werden Enterprise-Java-Anwendungen für verteilte, mehrschichtige Architekturen entwickelt. Das heißt, Anwendungsteile werden in der Regel auf unterschiedlichen Rechnern ausgeführt. Java-EE-Anwendungen für diese Architekturen teilen sich logisch in bis zu vier Schichten auf: Client-, Web-, Business- und Persistenzschicht. Die Clientschicht enthält die Teile der Anwendung, die der Benutzer zur Interaktion mit der Anwendung benötigt. Bei Webanwendungen ist der Client ein Browser. Die Realisierung der Ablaufsteuerung und die Erzeugung der Webseiten ist Aufgabe der Webschicht. Dadurch kann der Nutzer indirekt die Geschäftslogik der Businessschicht nutzen. Wird keine Webanwendung realisiert, so wird die Webschicht nicht benötigt. Stattdessen kann ein Application-Client, z. B. eine Desktop-Java-Anwendung mit grafischer Oberfläche, verwendet werden. Ein Application-Client realisiert die Ablaufsteuerung der Anwendung selbst und verwendet dabei die bereitgestellte Geschäftslogik durch direkte Benutzung der Businessschicht oder indirekt durch den Aufruf von Webservices, die die Geschäftslogik der Businessschicht kapseln. Die zur Realisierung der Geschäftslogik in der Businessschicht zu verarbeitenden Daten werden in der Persistenzschicht dauerhaft gespeichert. In der Regel kommen dabei Datenbanksysteme inklusive deren Abstraktionen zum Einsatz, sodass sie einfach in die Businessschicht eingebunden werden können. Die Daten können aber auch in anderen, externen Systemen abgelegt werden, die sich auf verschiedene Weise (z. B. durch Nachrichtenkommunikation) einbinden lassen.

Enterprise-Java-Anwendungen werden über einen Java-Applikationsserver bereitgestellt und verwaltet. Neben entsprechenden Laufzeitumgebungen für die verschiedenen Teile der Anwendung, auch Container genannt, stellt er auch Querschnittsdienste bereit, die von allen Anwendungen verwendet werden können. Dazu zählt z. B. das Transaktionsmanagement, Authentifizierung, Autorisierung, Namens- und Verzeichnisdienste oder auch der standardisierte Zugriff auf Datenbanken, verteilte Warteschlangen (engl. message queues) und andere externe Systeme.

Wichtige Eigenschaften von Geschäftsanwendungen wie Synchronisation, Lastverteilung und Verfügbarkeit werden ebenfalls vom Applikationsserver garantiert und damit von der Anwendungslogik entkoppelt. Dadurch erleichtert der Applikationsserver die Entwicklung von Geschäftsanwendungen, da der Programmierer sich voll auf die funktionale Gestaltung der eigentlichen Anwendung konzentrieren kann.

Eine Anwendung ist aus Komponenten aufgebaut, die einen klar definierten Zweck innerhalb der Anwendung erfüllen und einer Schicht der Anwendung zugeordnet sind. Ziel des Komponentenmodells sind klare Strukturen und damit einhergehend eine höhere Transparenz, bessere Verständlichkeit sowie eine einfachere Wartbarkeit und Erweiterbarkeit der Anwendung.

1.1.2 Die Java Enterprise Edition (Java EE)

Der Java-Standard für mehrschichtige Geschäftsanwendungen firmiert unter dem Namen Java Platform Enterprise Edition 7 (Java EE 7) und wird durch die Spezifikation JSR-342 (http://jcp.org/en/jsr/detail?id=342) des Java Community Process (JCP) definiert (DeMichiel & Shannon, 2013).

Der Standard basiert auf der Java Platform Standard Edition (Java SE) sowie zusätzlichen APIs, die entweder das Komponentenmodell realisieren (z. B. Enterprise JavaBeans) oder spezielle Aspekte einer Geschäftsanwendung adressieren (z. B. Transaktionen mit der Java Transaction API). Diese APIs werden (wie alle offiziellen Java-APIs) durch den JCP standardisiert und unter einer eigenen JSR-Nummer (Java Specification Request) veröffentlicht.

Es handelt sich um einen wichtigen Aspekt, da dadurch sowohl Herstellern von Applikationsservern oder Bibliotheken als auch Entwicklern eine Vorgabe für ihre Arbeit gegeben wird. Die Hersteller wissen dadurch genau, was von ihrem Produkt verlangt wird, und die Entwickler wissen, was sie bei der Programmierung ihrer Applikation voraussetzen können. Auf diese Weise können Applikationsserver auch für Java-EE-Versionen zertifiziert werden. Alle Spezifikationen sind öffentlich über das Internet (http://jcp.org) zugänglich.

Im Verlauf der Geschichte des Java-EE-Standards gab es diverse Hochs und Tiefs. Zu Beginn des neuen Jahrtausends wich die anfängliche Begeisterung schnell der Ernüchterung, da der Standard (damals kurz J2EE genannt) selbst zu umständlich und komplex für den Programmierer war.

Das Resultat war die Entwicklung zahlreicher (erfolgreicher) Frameworks, die quasi in Konkurrenz zu Teilen bzw. zum Standard im Ganzen entstanden, etwa Spring, Seam, Hibernate oder Struts. Dies führte natürlich nicht zur Vereinfachung der Java-Landschaft in den Unternehmen, war aber eine logische Konsequenz, die aus der Praxis heraus resultierte.

Auch heute gilt deshalb noch, dass nicht jede Enterprise-Java-Anwendung auf Java EE basiert. Letztendlich stand in dieser Zeit nicht mehr und nicht weniger als die Existenz des Java-EE-Standards auf dem Spiel. Am Scheideweg stehend wurde 2006 mit Java EE 5 (Motto: »Ease of Development«) die Wende eingeleitet, indem ein Weg eingeschlagen wurde, der eine Vereinfachung des Standards zum Ziel hatte und damit die Arbeit des Entwicklers wieder in den Mittelpunkt stellte.

In diesem Sinne wurden mit Java EE 6 (2009) und aktuell mit Java EE 7 (2013) viele Ideen und Best Practices aus den diversen Java-Frameworks einvernehmlich übernommen. Der Standard wurde dadurch wieder konkurrenzfähig und zukunftsweisend.

1.1.3 Anatomie einer Java-EE-Anwendung

Java-EE-Anwendungen unterscheiden sich von gewöhnlichen Java-Programmen. Zwar werden sie größtenteils ebenfalls mit der Programmiersprache Java erstellt, der Programmierer orientiert sich jedoch an einem durch die Spezifikation vorgegebenen Komponentenmodell.

Java EE definiert Webkomponenten, die innerhalb von Java-EE-Webanwendungen verantwortlich sind für die Generierung von Webseiten für den Browser. Für die Realisierung der Komponenten der Webschicht stellt der Standard die Technologien Java Servlets, JavaServer Pages (JSP) und JavaServer Faces (JSF) zur Verfügung.

Des Weiteren definiert Java EE die Komponententechnologie Enterprise JavaBeans (EJBs) für die Businessschicht. Mit den EJBs wird die Geschäftslogik realisiert. Sie bringen von Haus aus transaktionales Verhalten und Sicherheitsmechanismen mit. Eine neuere Technologie unter dem Namen Contexts and Dependency Injection (CDI) ermöglicht mit seinen Eigenschaften die Konstruktion einer sehr flexiblen Softwarearchitektur für die Anwendung.

Eine Komponente kann aus unterschiedlichen technischen Artefakten (z. B. XML-Dateien, Schnittstellen oder Klassen) bestehen. Für jeden Komponententyp gibt es einen eigenen Container innerhalb des Applikationsservers, der verantwortlich für die Überwachung des Lebenszyklus der Komponenten ist. Abbildung 1–1 veranschaulicht die Situation. Im Folgenden gehen wir genauer auf die skizzierte Komponentenarchitektur der Java EE ein.

Abb. 1–1 Skizze der Ausführungsumgebung von Java-EE-Anwendungen

1.2 Die Komponentenarchitektur von Java EE 7


Hinweis

Leser, die bereits an dieser Stelle etwas mehr zur Programmierung der Komponenten erfahren wollen, können parallel oder im Anschluss den Abschnitt A.1 im Anhang lesen. Dort werden die Erläuterungen der Komponententechnologien durch kleine Programmcodes unterstützt, die zwar nicht die komplette Mächtigkeit der einzelnen Technologien...

Erscheint lt. Verlag 21.11.2014
Verlagsort Heidelberg
Sprache deutsch
Themenwelt Informatik Programmiersprachen / -werkzeuge Java
Schlagworte Glassfish • JBoss • Training • Tutorial
ISBN-10 3-86491-596-1 / 3864915961
ISBN-13 978-3-86491-596-3 / 9783864915963
Haben Sie eine Frage zum Produkt?
Wie bewerten Sie den Artikel?
Bitte geben Sie Ihre Bewertung ein:
Bitte geben Sie Daten ein:
PDFPDF (Wasserzeichen)
Größe: 8,7 MB

DRM: Digitales Wasserzeichen
Dieses eBook enthält ein digitales Wasser­zeichen und ist damit für Sie persona­lisiert. Bei einer missbräuch­lichen Weiter­gabe des eBooks an Dritte ist eine Rück­ver­folgung an die Quelle möglich.

Dateiformat: PDF (Portable Document Format)
Mit einem festen Seiten­layout eignet sich die PDF besonders für Fach­bücher mit Spalten, Tabellen und Abbild­ungen. Eine PDF kann auf fast allen Geräten ange­zeigt werden, ist aber für kleine Displays (Smart­phone, eReader) nur einge­schränkt geeignet.

Systemvoraussetzungen:
PC/Mac: Mit einem PC oder Mac können Sie dieses eBook lesen. Sie benötigen dafür einen PDF-Viewer - z.B. den Adobe Reader oder Adobe Digital Editions.
eReader: Dieses eBook kann mit (fast) allen eBook-Readern gelesen werden. Mit dem amazon-Kindle ist es aber nicht kompatibel.
Smartphone/Tablet: Egal ob Apple oder Android, dieses eBook können Sie lesen. Sie benötigen dafür einen PDF-Viewer - z.B. die kostenlose Adobe Digital Editions-App.

Zusätzliches Feature: Online Lesen
Dieses eBook können Sie zusätzlich zum Download auch online im Webbrowser lesen.

Buying eBooks from abroad
For tax law reasons we can sell eBooks just within Germany and Switzerland. Regrettably we cannot fulfill eBook-orders from other countries.

EPUBEPUB (Wasserzeichen)
Größe: 8,5 MB

DRM: Digitales Wasserzeichen
Dieses eBook enthält ein digitales Wasser­zeichen und ist damit für Sie persona­lisiert. Bei einer missbräuch­lichen Weiter­gabe des eBooks an Dritte ist eine Rück­ver­folgung an die Quelle möglich.

Dateiformat: EPUB (Electronic Publication)
EPUB ist ein offener Standard für eBooks und eignet sich besonders zur Darstellung von Belle­tristik und Sach­büchern. Der Fließ­text wird dynamisch an die Display- und Schrift­größe ange­passt. Auch für mobile Lese­geräte ist EPUB daher gut geeignet.

Systemvoraussetzungen:
PC/Mac: Mit einem PC oder Mac können Sie dieses eBook lesen. Sie benötigen dafür die kostenlose Software Adobe Digital Editions.
eReader: Dieses eBook kann mit (fast) allen eBook-Readern gelesen werden. Mit dem amazon-Kindle ist es aber nicht kompatibel.
Smartphone/Tablet: Egal ob Apple oder Android, dieses eBook können Sie lesen. Sie benötigen dafür eine kostenlose App.
Geräteliste und zusätzliche Hinweise

Zusätzliches Feature: Online Lesen
Dieses eBook können Sie zusätzlich zum Download auch online im Webbrowser lesen.

Buying eBooks from abroad
For tax law reasons we can sell eBooks just within Germany and Switzerland. Regrettably we cannot fulfill eBook-orders from other countries.

Mehr entdecken
aus dem Bereich
Einführung, Ausbildung, Praxis

von Christian Ullenboom

eBook Download (2023)
Rheinwerk Computing (Verlag)
49,90