WebLogic Portal 10.3.2 und Java Server Faces (JSF)
Es hat sich herumgesprochen, dass Oracle das Apache Beehive Framework nicht länger unterstützen wird. Die Entwicklung von Portlets soll nun mittels JSF realisiert werden. Aktuell wird jedoch nur die SUN JSF Referenz-Implementierung von Oracle unterstützt. Siehe [1].
Dies ist verständlich, da es sehr viele JSF Frameworks auf dem Markt gibt. Es sind jedoch vor allem die auf Ajax basierenden Frameworks, wie ICEfaces oder ADF Faces, die den Einsatz von JSF reizvoll erscheinen lassen. Wie sieht es mit der Integration solcher Frameworks in das WebLogic Portal aus?
Ist ICEfaces oder ADF Faces im WebLogic Portal möglich?
Der Einsatz von ICEfaces oder ADF Faces für eine reine Web Applikation ohne WebLogic Portal ist ohne Probleme möglich. Werden diese Frameworks im WebLogic Portal benutzt, wird die Angelegenheit jedoch etwas komplexer. In WebLogic Portal 10.3.2 wird (per default) ein JSF 1.2 Portlet mittels der JSR 329 Faces Portlet Bridge in ein JSR 286 konformes Portlet gewandelt. Bei ICEfaces ist hier z.B. das Problem, dass die ICEfaces Bridge nicht durch eine andere JSF Bridge (z.B. JSR 329 Bridge) ersetzt werden kann. Ich stand vor 2 Jahren vor dem Problem mit WebLogic Portal 10, es scheint bei WebLogic Portal 10.3.2 immer noch zu existieren. Siehe [2] bzw [3].
Bei ADF Faces geht aktuell nur der Weg über Oracle Web-Center und WSRP. Siehe [4].
JSF lieber doch nicht?
Das exzellente Whitepaper [5] von Peter Laird und Tim Breeden – auch wenn es für WebLogic Portal 10.3 geschrieben wurde – gibt einen guten Einblick in die Entwicklung von JSF basierten Portlets. Meiner Meinung nach sollte man diesem Dokument folgen und erst einmal auf ICEfaces verzichten. Des Weiteren kann man hinterfragen, ob alle ICEFaces Controls benötigt werden. Mittels jQuery lässt sich bekannterweise auch ein gelungenes UI erstellen.
Was machen Projekte in denen hauptsächlich Beehive Erfahrung existiert?
In einem aktuellen Projekt haben wir dies lange mit unserem Kunden diskutiert. Wir haben uns dann dazu entschieden, momentan mit Beehive zu starten und später auf JSF 2.0, sobald es vom WebLogic Portal unterstützt wird, zu migrieren. Hierbei ist eine klare Trennung von Präsentations- und Businesslogik (in diesem Projekt mittels EJB 3.0) notwendig.