Erfreu Dich an Millionen von E-Books, Hörbüchern, Magazinen und mehr

Nur $11.99/Monat nach der Testversion. Jederzeit kündbar.

Java EE kurz & gut

Java EE kurz & gut

Vorschau lesen

Java EE kurz & gut

Länge:
359 Seiten
2 Stunden
Herausgeber:
Freigegeben:
1. März 2013
ISBN:
9783868999600
Format:
Buch

Beschreibung

Sie möchten die Schlüsselspezifikationen der Java EE 6-Plattform schnell und unkompliziert kennenlernen? Dann ist dieses Taschenbuch genau das Richtige für Sie. Es bietet einen Überblick über die wichtigsten Technologien, die auf der Plattform eingesetzt werden, sowie leicht verständliche Codebeispiele, die Ihnen demonstrieren, wie Java EE 6 die Entwicklung von Web- und Enterprise-Anwendungen drastisch vereinfacht.
- Verstehen, wie die Java EE 6-Features mit Design Patterns in Web- und Enterprise-Anwendungen zusammenhängen
- Die nötigen Spezifikationen finden, um die eigene Anwendung Java EE-fähig zu machen
- Neuerungen bei Enterprise JavaBeans (EJB), JavaServer Faces (JSF) und anderen Komponenten kennenlernen
- Java EE 6-Web Profile entdecken, die den früheren "One Size Fits All"-Ansatz ersetzen
- Die Contexts and Dependancy Interjection (CDI) und die Java API für RESTful Webservices einsetzen
- Die Java EE-Entwicklung mit Netbeans und GlassFish starten
Herausgeber:
Freigegeben:
1. März 2013
ISBN:
9783868999600
Format:
Buch

Über den Autor


Ähnlich wie Java EE kurz & gut

Ähnliche Bücher

Buchvorschau

Java EE kurz & gut - Arun Gupta

Java EE

kurz & gut

Arun Gupta

Thomas Demmig

Inhalt

Vorwort

In diesem Buch genutzte Konventionen

Danksagungen

1. Java Platform, Enterprise Edition

Einführung

Deliverables

Was ist neu in Java EE 6

2. Managed Beans

Ein Managed Bean definieren und einsetzen

Lifecycle Callback

3. Servlets

Servlets

Servletfilter

Event Listener

Asynchrone Unterstützung

Web Fragments

Security

Resource Packaging

Error Mapping

Umgang mit Multipart Requests

4. Java Persistence API

Entitäten

Persistence Unit, Persistence Context und Entity Manager

Entitäten erstellen, lesen, aktualisieren und löschen

Entitäten validieren

Transaktionen und Locking

Caching

5. Enterprise JavaBeans

Stateful Session Beans

Stateless Session Beans

Singleton Session Beans

Message-driven Beans

Portable Global JNDI Names

Transaktionen

Asynchron

Timer

Embeddable API

EJB.Lite

6. Contexts and Dependency Injection

Injection Points

Qualifier und Alternative

Producer und Disposer

Interceptor und Decorator

Scopes und Kontexte

Stereotype

Events

Portable Erweiterungen

7. JavaServer Faces

Facelets

Ressourcen-Handling

Composite Components

Ajax

HTTP GET

Server und Client Extension Points

Navigationsregeln

8. SOAP-basierte Webservices

Webservice-Endpoints

Provider-basierte Dynamic Endpoints

Endpoint-basierte Endpoints

Webservice-Client

Dispatch-basierter dynamischer Client

Handler

9. RESTful Webservices

Einfache RESTful Webservices

HTTP-Methoden binden

Mehrere Ressourcendarstellungen

Requests an eine Ressource binden

Exception Mapping

10. Java Message Service

Eine Nachricht verschicken

Quality of Service

Eine Nachricht synchron empfangen

Eine Nachricht asynchron empfangen

Temporäre Ziele

11. Bean Validation

Eingebaute Constraints

Einen eigenen Constraint definieren

Validierungsgruppen

Integration mit JPA

Integration mit JSF

A. Entwicklungsumgebung und Deployment für Java EE 6

B. Weitere Literatur

Webtechnologie-Spezifikationen

Enterprise-Technologie-Spezifikationen

Webservice-Technologien

Management- und Sicherheitstechnologien

Kolophon

Stichwortverzeichnis

Für Menka, meine geliebte Frau und beste Freundin. Deine Unterstützung und deine Ermutigung sorgen dafür, dass unser Leben Spaß macht und Sinn hat.

Für Aditya und Mihir, meine zwei fröhlichen Jungs, die mit mir spielen und mich aktiv halten.

Vorwort

Die Java EE 6-Plattform hat die einfache Entwicklung mit Java im Enterprise-Umfeld auf eine neue Ebene gehoben. Dieses Buch richtet sich an Leute, die einen schnellen Überblick über die Plattform erhalten wollen, um danach die Grundlagen zu erlernen.

Das Buch bietet einen Überblick über die Schlüsselspezifikationen der Java EE 6-Plattform (eine Spezifikation pro Kapitel). Die wichtigsten Konzepte der verschiedenen Spezifikationen werden erklärt und Beispiele dazu vorgestellt. Sie müssen nichts über frühere Versionen der Plattform wissen. Allerdings ist ein grundlegendes Verständnis von Java notwendig, um den Code zu verstehen.

In diesem Buch genutzte Konventionen

Die folgenden typographischen Konventionen werden in diesem Buch verwendet:

Kursiv

Steht für neue Begriffe, URLs, E-Mail-Adressen, Dateinamen und Dateierweiterungen.

Nichtproportionalschrift

Wird für Programmcode genutzt – auch innerhalb von Fließtext –, um auf Programmelemente wie Variablen- oder Funktionsnamen, Datenbanken, Datentypen, Umgebungsvariablen, Anweisungen und Schlüsselwörter hinzuweisen.

Kursive Nichtproportionalschrift

Zeigt Text an, der durch eigene Werte oder kontextabhängige Werte ersetzt werden sollte.

Danksagungen

Dieses Buch wäre nicht möglich geworden ohne die Unterstützung von sehr vielen Leuten.

Zu allererst bedanke ich mich bei O'Reilly für das Vertrauen in mich und für die Möglichkeit, dieses Buch zu schreiben. Ihr Team hat mich beim Schreiben, Überarbeiten, Korrekturlesen und Veröffentlichen exzellent unterstützt.

Bei O'Reilly hat mir Michael Loukides geholfen, die Grundlagen für das Buch zu legen. Meghan Blanchette war in allen Phasen der Entstehung eine außerordentlich große Hilfe, indem sie den Text schon zwischendurch begutachtete, Feedback zur Darstellung gab, Fachlektoren organisierte und mich bei Bedarf mit den richtigen Ansprechpartnern im Team zusammenbrachte. Jessica Hosman hat mir beim Einstieg in das Autorenleben geholfen und mich weiter begleitet.

Emily Quill und Kristen Borg haben beim Lektorieren geholfen und sichergestellt, dass auch die Kleinigkeiten stimmen. Vielen Dank auch an die anderen Mitglieder des O'Reilly-Teams, mit denen ich nicht direkt zu tun hatte, die aber auch zum Gelingen des Buchs beigetragen haben.

Das Korrekturlesen und das Fachlektorat wurden von Markus Eisele (@myfear, http://blog.eisele.net), John Yeary (@jyeary, http://javaevangelist.blogspot.com) und Bert Ertman (@BertErtman, http://bertertman.wordpress.com) vorgenommen, so dass sichergestellt ist, dass die entscheidenden Dinge auch richtig dargestellt sind. Ihre umfangreiche Erfahrung und ihr Wissen haben sich an der Tiefe ihrer Kommentare gezeigt.

Ich bin Entwicklern auf der ganzen Welt für die zahlreichen Diskussionen dankbar, die mein Verständnis der Technologie verbessert haben. Vielen Dank meinen Kollegen bei Oracle und den JSR Specification Leads, die mir die Anwendungsfälle der verschiedenen Technologien erklärt haben. Und vielen Dank an jeden anderen in meinem Leben, der mir die nötigen Pausen von Schreiben verschafft hat.

Kapitel 1. Java Platform, Enterprise Edition

Einführung

Die Java Platform, Enterprise Edition (Java EE) bietet eine auf Standards aufbauende Plattform für das Entwickeln von Web- und Enterprise-Anwendungen. Diese Applikationen sind im Allgemeinen als Multitier-Anwendungen entworfen – mit einer Frontend-Schicht bestehend aus Web-Frameworks, einer Middleware-Schicht, die sich um die Sicherheit und Transaktionen kümmert, und einer Backend-Schicht, die die Verbindung zu einer Datenbank oder einem Legacy-System umsetzt. Die Java EE Platform definiert APIs für die verschiedenen Komponenten in jeder Schicht und bietet dazu weitere Dienste an, zum Beispiel Namensräume, Einbinden und Ressourcenverwaltung, die für die gesamte Plattform genutzt werden können. Jede Komponente ist in einer eigenen Spezifikation definiert, die auch die API, Javadocs und das erwartete Verhalten beschreibt.

Die Java Platform, Enterprise Edition 6 (Java EE 6) wurde im Dezember 2009 veröffentlicht. Sie bietet einen einfachen, leicht zu verwendenden Stack für das Bauen solcher Anwendungen. In der älteren Version der Plattform (Java EE 5) gab es die ersten Schritte für eine vereinfachte Entwicklung. Die Java EE 6 Platform sorgt für eine noch bessere Produktivität und bietet viel mehr Funktionalität.

Die drei wichtigsten Ziele der Plattform sind folgende:

Einfache Anwendung

Die Java EE 6 Platform vereinfacht die Entwicklung erneut drastisch, indem sie sehr oft Konvention statt Konfiguration einsetzt und auf Annotationen für ein Plain Old Java Object (POJO) zurückgreift. Indem Sie ein POJO um @Stateless, @Stateful oder @Singleton ergänzen, machen Sie es zu einem Enterprise JavaBean. Zudem lässt sich dies einfach in einer WAR-Datei verpacken, statt eine Spezialvariante von JAR oder EAR zu verwenden. Servlets sind ebenfalls POJOs, versehen mit der Annotation @WebServlet. Deployment Descriptors wie web.xml und faces-config.xml sind in den meisten Fällen optional – die Informationen, die im Allgemeinen in ihnen abgelegt sind, finden sich nun in Annotationen. Es gibt Standardregeln, wie man von einer JSF-Seite zu einer anderen navigiert. Um ein POJO als REST-Webservice zu veröffentlichen, muss man nur die Annotation @Path ergänzen.

Indem die Deployment Descriptors optional wurden, Konvention der Konfiguration vorgezogen und stark auf Annontationen aufgebaut wurde, lässt sich die Java EE 6 Platform einfacher verwenden und es muss insgesamt auch weniger geschrieben werden.

Leichtgewichtigkeit

Es gibt für die Java EE 6 Platform 31 Komponentenspezifikationen, die Sie im Anhang EE.6 der Plattformspezifikation finden. Zu diesen Komponenten gehören Enterprise JavaBeans (EJB), Servlets, JavaServer Faces (JSF), Java API for RESTful Web Services (JAX-RS) und viele weitere. Für den Bau einer typischen Enterprise-Anwendung werden Sie nicht unbedingt alle benötigen. Zudem waren manche der Technologien wie Java API for XML Registries (JAXR) oder Java API for XML-based RPC (JAX-RPC) zwar wichtig, als sie in die Plattform eingebracht wurden. Aber nun wurden sie durch bessere Komponenten ersetzt, zum Beispiel Java API for XML Web Services (JAX-WS), oder sind nicht mehr im Einsatz.

Die Java SE Expert Group hat einen zweistufigen Prozess definiert, mit dem Features von der Plattform genommen wurden. In diesem Prozess – als Pruning bezeichnet – wird ein Feature in einem Release als optional gekennzeichnet (proposed optional). In einem folgenden Release wird dann entschieden, das Feature tatsächlich zu entfernen, es als erforderliche Komponente beizubehalten oder es im Status proposed removal zu belassen. Die Java EE Expert Group hat einige Features mit diesem Prozess behandelt. Das ist wie das Beschneiden eines Rosenstrauchs im Frühjahr, damit neue Blüten wachsen können: Durch das Pruning von ungenutzten Features wird sichergestellt, dass trotz Hinzufügen neuer Features die Plattform einfach und leichtgewichtig bleibt.

Die Java EE Platform führt auch den Begriff des Profils ein. Ein Profil ist eine Konfiguration auf der Plattform, die an eine bestimmte Klasse von Anwendungen angepasst ist. Dabei kann es sich um eine Unter- oder Obermenge der Technologien auf der Plattform handeln. Das Java EE 6 Web Profile ist als eigenständige Spezifikation für die Plattform definiert, wobei es sich um eine Untermenge der Technologien der Plattform handelt. Es ist für die Entwicklung moderner Webanwendungen angepasst. Damit fällt der »One Size Fits All«-Ansatz früherer Releases weg. Und auch wenn es sich »nur« um eine Untermenge handelt, ist diese doch so umfassend, dass ein Großteil der Standard-APIs enthalten ist und ohne Anpassungen viele unterschiedliche Web-Anwendungen damit geschrieben werden können. Das Webprofil ermöglicht es dem Entwickler, Web-Anwendungen schnell bauen zu können. Zudem wird verhindert, dass immer mehr eigene Web-Stacks entstehen, welche in Bezug auf Wartungsfragen nur von Nachteil sein können. Weitere Profile können definiert werden, indem man dem Java Community Process (JCP) folgt.

Durch Pruning und Web-Profile bleibt die Java EE 6 Platform also leichtgewichtig und gut wartbar.

Erweiterbarkeit

Die Plattform bietet eine umfangreiche Sammlung an Funktionen an, um Enterprise-Anwendungen zu erstellen. Trotzdem wird häufig auf Third-Party-Frameworks zurückgegriffen, um Funktionalität zu ersetzen oder zu ergänzen. Diese Frameworks müssen über einen ServletListener, einen ServletFilter oder eine ähnliche Komponente registriert werden, damit die Laufzeitumgebung sie erkennen kann. Die Servlet-Spezifikation definiert einen Web Fragment-Mechanismus, über den diese Einstiegspunkte in das Framework in der Framework-Bibliothek definiert werden. Die Servlet-Container registrieren dann das Framework, so dass sich der Entwickler nicht darum kümmern muss. So können die Frameworks wie ein integraler Bestandteil der Plattform behandelt werden.

Zusätzlich definiert die Contexts and Dependency Injection (CDI) Specification einen portablen Erweiterungsmechanismus, mit dem Sie die Plattform in unterschiedlicher Art und Weise ausbauen können – zum Beispiel durch das Bereitstellen bestimmter, vordefinierter Scopes. Ein neuer Scope kann dadurch mit einem beliebigen Java EE 6-kompatiblen Anwendungsserver einfach definiert und eingebunden werden.

Spezifikationen wie CDI, JavaServer Faces 2, Java API for RESTful Services, Java Persistence API 2 und Servlets 3 sorgen dafür, dass die Java EE 6 Platform noch leistungsfähiger ist. Dieses Buch bietet einen Überblick über die wichtigsten Technologien, die auf der Plattform eingesetzt werden, sowie leicht verständliche Codebeispiele, mit denen die Verbesserungen von Java EE 6 erläutert werden.

Deliverables

Die Java EE 6 Platform wurde als Java Specification Request 316 bzw. JSR 316 entwickelt (http://jcp.org/en/jsr/detail?id=316), wobei dem Java Community Process (JCP) 2.7 gefolgt wurde. Der JCP definiert drei wichtige Deliverables für jeden JSR:

Spezifikation

Ein formales Dokument, das die vorgeschlagene Komponente und ihre Features beschreibt.

Reference Implementation (RI)

Die binäre Implementierung der vorgeschlagenen Spezifikation. Die RI hilft dabei, sicherzustellen, dass die vorgeschlagenen Spezifikationen in Binärform implementiert werden können. Zudem erhält der Spezifikationsprozess so konstant Rückmeldung.

Technology Compliance Kit (TCK)

Eine Sammlung von Tests, die sicherstellen, dass die RI zur Spezifikation passt. So können mehrere Hersteller konforme Implementierungen liefern.

Java EE 6 besteht aus der Plattform-Spezifikation, die die Anforderungen definiert. Zudem enthält sie folgende Komponenten-Spezifikationen:

Web-Technologien

JSR 45: Debugging Support for Other Languages

JSR 52: Standard Tag Library for JavaServer Pages (JSTL)1.2

JSR 245: JavaServer Pages (JSP) 2.2 and Expression Language (EL) 1.2

JSR 314: JavaServer Faces (JSF) 2.0

JSR 315: Servlet 3.0

Enterprise-Technologien

JSR 250: Common Annotations for the Java Platform 1.1

JSR 299: Contexts and Dependency Injection (CDI) for the Java EE Platform 1.0

JSR 303: Bean Validation 1.0

JSR 316: Managed Beans 1.0

JSR 317: Java Persistence API (JPA) 2.0

JSR 318: Enterprise JavaBeans (EJB) 3.1

JSR 318: Interceptors 1.1

JSR 322: Java EE Connector Architecture 1.6

JSR 330: Dependency Injection for Java 1.0

JSR 907: Java Transaction API ( JTA) 1.1

JSR 914: Java Message Server (JMS) 1.1

JSR 919: JavaMail 1.4

Webservice-Technologien

JSR 67: Java APIs for XML Messaging (JAXM) 1.3

JSR 93: Java API for XML Registries (JAXR) 1.0

JSR 101: Java API for XML-based RPC (JAX- RPC) 1.1

JSR 109: Implementing Enterprise Web Services 1.3

JSR 173: Streaming API for XML (StAX) 1.0

JSR 181: Web Services Metadata for the Java Platform 2.0

JSR 222: Java Architecture for XML Binding (JAXB) 2.2

JSR 224: Java API for XML Web Services (JAX- WS) 2.2

JSR 311: Java API for RESTful Web Services (JAX-RS) 1.1

Verwaltungs- und Sicherheitstechnologien

JSR 77: J2EE Management API 1.1

JSR 88: Java Platform EE Application Deployment API 1.2

JSR 115: Java Authorization Contract and Containers (JACC) 1.3

JSR 196: Java Authentication Service Provider Interface for Containers (JASPIC) 1.0

Die einzelnen Komponeten arbeiten zusammen, um einen kombinierten Stack bereitzustellen (siehe Abbildung 1.1).

Abbildung 1.1 Java EE 6-Architektur

Was ist in Abbildung 1.1 zu sehen?

JPA, JTA und JMS stellen die

Sie haben das Ende dieser Vorschau erreicht. Registrieren Sie sich, um mehr zu lesen!
Seite 1 von 1

Rezensionen

Was die anderen über Java EE kurz & gut denken

0
0 Bewertungen / 0 Rezensionen
Wie hat es Ihnen gefallen?
Bewertung: 0 von 5 Sternen

Leser-Rezensionen