Als ich das Buch "Portlets und JavaServer Faces" zum ersten Mal in der Hand gehalten habe, war ich zugegebenermaßen zunächst ein wenig skeptisch. Zwei so umfangreiche Themen in einem Buch. Und das Ganze auf deutlich unter 300 Seiten. Kann das gut gehen? Um die Antwort gleich vorweg zu nehmen: Ja, es kann gut gehen. Es kann sogar sehr gut gehen. Aber von Anfang an.
JavaServer Faces stellen heute eine der führenden Technologien im Webumfeld dar. Und auch Portale bzw. Java Portlets gewinnen in den letzten Jahren mehr und mehr an Bedeutung. Was liegt da also näher, als sein zukünftiges Portal auf Basis von JavaServer Faces zu implementieren. Soweit die Theorie. Die Praxis sah in den letzten Jahren leider nicht ganz so rosig aus. JavaServer Faces und Portlets schienen irgendwie nicht zueinander finden zu wollen und konnten in der Regel nur über proprietäre Lösungen zu einem reibungslosen Zusammenspiel gebracht werden. Genau an dieser Problematik setzt der Autor Andy Bosch, Mitglied der Expert Group des JSR-301 (Portlet Bridge Specification for JavaServer Faces) und des JSR-329 (Portlet 2.0 Bridge for JavaServer Faces 1.2 Specification), in seinem Buch "Portlets und JavaServer Faces" an. Er zeigt wie sich JavaServer Faces optimal mit der Portlet-Technologie verbinden lassen und verdeutlicht im Detail, wo eigentlich genau das Problem dieses "Dreamteams" liegt bzw. in der Vergangenheit lag. Um zu verstehen, wie die beiden Welten optimal miteinander verbunden werden können, ist es zunächst essentiell die einzelnen Technologien – Portlets und JavaServer Faces – im Detail zu begreifen. Zu diesem Zweck widmet der Autor sowohl den Portlets als auch den JavaServer Faces jeweils ein eigenes Kapitel.
In dem ausführlichen Einführungskapitel zur Thematik Portlets, das durchaus auch für Leser interessant ist, die sich nur mit diesem Thema beschäftigen möchten, wird zunächst erläutert, was überhaupt unter einem Portal zu verstehen ist und welche Rolle die einzelnen Komponenten – Portalcontainer und -benutzer sowie Portlets – in einem Portal spielen. Ein erstes "Hallo Portlet-Welt"-Beispiel verdeutlicht die Theorie an der Praxis und gibt ein Gefühl für den Aufbau, die Konfiguration und das Deployment von Portlets innerhalb eines Portlet-Containers. Bereits in diesem Kapitel wird explizit auf die beiden Portlet-Spezifikationen JSR-168 und JSR-286 eingegangen. Auch der zweite Namensgeber dieses Buchs – JavaServer Faces – wird in einem eigenen Kapitel in seinen Grundelementen inklusive "Hallo JSF-Welt"-Beispiel vorgestellt. Neben dem zum Verständnis von JavaServer Faces essenziellen JSF-Lebenszyklus und grundlegenden Elementen, z. B. Managed Beans, Navigation, Konvertierung oder Validierung, wird vor allem auch das Konzept der JSF-Komponenten im Detail beleuchtet. Wie aber werden die beiden bisher beschriebenen Welten nun miteinander verbunden? Genau dieser Frage widmet sich der restliche Teil des Buchs. Angefangen mit einer tiefgehenden Erläuterung des standardkonformen Open-Source-Portalservers von JBoss, der im Rahmen des Buchs als Basis für die praktischen Beispiele verwendet wird, beschreibt Bosch in dem Kapitel "Putting it together" die Basis des reibungslosen Zusammenspiels zwischen Portlets und JavaServer Faces: Die JSF Portlet Bridge (JSR-301). Ausgehend von der Fragestellung, ob die Welt wirklich einen Standard für dieses Szenario benötigt – die Antwort lautet selbstverständlich JA – beschreibt das Kapitel theoretisch die grundlegende Funktionsweise des JSR-301. Wie das Ganze am Ende auch in die Tat umgesetzt werden kann, wird in einem weiteren Kapitel anhand eines Beispiels inklusive Konfiguration und Deployment verdeutlicht. Der Fokus des Buchs liegt klar auf Portlets und der im JSR-301-spezifizierten JSF Portlet Bridge. Die notwendigen theoretischen Erläuterungen werden immer wieder durch praktische Beispiele veranschaulicht und somit die beschriebenen Zusammenhänge leicht verständlich. Dass der Autor Andy Bosch nicht nur aus der Theorie erzählt, sondern weiß, wovon er schreibt, wird spätestens in dem Unterkapitel "Do´s und Dont´s" deutlich, in dem sich wichtige Tipps und Tricks aus der Praxis finden.
Abschließend bleibt anzumerken, dass es im deutschsprachigen Raum kein weiteres Buch gibt, das sich mit den beiden Themen Portlets und JavaServer Faces in Kombination beschäftigt. Und auch international findet man wahrscheinlich kein vergleichbares Werk, das den Fokus auf die reibungslose Zusammenarbeit von Portlets und JavaServer Faces setzt. Alles in allem ein empfehlenswertes Buch für alle Entwickler, die planen, ihr nächstes Portal mithilfe der JSF-Technologie zu realisieren.




