Web 2.0-Applikationen mit JBoss Seam
Empfohlene Schulungsdauer: 2 Tage, insgesamt 16 Unterrichtsstunden à 45 Minuten
Kursziele
JBoss Seam ist ein leistungsfähiges Framework zur Entwicklung von Web-Applikationen für die Java Enterprise Edition. Das Seminar stellt das quelloffene Framework von JBoss (Red Hat) vor, und zeigt, wie Seam die Technologien Enterprise JavaBeans (EJB 3) für das Back-End und JavaServer Faces (JSF) mit Facelets für die Präsentation elegant verbindet. Das Seam Framework eignet sich nicht nur für den JBoss Application Server; mit einfachen Modifikationen lassen sich ebenfalls flexible Web-Anwendungen für den Apache Tomcat oder andere Web-Container entwickeln. In diesem praxisnahen Workshop schreiben die Teilnehmer eine moderne Web-Applikation mit Datenbankzugriff und einfacher AJAX-Funktionalität. Ebenso lernen sie an Beispielen die zentralen Elemente einer Seam-Anwendung kennen: Seam-Kontext, Seam-Komponenten, Bijektion, Lebenszyklus, Ereignisse, Konversationen und Workflow-Modellierung mit Business Process Management (BPM). Die Eclipse-Erweiterung JBossTools unterstützt den Entwicklungsprozess mit einem CRUD-Application Generator und jBPM-Designer. Dieses freie Werkzeug ermöglicht den Teilnehmern, Anwendungen vollständig zu modellieren, programmieren und später mit JBoss oder Tomcat zu deployen. Im Ausblick geht das Seminar auf den neuen JSR 299-Standard CDI (Java Contexts and Dependency Injection) und der Referenzimplementierung Weld ein.
Zielgruppe
Software-EntwicklerKursvoraussetzungen
Gute Programmierkenntnisse in Java, Grundkenntnisse in EJB 3 (JPA) und JavaServer Faces.Seminarinhalte
![[LOGO]](../../images/seminare/logos/seam.png)
Web-Entwicklungen in Java
- Servlets/JPSs im Web-Server
- Entwurfsmuster für mehrschichtige Anwendungen (MVC)
- JavaServer Faces: Komponenten, JSP Expression-Language, Page-Flow, Konverter, Validierung
- Geschäftslogik mit Enterprise JavaBeans (EJB) oder einfachen Java-Objekten (POJOs)
- Flexible Web-Anwendungen mit Front- und Back-End-Komponenten (war, jar, ear)
Erste Anwendungen mit JBoss Seam
- Was ist Seam?
- Seam auf Application-Servern und reinen Servlet-Containern
- Seam-Tools für Rapid Application Deployment
- Erstellung von Seam-Projekten für Eclipse und NetBeans mit Seam-Gen
- Konfigurationen, Injection, Bijection, Seam-Annotationen (@Name,@@DataModel,@Out,@In...)
- HTTP Session, Seam-Kontext, Bindings
- Realisierung des Front-Ends mit JSPs und der Facelets Template Engine
- Seam-Erweiterungen der JSP Expression Language (JSP EL)
- Lebenszyklus von Seam-Komponenten mit Annotationen und Factory-Methoden
- Navigationsregeln für Webanwendungen
- Konversation mit dem Anwender und Realisierung von Transaktionen, Long Running Conversations
Page-Flow- und Prozess-Modellierung
- Prozessmodellierung mit jBPM
- Page-Flow für Benutzerinteraktionen mit Forward- und Rückwärtsnavigation
- RESTful URLs
Erweiterte Seam-Anwendungen
- Parallele Konversationen mit Workspaces
- Internationalisierung
- Erzeugen von PDF- und Rich Text (Word)-Dokumenten mit Seam
- Unit- und Integrationstests von Front- und Back-End-Komponenten mit Test NG-Framework
- Realisierung der Fehlerbehandlung mit Annotationen, Seam-Exceptions
- Themes
- Sicherheit: das regelbasierte Security Framework auf der Basis von JBoss Rules (früher Drools)
- AJAX-Frameworks: ICEfaces und JBoss RichFaces
- Optimierung von Webanwendungen (Clustering, Performance, Speicherlecks, Cache)
- Standardisierung: JSR 299, Java Contexts and Dependency Injection (CDI) (ehemals Web Beans), Weld
Eingesetze Seminar-Software
Als Laufzeitumgebung wird standardmäßig Java SE 6 von Sun zusammen mit der Entwicklungsumgebung Eclipse 3.5 eingesetzt (Paket ›Eclipse IDE for Java EE Developers‹). Auf Wunsch auch NetBeans 6 oder andere Entwicklungsumgebungen (IntelliJ IDEA, Oracle JDeveloper). Die Applikationsserver ist standardmäßig JBoss 5.0 und die Seam-Version 2.2.x.
Weiterführende Seminare
- RichFaces
- Java EE Architektur und Design Patterns
- Enterprise JavaBeans (EJB) 3 und Persistence API
- JBoss Administration
- Tomcat Administration
- Erstellen von Webseiten mit (X)HTML
- Ausgezeichnet in CSS
![Zu einem Bookmark-Anbieter hinzufügen [Addthis]](../../images/bookmarks/addthis.png)
![Zu Google Bookmarks hinzufügen [Google Bookmarks]](../../images/bookmarks/google.png)
![Zu Yahoo! Bookmarks hinzufügen [Yahoo! Bookmarks]](../../images/bookmarks/yahoo.png)
![Zu Delicius hinzufügen [Delicius]](../../images/bookmarks/delicious.png)
![Zu Mister Wong hinzufügen [Mister Wong]](../../images/bookmarks/misterwong.png)