Portlet Tutorial mit Liferay
Das folgende Tutorial widmet sich der Erstellung eines einfachen Hello World Portlets. Als Portalserver kommt dabei die Opensource Software Liferay zum Einsatz. Dessen Entwickler beschreiben den Server als "...the world's leading portal and social collaboration software...". Das ist zwar natürlich stark übertrieben, aber zugegebener Maßen das Ding ist echt schon geil :)
Portal und Portlet
Aber zurück zum Thema. Damit wir mit einem konkreten Beispiel beginnen können, sollten wir erst einmal die Begriffe Portal und Portlet näher beleuchten. Die Portlet Spezifikation definiert ein Portal als webbasierte Applikation, die authentifizierten und personalisierten Zugriff auf aggregierte Inhalte bietet. Als Aggregation versteht die Spezifikation das integrieren von Inhalten von unterschiedlichen Quellen innerhalb einer Seite. Dabei können die Inhalte dem Benutzer personalisiert angeboten werden. D.h., jeder Benutzer definiert sich seine anzuzeigenden Inhalte. Eine Portalseite setzt sich somit aus mehreren Portlets zusammen.
Ein Portlet ist eine Applikation, die eine spezifische Information bzw. einen spezifischen Service anbietet. Diese kann dann innerhalb einer Portalseite verwendet werden. Die einzelnen Portlets werden vom Portlet-Container verwaltet. Die Portlets können innerhalb des Containers beliebig ein- und ausgehängt werden und stellen in Komponentenform eine Sicht auf (unterschiedliche) Informationssysteme dar. Der Inhalt eines Portlets wird auch Fragment genannt. Ein Fragment ist ein Stück Markup und bildet mit anderen Fragmenten ein komplettes Dokument.
Der angesprochene Portlet Container verwaltet den Lebenszyklus der Portlets und stellt diesen einen Kontext bereit. Er ist es, der die Anfragen entgegennimmt und an die entsprechenden Portlets verteilt. Im Gegensatz zu einem Servlet Container stellt der Portlet Container auch Logik zum persistenten Speichern der Einstellungen der einzelnen Portlets bereit. Das nachfolgende Beispiel verwendet die Portlet Spezifikation 2.0, welche im Java Community Process unter der Abkürzung JSR 286 bekannt ist.
Servlets und Portlets
Portlets und Servlets haben viele Gemeinsamkeiten, aber auch gravierende Unterschiede. Der folgende Abschnitt bemüht sich diese Parallelen und Unterschiede im Detail darzustellen.
Ein Servlet ist eine in Java geschriebene Webkomponente, die ebenfalls von einem Container verwaltet wird und dynamische Inhalte erzeugt.
Gemeinsamkeiten von Portlets und Servlets:
- Beide sind in Java geschriebene Webkomponenten
- Beide werden von einem Container verwaltet
- Beide generieren dynamische Inhalte
- Beider Lebenszyklus wird von einem Container verwaltet
- Beide kommunizieren mit dem Client durch ein Request/Response Paradigma
Trotz der vielen Gemeinsamkeiten gibt es auch große Unterschiede:
- Portlets generieren keine kompleten Dokumente, sondern nur Fragmente. Das Portal setzt die verschiedenen Fragmente zu kompletten Portalseiten zusammen.
- Portlets können nur über URLs, die durch die Portlet API erzeugt wurden, angesprochen werden.
- Clients interagieren mit einem Portlet immer über ein Portal System.
- Portlets arbeiten und interagieren in einem bestimmten Modus (View, Edit, Help, benutzerdefiniert)
- Portlets können mehrfach innerhalb einer Portalseite existieren
- Portlets können Konfigurationsdaten und Anpassungsdaten persistieren
- Portlets haben Zugriff auf Benutzerprofil Informationen
Auf Grund der Unterschiede hat man sich im Rahmen des Java Community Prozesses entschlossen, dass Portlets keine Servlets sind, sondern eine neue Komponente! Nichtsdestotrotz können Portlets auch Java Server Pages oder Servlets verwenden.
To be continued....

Kommentare
Hallo
wird das Tutorial noch irgendwann hier rein gesetzt?
Oder hat sich das erledigt?
Viele Grüße,
Christian
christian.kudra@bureau42.de
Hallo Christian,
das Tutorial wird auf jeden Fall noch reingesetzt, nur die letzte Zeit war etwas Land unter. Das Beispiel steht auch soweit eigentlich schon. Aber super, dass du daran Interesse zeigst, das gibt auf jedenfall Motivation das in nächster Zeit abzuschließen.
Sollten soweit Fragen sein, etc bitte einfach einen Kommentar hinterlassen.
Viele Grüße
Jens
bitte schnell fortsetzen... ;)
Hallo Jens,
hier ist noch ein Interessent, der an einer Fortsetzung interessiert ist.
:)
Beste Grüße
Andreas
Jo, hier noch einer ;-)
Gruß
Jo
Hey stellt des Ding hier bitte ein, wäre cool von Dir!
warte auch scho seit längeren gespannt ;) das wär super wenn du den weiteren Teil online stellst
Jetzt wäre mal der richtige Zeitpunkt, genau jetzt !!! ;-)
Let´s go wär genau das richtige gewesen JETZT ;-)
Wie lange dauert es noch?
Guter Schreibstil, würde mich über die Fortsetzung wirklich sehr freuen
Wir sind gerade dabei ein Liferay Portal aufzusetzten und daher ist dieses Thema besonders interesant für uns.
Wäre schön weitere Infos zu diesem Tutorial zu erhalten.
Schöne Grüße
Christian
www.ragesoft.de
Wir werden uns demnächst ebenso mit Portlets auf einem Liferay Server beschäftigen, daher fände ich es schön, wenn Dein Tutorial bald fortgesetzt würde.
Schöne Grüße
Auch ich würde mich sehr freuen, wenn es eine Fortsetzung gibt
Gast
ich glaube nicht, dass hier noch was kommt ... :-(
Das glaube ich auch
noob
wenigstens haben sich viele leute darauf gefreut :D
Kommentar hinzufügen