Marcus Schießer Martin Schmollinger. Workshop Java EE 7. Ein praktischer Einstieg in die Java Enterprise Edition mit dem Web Profile



Ähnliche Dokumente
Marcus Schießer Martin Schmollinger

Über die Herausgeber

Michael Kurz Martin Marinschek

VMware vrealize Automation Das Praxisbuch

Dominik Schadow. Java-Web-Security. Sichere Webanwendungen mit Java entwickeln

Dipl.-Inform. Sven Röpstorff Dipl.-Kaufm. Robert Wiechmann

Mike Burrows Übersetzer: Florian Eisenberg Wolfgang Wiedenroth

Im Rahmen seiner Beratertätigkeit veröffentlicht er Artikel und hält Vorträge und Schulungen zu diesen und weiteren Themen.

Nicolai Josuttis. SOA in der Praxis. System-Design für verteilte Geschäftsprozesse


Basiswissen Medizinische Software

Praxisbuch BI Reporting

Die Computerwerkstatt

Tilman Beitter Thomas Kärgel André Nähring Andreas Steil Sebastian Zielenski

Konfigurationsmanagement mit Subversion, Ant und Maven

Basiswissen Medizinische Software

Dr. Michael Hahne

Uwe Vigenschow Andrea Grass Alexandra Augstin Dr. Michael Hofmann

Cloud-Computing für Unternehmen

IT-Projektverträge: Erfolgreiches Management

Basiswissen Software-Projektmanagement

Prof. Dr. Matthias Knoll

IT-Controlling für die Praxis

er auch mit dem 3D-Programm Blender in Kontakt, über das er bisher zahlreiche Vorträge hielt und Artikel in Fachzeitschriften veröffentlichte.

IT-Servicemanagement mit ITIL V3

Software modular bauen

IT-Service-Management mit ITIL 2011 Edition

Fotografieren lernen Band 2

Maik Schmidt arbeitet seit beinahe 20 Jahren als Softwareentwickler für mittelständische und Großunternehmen. Er schreibt seit einigen Jahren

ipad Air 2 und ipad mini 3

Dr. Carola Lilienthal

IT-Servicemanagement mit ITIL V3

arbeitete im Max-Planck-Institut und an der Uni Köln. Von ihm sind bereits mehrere Bücher zu Webthemen erschienen.

dpunkt.lehrbuch Bücher und Teachware für die moderne Informatikausbildung

Praxiswissen TYPO3 CMS 7 LTS

Basiswissen Software- Projektmanagement

Dipl.-Inform. Henning Wolf Prof. Dr. ir. Rini van Solingen Eelco Rustenburg

JavaScript kinderleicht!

München 2014) und»uml2 glasklar«(carl Hanser Verlag München

Maik Schmidt

CNC-Fräsen für Maker und Modellbauer

Helge Dohle Rainer Schmidt Frank Zielke Thomas Schürmann ISO Eine Einführung für Manager und Projektleiter

Continuous Delivery. Der pragmatische Einstieg. von Eberhard Wolff. 1. Auflage. dpunkt.verlag 2014

Kim Nena Duggen ist Vorstand und Trainerin der oose Innovative Informatik eg. Ihre thematischen Schwerpunkte sind das Geschäftsprozessmanagement,

Professionell blitzen mit dem Nikon Creative Lighting System

Martina Seidl Marion Brandsteidl Christian Huemer Gerti Kappel. Classroom. Eine Einführung in die objektorientierte Modellierung

Tobias H. Strömer. Online-Recht. Juristische Probleme der Internet-Praxis erkennen und vermeiden. 4., vollständig überarbeitete Auflage

Scholz (Hrsg.) / Krämer / Schollmayer / Völcker. Android-Apps. Konzeption, Programmierung und Vermarktung

Datawarehousing mit SAP BW 7

Elisabeth Hendrickson Übersetzerin: Meike Mertsch

SEO Strategie, Taktik und Technik

IT-Unternehmensarchitektur

Social Media Analytics & Monitoring

Die Post hat eine Umfrage gemacht

Audiospektrum- Analyse mit Mikrocontrollern

Der Autor ist seit dem Jahr 2001 bei der Firma GeNUA mbh als Security Consultant und gegenwärtig als Koordinator für Intrusion Detection tätig.

Über die Autoren.

Templates für Joomla! 1.6

Gradle. Ein kompakter Einstieg in modernes Build-Management. Joachim Baumann. Joachim Baumann, Gradle, dpunkt.verlag, ISBN

Kennzahlen in der IT

AGROPLUS Buchhaltung. Daten-Server und Sicherheitskopie. Version vom b

impact ordering Info Produktkonfigurator

Grundmann Rathner Abschlussprüfungen Bankwirtschaft, Rechnungswesen und Steuerung, Wirtschafts- und Sozialkunde

Jochen Bartlau. List & Label. schnell + kompakt

Vorlesung Hochschule Esslingen IT-Winter School 2013

telefonkonferenz.de für Endanwender

Ein Vorwort, das Sie lesen müssen!

Basiswissen Softwaretest

Soft Skills für Softwareentwickler

Einfache und effiziente Zusammenarbeit in der Cloud. EASY-PM Office Add-Ins Handbuch

schnell und portofrei erhältlich bei beck-shop.de DIE FACHBUCHHANDLUNG mitp/bhv

Basiswissen Softwaretest

Mobile Intranet in Unternehmen

Seniorenbüros im Land Brandenburg

Website. zur eigenen. Ihr Weg ins Web: Domain, Hoster, Installation, Verwaltung, Pflege und IT-Recht. Websites. erstellen

C++11 C++14 Kapitel Doppelseite Übungen Musterlösungen Anhang

Soft Skills für Softwareentwickler

.htaccess HOWTO. zum Schutz von Dateien und Verzeichnissen mittels Passwortabfrage

Leitfaden Web-Usability

Sebastian Springer, Testgetriebene Entwicklung mit JavaScript, dpunkt.verlag, ISBN D3kjd3Di38lk323nnm

FRONT CRAFT.

40-Tage-Wunder- Kurs. Umarme, was Du nicht ändern kannst.

Managementsysteme für IT-Serviceorganisationen

DER SELBST-CHECK FÜR IHR PROJEKT

Bedienungsanleitung. Matthias Haasler. Version 0.4. für die Arbeit mit der Gemeinde-Homepage der Paulus-Kirchengemeinde Tempelhof

Industrie 4.0 in Produktion, Automatisierung und Logistik

Wir machen neue Politik für Baden-Württemberg

Web-Apps mit jquery Mobile

Michael Firnkes

Seite 1 von 14. Cookie-Einstellungen verschiedener Browser

Anleitung über den Umgang mit Schildern

Leit-Bild. Elbe-Werkstätten GmbH und. PIER Service & Consulting GmbH. Mit Menschen erfolgreich

Step by Step Webserver unter Windows Server von Christian Bartl

Einstellungsinterviews

Projektanleitung zum

Adobe Flash CS4. Herbert A. Mitschke. inklusive DVD-ROM. Von den Programmier-Grundlagen zur professionellen Webentwicklung

Gelassenheit gewinnen 30 Bilder für ein starkes Selbst

Robot Karol für Delphi

Anleitung zum Computercheck Windows Firewall aktivieren oder eine kostenlose Firewall installieren

Transkript:

Marcus Schießer Martin Schmollinger Workshop Java EE 7 Ein praktischer Einstieg in die Java Enterprise Edition mit dem Web Profile

Marcus Schießer marcus.schiesser@javaee7.de Martin Schmollinger martin.schmollinger@javaee7.de Lektorat: René Schönfeldt Copy-Editing: Ursula Zimpfer, Herrenberg Satz: Tim Mergemeier, www.reemers.de Herstellung: Birgit Bäuerlein Umschlaggestaltung: Helmut Kraus, www.exclam.de Druck und Bindung: M.P. Media-Print Informationstechnologie GmbH, 33100 Paderborn Bibliografische Information der Deutschen Nationalbibliothek Die Deutsche Nationalbibliothek verzeichnet diese Publikation in der Deutschen Nationalbibliografie; detaillierte bibliografische Daten sind im Internet über http://dnb.d-nb.de abrufbar. ISBN 978-3-86490-047-1 1. Auflage 2013 Copyright 2013 dpunkt.verlag GmbH Wieblinger Weg 17 69123 Heidelberg Die vorliegende Publikation ist urheberrechtlich geschützt. Alle Rechte vorbehalten. Die Verwendung der Texte und Abbildungen, auch auszugsweise, ist ohne die schriftliche Zustimmung des Verlags urheberrechtswidrig und daher strafbar. Dies gilt insbesondere für die Vervielfältigung, Übersetzung oder die Verwendung in elektronischen Systemen. Es wird darauf hingewiesen, dass die im Buch verwendeten Soft- und Hardware-Bezeichnungen sowie Markennamen und Produktbezeichnungen der jeweiligen Firmen im Allgemeinen warenzeichen-, marken- oder patentrechtlichem Schutz unterliegen. Alle Angaben und Programme in diesem Buch wurden mit größter Sorgfalt kontrolliert. Weder Autor noch Verlag können jedoch für Schäden haftbar gemacht werden, die in Zusammenhang mit der Verwendung dieses Buches stehen. 5 4 3 2 1 0

v Vorwort Das vorliegende Buch beinhaltet einen Workshop, der Ihnen eine Einführung in die Java Enterprise Edition 7 (Java EE 7) bietet. Den Einstieg in dieses komplexe Thema schaffen wir über das bereits mit Java EE 6 eingeführte Web Profile, eine standardisierte Teilmenge der Java-EE-APIs speziell für Webapplikationen. Im Rahmen des Buches entwickeln wir Schritt für Schritt eine Webanwendung mit den Technologien des Web Profile. Zum Ende der Entwicklung kommen darüber hinaus APIs zum Einsatz, die nicht im Web Profile enthalten sind, aber eine hohe Praxisrelevanz für professionelle Anwendungen haben. Das heißt, Sie haben am Ende des Workshops den Einstieg in die Entwicklung von Java-EE-7-Anwendungen geschafft, können eigene Java-EE-7-Projekte aufsetzen und Ihre Kenntnisse selbständig durch weiterführende Literatur perfektionieren. Für wen ist das Buch? Auch wenn Sie im Buch viel über die Neuerungen bei Java EE 7 im Vergleich zur Vorversion erfahren, so ist es nicht vorrangig für erfahrene Java-EE-Entwickler gedacht, die ihr Wissen auf den neusten Stand bringen möchten. Zielgruppe sind vielmehr Einsteiger, die eine ganzheitliche Einführung in Java EE in der aktuellen Version 7 suchen. Damit das Vorhaben gelingt, setzt das Buch einige allgemeine und einige speziellere Kenntnisse voraus. Zu den allgemeinen Voraussetzungen zählen wir: Gute Kenntnisse in der objektorientierten Programmierung mit Java Grundkenntnisse der Java-SE-API Grundlegendes Wissen über Webtechnologien (HTTP, HTML, Webserver) Grundlegendes Wissen über Datenbanken und XML Grundkenntnisse zu verteilten Systemen Grundlegende Betriebssystemkenntnisse

vi Vorwort Zu den speziellen Voraussetzungen gehören: Grundkenntnisse zu Java-Annotationen Grundkenntnisse einer integrierten Entwicklungsumgebung für Java Kenntnisse über die Kommandozeile des verwendeten Betriebssystems Grundlagen von SQL Falls Sie die speziellen Voraussetzungen nicht mitbringen, ist dies für die Lektüre unproblematisch, denn Sie können das entsprechende Wissen recht schnell parallel zum Workshop nachholen. Die allgemeinen Voraussetzungen sind dagegen etwas umfassender und in der Regel nur über einen längeren Zeitraum zu erlernen. Aus unserer Sicht spricht das Buch deshalb besonders die folgenden Gruppen an (ohne Anspruch auf Vollständigkeit): Webentwickler, die Java-Kenntnisse haben, aber bisher hauptsächlich mit alternativen Webprogrammiersprachen (z.b. PHP, ASP.NET) gearbeitet haben. Java-Entwickler, die bisher für andere Plattformen entwickelt haben (z.b. Desktop oder Mobilgeräte). (*-)Informatik/Wirtschaftsinformatik-Studenten ab den höheren Bachelor- Semestern Bei Java EE handelt es sich um eine mächtige Programmierplattform, in der sich Anfänger leicht verirren können. Ziel des Buches ist es, die Komplexität wo immer möglich abzuschütteln und dem Einsteiger den Blick auf das Wesentliche zu verschaffen. Damit soll der Start erleichtert und die Motivation hoch gehalten werden. Sollten dennoch Java-EE-Experten dieses Buch lesen, so bitten wir bereits jetzt um Verständnis, dass die Vereinfachung von Sachverhalten zwangsläufig auch dazu führt, dass die Vollständigkeit nicht immer gegeben ist. Dies nehmen wir aus didaktischen Gründen bewusst in Kauf. Für die vielen Feinheiten und Alternativwege bleibt nach einem guten Einstieg in das Thema immer noch Zeit. Das Buch liefert außerdem die Basis, sich schnell in neue Aspekte der Java EE einarbeiten zu können. Java EE 7 Java EE liegt seit Ende Mai 2013 in der Version 7 vor. Oracles Referenzimplementierung zu diesem Standard ist der Glassfish-Applikationsserver in der Version 4. Die Zeit zwischen der Veröffentlichung der finalen Java-EE-7-Spezifikation und dem Release anderer marktrelevanter Java-EE-7-Applikationsserver kann aber sehr lang sein. Bei Java EE 6 hat es z.b. gut zwei Jahre gedauert, bis JBoss eine zertifizierte Implementierung bereitstellte. Beim Schreiben des Buches hatten wir den Anspruch, den aktuellen JBoss- Applikationsserver (JBoss AS) zum Einsatz zu bringen auch wenn er zu diesem

Vorwort vii Zeitpunkt lediglich Java EE 6 unterstützt. Denn nach unserer Meinung hat er für Einsteiger die höchste Praxisrelevanz. Gleichzeitig wollten wir der neuen Version 7 des Standards gerecht werden. Die Veränderungen der maßgeblichen Teilspezifikationen (JSF, CDI, JPA, EJB) sind zum Glück größtenteils nicht so gravierend, weshalb wir uns entschlossen haben, einen Großteil der Anwendung für den JBoss 7, der für Java EE 6 zertifiziert ist, zu entwickeln und am Ende einer jeden Iteration einen Theorieteil anzuhängen, der nicht behandelte Themen und Neuerungen in Java EE 7 anspricht. Ganz ohne einen praktischen Java-EE-7-Teil wären wir aber auch nicht zufrieden gewesen. In der letzten Iteration unserer Softwareentwicklung setzen wir den Glassfish-4-Applikationsserver ein und realisieren einen weiteren Aspekt der Webanwendung unter Verwendung der spannendsten neuen Java-EE-7-Technologien wie z.b. WebSockets mit HTML5. Wir finden die Lösung für Java-EE-Einsteiger ideal, da der Leser einen breiten Einstieg in Java EE erhält, die neuen Möglichkeiten von Java EE 7 kennenlernt, die Höhepunkte daraus selbst ausprobiert und dennoch größtenteils mit dem weitverbreiteten JBoss AS 7 arbeiten kann. Zusatzinformationen zum Buch Sie finden den kompletten Sourcecode der im Buch entwickelten Anwendungen My-Aktion und My-Aktion-Monitor auf der bei Entwicklern beliebten Kooperationsplattform GitHub (https://github.com/). In Abschnitt A.3 des Anhangs finden Sie Informationen, wie Sie Git verwenden müssen, um Zugriff auf den Sourcecode zu bekommen. Darüber hinaus gibt es eine Webseite zum Buch, auf der Sie Ergänzungen zum Buch und zum Einsatz von Java-EE-Technologien erhalten. http://www.javaee7.de/tutorial Aufbau des Buches In Kapitel 1 erhalten Sie eine kurze Übersicht zu Java EE. Dabei wird eine Zielarchitektur entwickelt, die uns durch den ganzen Workshop begleitet. In Kapitel 2 widmen wir uns zunächst der Entwicklungs- und Ausführungsumgebung für unser Softwareprojekt. Sie erfahren, wie Sie den JBoss AS installieren und ein erstes Java-EE-Projekt mithilfe von Maven, einem weitverbreiteten Werkzeug zur Verwaltung von Projektkonfigurationen, erstellen und auf den JBoss AS deployen. Der Anhang enthält einen zusätzlichen Abschnitt A.1, der dem interessierten Leser parallel zu Kapitel 2 ein schnelleres Verständnis von Java-EE-Anwendungen auf Quellcodeebene vermitteln soll.

viii Vorwort Das Kapitel 3 beschreibt die zu erstellende Applikation. Dabei werden die fachlichen Anwendungsfälle (engl. Use Cases) und ihre Abläufe, die Fachklassen und die zugehörigen grafischen Oberflächen im Zentrum der Beschreibung stehen. Die Entwicklung der Software soll in mehreren Iterationen durchgeführt werden. Jedes Kapitel realisiert eine Iteration und schließt mit einer Reihe von Aufgaben. Die erste Iteration beginnt in Kapitel 4 mit der Weboberfläche. Nach der in Kapitel 7 beschriebenen Iteration ist die Anwendung voll funktionsfähig. In Kapitel 8 wird ein weiterer Applikationsserver, Glassfish 4, benötigt, um den letzten Anwendungsfall zu realisieren. Dabei kommen neue Java-EE-7-Technologien zum Einsatz. Kapitel 9 widmet sich dem Thema»Java EE 7 und die Cloud«. Zwar soll eine Standardisierung des Themas erst mit Java EE 8 kommen, aber bereits heute gibt es einige proprietäre Cloud-Angebote für Java-EE-Anwendungen. Wir zeigen das Deployment der entwickelten Anwendung My-Aktion für den Cloud-Anbieter OpenShift. Letzterer bietet JBoss-7-Instanzen in der Cloud an und ermöglicht so die Verbreitung von Java-EE-Applikationen im Web ohne den Betrieb eines eigenen Servers.