Java
JV1: Von der Analyse bis zum Deployment - am Beispiel von Java SE 6/Java EE 5 (3 Tage)
- Adam Bien adam-bien.com

Montag, 26. Februar, bis Mittwoch, 28. Februar
In diesem Workshop werden wir gemeinsam eine einfache Java SE 6- bzw. Java EE 5-Anwendung entwickeln. Nach der realistischen Analyse der funktionalen und nicht funktionalen Anforderungen sowie Randbedingungen (z.B. strategische bzw. politische Entscheidungen im Unternehmen), werden wir gemeinsam eine geeignete Architektur entwerfen. Nach dieser interaktiven Phase beginnen wir mit dem Design der Anwendung. Dabei werden uns Java EE 5-, EAI- und GoF-Patterns helfen. Fragen wie z.B. Fat vs. Thin Clients, JPA 3.0 vs. DAO, JCA vs. Eigenentwicklung oder Inversion of Control bzw. Dependency Injection vs. "klassische Abhängigkeiten", SOA vs. Komponenten bzw. Objekte, oder MDA vs. XP beschäftigen.
Neben der "formalen" Realisierung der Anforderungen wird aber auch in diesem Workshop auf pragmatische Lösungen der Probleme und Herausforderungen (wie z.B. dynamische Abfragen,
optimistische, pessimistische Locks, Caching im Cluster, Isolation Levels, Massen-Updates, Replikation, Monitoring etc.) bei der Entwicklung von Java EE 5 eingegangen. Konkrete Fragen der Teilnehmer werden sofort beantwortet. In den Pausen wird gewöhnlich weiter diskutiert :-).
Die wichtigsten Teile der Anwendung werden mit den folgenden (Open-Source-)Tools:
- Eclipse 3.2 mit Plug-ins (WTP, TPTP) und oder NetBeans 6.0 mit Visual Web Pack
- Ant 1.7
- JSF/Seam
- JBoss 4.0.4, Glassfish v2
- JUnit 4.1
- JMeter (Lasttests)
- Easymock
- Fit/Fitnesse
- JConsole/JMX
- J2SE 1.5/1.6
Systemvoraussetzungen:
- Laptops/PC mit mindestens 512 MB- - besser 1 GB-Speicher.
- ein CD-Laufwerk bzw. USB-Port (für die Installation der Umgebung)
- motivierte Java/Java EE 5-Entwickler mit Projekterfahrung (mit Betonung der Motivation :-)
- Java 5 EE-Grundkenntnisse => können Sie die folgenden Fragen beantworten: Wofür braucht man überhaupt Transaktionen (Beispiel/UseCase)? Warum haben Remote Entity Beans nicht funktioniert? Was ist eine Session Bean (besser noch der Unterschied zwischen stateful und stateless Session Beans)? Was ist eine Entity Beans? Sind sie performant? Gibt es Alternativen? Was ist ein Servlet? Ist SOAP effizient und performant? Würden Sie immer Java EE in Ihrem Projekt einsetzen? Sicherer Umgang mit einer IDE Ihrer Wahl (z.B. vi, emacs, IDEA, Eclipse, NetBeans, usw.).
JV2: JSF-Anwendungen selbst gekocht (2 Tage)
- Martin Marinschek IRIAN.at
- Alexander Jesse

Montag, 26. Februar, bis Dienstag, 27. Februar
JavaServer Faces, der Standard für die Entwicklung von Web-Anwendungen
unter Java, bringt neuen Schwung in die Entwicklung von
hochdynamischen Webapplikationen des Webs in der Version 2.0. Wir
zeigen Ihnen, wie Sie JSF produktiv einsetzen können. Am ersten Tag
behandeln wir hands-on die Grundlagen des Standards - Navigation,
Aktionen, Managed-Beans und Internationalisierung stehen am Programm.
Am zweiten Tag beschäftigen wir uns mit der Entwicklung eigener
Komponenten und sehen uns die Möglichkeiten an, die die
Ajax-Komponenten von Apache MyFaces mit sich bringen. Beispielsweise
stellen wir gemeinsam den Paginator von Apache MyFaces auf die
Ajax-Technologie um.
Systemvoraussetzungen:
- Laptop mit JDK 1.5
- Oracle JDeveloper
JV3: Hands-On Workshop: Apache Axis2 (3 Tage)
- Thilo Frotscher T.Frotscher Systemsoftware-Entwicklung

Mittwoch, 28. Februar, bis Freitag, 2. März
Die Web Service-Technologie hat in jüngster Vergangenheit große Schritte nach vorne gemacht. Neue und mächtigere Web-Service-Frameworks wurden verfügbar und damit auch Implementierungen wichtiger, weiterführender Spezifikationen. Eines der wichtigsten dieser neuen Frameworks ist Apache Axis2, das inzwischen in Version 1.1 erhältlich ist.
In diesem Workshop lernen Sie, wie moderne Web-Service-Anwendungen mithilfe von Axis2 erstellt werden können. Sie erfahren alles über seine interne Architektur und die vielen neuen Features, wie z.B. AXIOM, Module, Phasen, mitgelieferte Eclipse-Plug-ins oder die Unterstützung für WS-Security, WS-Reliable Messaging und WS-Addressing. Anhand praktischer Übungen und zahlreichen Beispielen aus realen Projekten trainieren Sie den Umgang mit dem neuen Framework und den Einsatz des Contract-First-Ansatzes.
Agenda:
- Einführung in Axis2
- Architektur-Überblick
- AXIOM - das neue Objektmodell
- Databinding: ADB (Axis Data Binding), alternative Data Bindings: XmlBeans, JiBX, etc.
- Implementierung und Deployment von Services
- Implementierung von Clients (synchron/asynchron)
- One-way Messaging vs. Request-Response
- Entwicklung von Handlern und Modulen
- Das neue Phasen-Konzept
- Weiterführende Spezifikationen: Konzepte und Einsatz mit Axis2 - WS-Addressing, WS-Security, WS-Policy, WS-Reliable Messaging
- Debugging und Test von Web Services
- Erstellung interoperabler XML Schemas und WSDLs
Systemvoraussetzungen:
- Laptop mit Windows 2000/XP
- JDK 5.0 (JRE ist nicht ausreichend!)
- ein ZIP-Tool (WinZip oder aehnliches)
- bevorzugte IDE, idealerweise Eclipse WTP 1.5.2
JV4: Praktischer Einstieg in das Spring 2.0 Framework (2 Tage)
- Peter Welkenbach Trivadis
- Guido Schmutz Trivadis

Mittwoch, 28. Februar, bis Donnerstag, 1. März
Das Spring Framework wurde mit dem Ziel entwickelt, komplexe Java EE-Architekturen leichter testbar und wartbar zu machen. Spring agiert als organisierende Schicht zwischen den verschiedenen Komponenten, wobei die Komponenten selbst nicht speziell für Spring geschrieben sein müssen. In diesem Workshop lernen Sie die Vorteile leichtgewichtiger Container und Metaframeworks kennen. Dabei werden die Prinzipien anhand von praktischen Übungen vertieft.
(Systemvoraussetzungen Ihres Notebooks: mindestens 512 MB RAM, mindestens 1.5 GHz, mindestens 2.5 GB freie Plattenkapazität, Windows)
Inhalt
- Inversion of Control (IoC) und Dependency Injection
- Konfiguration von Spring-Objekten: BeanFactory und ApplicationContext; Konfiguration mit Custom XML Namespaces
- DAO (Data Access Object) Support
- Integration von Spring mit O/R Mapper Frameworks
- Aspect Oriented Programming (AOP) mit Spring
- Deklaratives Transaktions-Handling mit Spring AOP
- Web GUI: Spring MVC; Integration mit JaverServer Faces; Integration von JasperReports; Testen mit FIT und Selenium
- Zugriff auf und Implementieurng von EJBs
- Spring Remoting (z.B. Webservices mit XFire, Hessian)
- Spring und JMS (z.B. MantaRay)
- Spring und Scriptsprachen (z.B. Groovy)
JV5: Advanced Spring Security mit Acegi, AspectJ und CAS (1 Tag)
- Michael Wiesner Softcon IT-Service GmbH

Freitag, 2. März
Mit dem Gespann aus Acegi, CAS und den darunter liegenden Techniken wie Spring und AspectJ steht nun eine umfangreiche Sicherheitsplattform zur Verfügung, die unabhängig von Containern, Webframeworks und Enterprise-Architekturen arbeitet. In diesem Workshop geht es um den Einsatz von Acegi als universelle Security-Plattform, den Aufbau eines Single-Sign-On mit CAS, das Umsetzen einer Defense-in-Depth-Strategie mit Acegi und AspectJ, das Erweitern des Acegi-Framworks und das Testen von Sicherheitsmerkmalen mit JUnit und FIT. Während dem Workshop wird mit den Teilnehmern zusammen eine durchgängige Beispielanwendung entwickelt, deswegen Notebook mit Eclipse IDE mitbringen.
Systemvoraussetzungen:
- Laptops mit JDK 5.0
- Eclipse IDE 3.2.1
- Eclipse Plugin: Eclipse Web Tools Platform (WTP) 1.5.2
- Eclipse Plugin: Spring IDE 1.3.6
- Eclipse Plugin: AspectJ Development Tools (AJDT) 1.4.1




