Power Workshops
Java EE 6: Back in Business
Jens Schumann
open knowledge GmbH
Die Java Enterprise Edition (kurz: Java EE) erlebt aktuell eine Renaissance – und dies zu Recht. Und auch die Java EE Komponentenmodelle sind spätestens seit EJB 3.0 und Contexts and Dependency Injection (CDI) wieder salonfähig. Java EE bietet deutlich mehr als nur eine lose Sammlung von Spezifikationen. Neben reiner Technologie definiert sie vor allem Architekturansätze und Konzepte für die Entwicklung und Integration moderner, mehrschichtiger Enterprise-Anwendungen – egal ob Portale, Web-, Desktop- oder Mobile-Clients. Der praxisorientierte Workshop Java EE 6: Back in Business beschäftigt sich anhand eines umfangreichen, praktischen Beispiels eingehend mit den Grundkonzepten von Java EE 6 und veranschaulicht neben der reinen Implementierung auch andere, wichtige Facetten des Enterprise Software Life Cycles.
Der Workshop ist bewusst so aufgebaut, dass sowohl Anfänger als auch Fortgeschrittene auf ihre Kosten kommen. Nach einer kurzen Einführungs- und Orientierungsphase konzentriert sich der Workshop im weiteren Verlauf praxisnah auf die Neuerungen und Möglichkeiten von Java EE 6.
Agenda
Java EE – it’s time for a change
Der erste Themenblock dient zur Einführung in die Grundlagen von Java EE und die damit verbundenen Kerntechnologien. Im Fokus stehen hierbei die neuen Features von Java EE 6 sowie die Beantwortung der Frage: „Warum macht es gerade jetzt Sinn, mit Java EE zu starten?“.- Java EE 6 Grundkonzepte (Inversion of Control, Dependency Injection, Code over Convention, ...)
- Java EE 6 Architektur und Komponentenmodell (Klassisches Schichtenmodell vs. Event-/Messaging Modell, ...)
- Java EE 6 Laufzeitumgebung (EJB Container, Contexts and Dependency Injection for the Java EE Plattform)
Klassisches Schichtenmodell
Nachdem zu Beginn mehrere Java EE Architekturansätze skizziert wurden, wird im zweiten Block ein erster Ansatz - anhand von Theorie und Praxis - im Detail anhand einer umfangreichen Beispielanwendung erarbeitet: das klassische Schichtenmodell.- Architekturbetrachtung: Visualisierung, Business Logik, Persistenz
- Technologiebetrachtung: Java Server Faces, CDI, Enterprise Java Beans , Java Persistence API
- Putting together: Schichtentrennung und Architektur, Schichtentrennung und Technologie
Event-/Messaging-Modell
Neben dem klassischen, synchronen Schichtenmodell, gibt es im Java EE Umfeld noch weitere interessante Ansätze, performante und hoch skalierbare Enterprise Architekturen zu realisieren. Einer dieser Kandidaten – das Event-/Messaging Modell - setzt auf asynchrone Kommunikation und die damit verbundenen Vorzüge. Der Block „ Event-/Messaging Modell“ nimmt dieses Thema unter die Lupe und zeigt, wie die Beispielanwendung entsprechend erweitert und angepasst werden kann.- Architekturbetrachtung: Messaging, Events, Timer
- Technologiebetrachtung: CDI Eventmodell, Java Messaging Service, Message Driven Beans, Timer Service
- Putting together: „Don’t call me, i’ll call you“
Java EE Pattern im Fokus
Wohl kaum eine Technologie hat so viele eigene Pattern und Anti-Pattern nach sich gezogen, wie in den Jahren 2002/2003 die Java 2 Enterprise Edition. Der Block „Java EE Pattern im Fokus“ beschäftigt sich mit eben diesem Thema. Technologie getriebene und historische gewachsene BluePrints und Pattern werden kritisch hinterfragt und - sofern überhaupt noch notwendig - verbesserte Lösungen für die „schöne neue Java EE Welt“ aufgezeigt.- J2EE Pattern kritisch hinterfragt
- Die neuen Java EE Pattern
- CDI ist auch „eine“ Lösung
Teilnehmervorraussetzungen
Neben Java EE Einsteigern und Aufsteigern – also Entwicklern mit J2EE Erfahrung – ist der Workshop auch für Java EE Umsteiger, wie zum Beispiel erfahrene Spring-Entwickler, die einmal einen Blick in die „andere“ Enterprise-Java-Welt werfen wollen, interessant. Eine gewisse Grundkenntnis im Java-Enterprise-Umfeld ist von Vorteil, aber nicht zwingend erforderlich.Systemvoraussetzungen
Einen eigenen Rechner mit mind. 1, besser 2 GB Speicher, sowie vorinstalliertem JDK 6 sollten Sie für die Bearbeitung praktischer Übungen an allen Tagen mitbringen.
Enterprise goes Mobile: Push - Services mit Android und BlackBerry
Ekkehard Gentz
Independent Software Architect
Die meisten Enterprise Projekte stehen früher oder später vor der Aufgabe, mobile Endgeräte einzubinden. Als Entwickler oder Software Architekt sollte man gewappnet sein und sich unabhängig vom aktuellen Hype mit mehr als einer Plattform beschäftigen.
Bei der Integration von mobilen Geräten stellen sich viele Fragen: Wie kommuniziert das mobile Gerät mit dem Server ? Wie werden Daten optimal ausgetauscht? Wie kann mein Server mit unterschiedlichen mobilen Plattformen gleichzeitig kommunizieren?
In diesem Workshop erarbeiten wir den kompletten Lifecycle, um Informationen aus Businessanwendungen zu mobilen Geräten zu senden. Dazu setzen wir auf die Push Service SDK's, die von Google für Android und von RIM für BlackBerry Smartphones kostenfrei zur Verfügung gestellt werden.
Der erste Tag steht im Fokus von OSGI und PushService SDK's: wir erstellen eine Serverarchitektur, die mit unterschiedlichsten mobilen Plattformen kommunizieren kann. Am zweiten Tag betrachten wir die mobilen Devices am Beispiel von Android und BlackBerry: Wie reagiert das Device auf Push Notifications und was ist bei einer folgenden Kommunikation mit dem Server zu beachten?
Während des Workshops erstellen wir eine lauffähige mobile Anwendung, die mit einem OSGI Server kommuniziert. Die vorgestellten und eingesetzten Frameworks sind Open Source bzw. kostenfrei nutzbare SDK's. Alle Beispiele können Sie daher auch nach dem Workshop zuhause in Ruhe nacharbeiten. Der Workshop ist praxisorientiert und alle Beispiele sind in der täglichen Arbeit mit Kundenprojekten entstanden.
Agenda
Überblick
Notifications Datenkommunikation1. Tag: OSGI Server / Push Service SDK's
Überblick
Equinox als OSGI Server
- Integration des Eclipse Communication Frameworks (ECF) als TCP Socket Server
- Eclipse Riena RCP / RAP als Business Desktop/Web Client Anwendung
- OSGI Services
PushService SDK's:
- RIM: BlackBerry Push Services (BES/BIS)
- Google: Android Cloud to Device Messaging Framework (C2DM)
- Unterschiede, Installation, Registrierungsprozess
praktische Übungen
- Einrichten der Push Services
- Erstellen der OSGI Services
- ECP - TCP Socket Server
2. Tag: mobile Anwendung / Push - Notifications und Kommunikation
Überblick
- Notifications
- Datenkommunikation
- Hintergrundanwendungen
- Architektur der mobilen Anwendung
praktische Übungen:
- Empfang von Push-Notifications
- Datenaustausch mit dem Server
Teilnehmervorraussetzungen
Der Workshop ist für Anfänger und Fortgeschrittene geeignet – Sie sollten aber praktische Erfahrung in der Entwicklung von Java Anwendungen für Enterprise (Java EE, Spring, OSGI) oder mobile Endgeräte besitzen.Systemvoraussetzungen
Da wir Code erstellen, benötigen Sie einen eigenen Rechner mit möglichst 2 GB Speicher und Java 6. Genaue Informationen zur Vorbereitung des Laptops werden 8-10 Tage vor dem Workshop zur Verfügung gestellt. Wer ein Android oder BlackBerry SmartPhone mitbringt, kann die Anwendungen sofort austesten – aber auch ohne ein passendes Device lässt sich alles simulieren.
JSF 2 für Updater
Andy Bosch
Berater und Trainer
Dieser Kurs geht speziell auf die Neuerungen in JSF 2.x ein. Es wird vorausgesetzt, dass sie sich bereits mit JSF 1.x beschäftigt haben. In zwei Tagen wird kompakt auf die neuen Möglichkeiten mit JSF 2 eingegangen. Es werden alle Features ausführlich behandelt, die sich gegenüber der alten Version von JSF verändert haben bzw. neu in die Spezifikation aufgenommen wurden.
Da JSF 2 vor allem auch angetreten ist, das Zusammenspiel und die Integration mit Komponentenbibliotheken zu verbessern, wird als Abschluss ebenfalls noch auf die aktuelle Richfaces-Version eingegangen, die bereits eine vollständige JSF2 Integration aufweisen kann.
Inhalte 1. Tag
- Entstehungsgeschichte zu JSF 2
- Überblick über die neuen Features
- Funktionsweise der View Declaration Language
- Neue Annotationen für Managed Beans
- Implizite Navigation
- Resource Handling
- Resource Relocation
Inhalte 2. Tag
- Composite Components
- Viewparameter
- SystemEvents
- Ajax
- RichFaces und JSF 2.x
Architekturen für hochskalierbare Webanwendungen
Stefan Tilkov
innoQ Deutschland GmbH
Till Schulte-Coerne
innoQ Deutschland GmbH
Das Web gewinnt auch in Unternehmen sowohl für interne als auch externe Dienste immer mehr an Bedeutung. Ein tieferes Verständnis der Architektur und der Technologien des Webs ist daher auch für viele Enterprise Entwickler und Architekten von tieferer Bedeutung. Besonders wichtig ist dieses Verständnis bei der Entwicklung von hochskalierbaren Webanwendungen, da gerade diese den richtigen Umgang mit den Methoden und Technologien des WWW erfordern.
Der Workshop besteht aus detaillierten Betrachtungen der Protokolle und gängiger Technologien sowie aus der Beleuchtung verschiedener Szenarien und Architekturvarianten diese sinnvoll einzusetzen. Dabei ist er aber größtenteils unabhängig von Frameworks bzw. Programmiersprachen gestaltet und beleuchtet diese höchstens am Rande. Der Workshop soll ein umfassendes Bild verschiedener Varianten zur Erstellung von Web-Applikationen für unterschiedliche Einsatzszenarien vermitteln, wofür Vor- und Nachteile verschiedener Ansätze diskutiert werden. Außerdem werden Architekturen und Methoden vorgestellt, um sichere und performante Webanwendungen zu entwickeln sowie vorhandene Anwendungen zu beschleunigen bzw. zu entlasten.
Agenda
- Einführung
- HTTP
- Web vs. Enterprise
- Web-Infrastruktur
- Interne Architektur von Web-Anwendungen (Architekturvarianten, Hintergrundverarbeitung, Optionen für Persistenz / NoSQL)
- Security (Authentifizierung vs. Autorisierung, Architekturvarianten)
- Plattformen / Einführung Cloud Computing
- Frontend Optimierung
- Architekturoptionen und Anwendungsfälle
- Zusammenfassung der Kernaussagen
Teilnehmervorraussetzungen
Einige wenige grundlegende Erfahrungen im Bereich Web-Entwicklung sollten vorhanden sein.
Hibernate
Michael Plöd
Senacor Technologies AG
Im Rahmen des Workshops wird die Entwicklung leistungsfähiger Persistenzschichten mit Hilfe von Hibernate und JPA2 für Einsteiger vermittelt. Dabei wird sowohl auf die Hibernate als auch auf die JPA2 API eingegangen und alle relevanten Mapping- und Abfrage-Möglichkeiten vermittelt. Des Weiteren geht das Seminar zu Beginn auf wichtige theoretische Grundlagen rund um das Thema OR-Mapper ein.
Agenda
- ORM im Überblick
- Schnelleinstieg Hibernate
- Mapping Grundlagen
- Fortschrittliche Mappings
- Abfragen
- Session / Entity Manager API und Lebenszyklus
- Integration von Hibernate / JPA in Architekturen
- Best Practices / Tuning
Systemvoraussetzungen
- Instaliertes JDK 1.5 aufwärts
- Maven 2.x installiert und lauffähig
- Entwicklungsumgebung ist beliebig, Trainer arbeitet mit IDEA

