von Heiko Robert, 04.09.2007

Viele kleine dynamische Fenster für das Portalsystem: Alfresco-Anbindung an Liferay

Aus dem
t3n Magazin Nr. 9

Alfresco-Portlets über Web Scripts

Seit dem Release 2.1, das im Juli 2007 erschienen ist, bietet Alfresco eine einfache und flexible Möglichkeit, individuelle Portlets über Templates zu erstellen und sie über den Standard JSR-168 in beliebige Portale einzubinden. So steht zumindest einer Verwendung von Dokumenten und Content aus Alfresco in Portalen nichts mehr im Wege. In Open-Source-Portalen wie Liferay werden zukünftig bereits vorintegrierte Alfresco-Portlets wie beispielsweise „Meine Dokumente“, „Meine Arbeitsbereiche“ und „Meine Aufgaben“ angeboten.

Zur Vereinfachung der Integration von Inhalten in beliebige andere Anwendungen hat Alfresco die so genannten Web Scripts [1] eingeführt. Sie nutzen die in Alfresco eingebundene Template-Engine Freemarker und die serverseitig eingebundene JavaScript-Engine, um ohne großen Programmieraufwand dyna-mische HTML-Fragmente oder -Seiten generieren zu können. Der Name „Web Scripts“ soll ausdrücken, dass JavaScript- und HTML-Kenntnisse ausreichen, um die Elemente zu erstellen, wobei das JavaScript nicht im Browser, sondern auf dem Server ausgeführt wird. Alfresco spricht von „Scriptable MVC for REST, AJAX, Widgets and Portlets“, da die Web Scripts das Model-View-Controller-Konzept über moderne Protokolle und Webtechnologien unterstützen.

Die Web Scripts von Alfresco sind über ein REST-Interface aufrufbar, der einfachsten Form eines Web Service ohne das aufwändige SOAP-Protokoll. Dokumente und dynamische HTML-Fragmente können damit über eine parametrisierbare URL durch beliebige Anwendungen hindurch und aus beliebigen Programmiersprachen heraus eingebunden werden. Erste Anwendungsfälle für Web Scripts sind neben den nachfolgend beschriebenen Portlets die Integration von Alfresco-Dialogen in Microsoft Office und die Portlet-ähnlichen „Dashlets“ in der Webanwendung Alfresco selbst.

Einbindung über JSR-168

Zur Einbindung von Web Scripts und damit von Dokumenten und Content in Portale geht Alfresco einen eleganten Weg: Es stellt zeitgleich mit der im September erscheinenden Enterprise-Network-Version 2.1 ein generisches JSR-168-konformes Portlet zur Verfügung, das die im ECM-System abgelegten Portlet-Definitionen aufruft und die darin referenzierten Web Scripts ausführt. Im Gegensatz zu den meisten Portlet-Implementierungen wird daraufhin kein HTML zwischen Alfresco und dem Portlet ausgetauscht, sondern JSON, ein im Vergleich zu XML kompakteres Austauschformat. JSON hat nicht nur den Vorteil, dass es weniger Overhead erzeugt als XML, sondern auch recht einfach in JavaScript als Objekt verwendet werden kann. JSON wird nicht, wie man es vermuten könnte, serverseitig durch die Portletlogik in HTML aufbereitet, sondern direkt im Browser durch eine Kombination aus DHTML und JavaScripts gerendert. Man spricht dabei auch von Widgets.

Seite:  1 2 3 4

Empfohlene Artikel