Cocoon ist eines der führenden Komponenten-Frameworks für Cross-Publishing, Webanwendungsentwicklung und Systemintegration und gehört zu den aktivsten Projekten der Apache Software Foundation. In der Regel ermöglicht Cocoon eine deutlich effizientere Entwicklung als bspw. PHP oder ASP, oftmals übertrifft es sogar die Entwicklung mit JSP/Struts.
Der Einstieg ist jedoch aufgrund der großen Breite an Einsatzmöglichkeiten und der hohen Flexibilität oft aufwändig. Dieses Buch hilft dabei, diese Hürde zu nehmen, und bietet Anfängern und fortgeschrittenen Entwicklern in den Bereichen Cross-Publishing und Webanwendungsentwicklung einen schnellen und praxisorientierten Einstieg. Anhand typischer Szenarien vermittelt es die Konzepte, die hinter den grundlegenden Aufgabenstellungen und den benötigten Technologien stehen. Darauf aufbauend präsentiert es Beispiele, die sich als "Best-Practices" in der Cocoon-Community herauskristallisiert haben und die der Leser auf seine eigenen Projekte übertragen kann.
Behandelt werden u.a.:
- Cocoon als Publishing-Framework
- Programmierung von Cocoon-Anwendungen (Seiten durchsuchen, Formulare erstellen, Datenbanken anbinden)
- Entwicklung Client-neutraler Webanwendungen (Cocoon Forms, Controller-Technologien, Spring und O/R-Mapping-Tools)
- Systemintegration und das Cocoon-Komponentenmodell
- Internationalisierung
- Apache Forrest
- Weitere Einsatzmöglichkeiten von Cocoon (Cocoon in J2EE-Containern, Cocoon und der Apache-Webserver, Cocoon von der Kommandozeile aus verwenden, Entwicklungsumgebungen einrichten)
In einem Tutorial wird eine minimale Webanwendung mit Cocoon auf Basis von Flowscript und Cocoon-Forms präsentiert und anschließend zu einer Gesamtapplikation weiterentwickelt. Ein eigenes Kapitel mit Tipps und Tricks gibt Ratschläge zu Themen wie Debugging, Performance-Messung, Caching und Stores, Log-Files, Error-Handling, Datei-Uploads und Cocoon-Migrationsstrategien.
Das Buch behandelt die Cocoon-Version 2.2.
Vorausgesetzt werden Erfahrungen in XML; nicht notwendig, aber hilfreich sind Kenntnisse in XSLT und Java.