Eine Einführung

Portalkomponenten in Java

Stefan Zörner

Portale – der maßgeschneiderte Zugang zum Web. Mit Portlets als Bausteinen lassen sich Web-Oberflächen auf die Bedürfnisse des jeweiligen Nutzers zuschneiden. Dieser Artikel gibt eine kurze Einführung zu Portalkomponenten in Java, so genannten Portlets.

Portal [„Vorhalle“] das; -s, -e: 1. [prunkvolles] Tor, Pforte, großer Eingang.
2. … (aus „Der Duden in 10 Bänden: 5. Das Fremdwörterbuch“)

Portlets

von Stefan Zörner


Dieser Onlineartikel ist ein Auszug aus dem Buch „Portlets. Portalkomponenten in Java “ von Stefan Zörner, das bei entwickler.press erschienen ist. Sie können das Buch im Onlineshop von entwickler.press erwerben.

entwickler-press.de

In der IT-Landschaft existiert keine einheitliche Definition für den Begriff „Portal“. Mal wird ein Webauftritt bzw. eine Webapplikation besonderer Form,
mal eine Softwarelösung zur Realisierung einer eben solchen als Portal(-server)
bezeichnet. In der Portlet-Spezifikation ist das nicht so. Konzeptionelle Dinge werden in der Spezifikation
ausgeblendet (Technik pur).

Was ist ein Portal?

Gerade im deutschsprachigen Raum führen viele Internet-Auftritte den Begriff„Portal“ im Namen, wenn Inhalte und Funktionalität von verschiedenen Anbietern
oder Quellen zusammengeführt werden, um als Einstiegspunkt („Tor zum
Web“) zu dienen (Beispiele: „Theaterportal“, „Handwerksportal“, …). Das hat
auch damit zu tun, dass der Begriff in der Deutschen Sprache positiv belegt ist
(siehe Definition aus dem Duden). Rein optisch teilen sich in einem Portal in
der Regel unterschiedliche Inhalte und Anwendungen den Raum einer Webseite;
Abbildung 1 zeigt als Beispiel die Startseite des Internetportals Yahoo.

Abb. 1: Eine Webseite im Portalgewand (yahoo.com)

Im Folgenden soll unter einem Portal eine Webapplikation verstanden werden,
die Anwendern als Einstiegspunkt für etwas dient und zu diesem Zweck verschiedene
Inhalte und (Funktions-)Bausteine zusammenfasst (aggregiert). Dieses „etwas“ kann z.B. das eigene Unternehmen sein (Stichwort Mitarbeiterportal),
ein bestimmtes Thema (z.B. eine Stadt, exemplarisch seien die
Internetauftritte von Großstädten wie Hamburg oder München genannt) oder
auch der eigene Arbeitsplatz.

In Portalprojekten wird in der Regel großes Augenmerk auf die Anforderungsanalyse
und konzeptionelle Dinge gelegt. Zu Recht – gerade Portalvorhaben
sind oft daran gescheitert, dass die Erwartungen des Auftraggebers nicht verstanden
und entsprechend enttäuscht wurden. Da es hier aber um die Entwicklung
von Portalkomponenten geht, wird auf die verschiedenen Spielarten
von Portalen und die Konzeption derselben nicht im Detail eingegangen. Auf Folien von Beratern haben Sie vielleicht schon raffinierte Abkürzungen wie B2E
(Business to Employee), B2C (… Customer) u.Ä. gesehen. Anforderungen aus
bestimmten Themenfeldern muss jedoch jedes Portal abdecken – zumindest zu
einem gewissen Grad. Die Realisierung von Funktionalität aus diesen Bereichen
kommt daher sicherlich auf Sie zu, und Portalsoftware und auch die Portlet-Spezifikation unterstützen Sie dabei. Abbildung 2 stellt diese zentralen
Themen in Form einer Mindmap dar, die im Folgenden erläutert werden sollen.

Abb. 2: Zentrale Themen, die von Portalen adressiert werden

Portale sind Integrationsplattformen, sie aggregieren Inhalte und Anwendungen
und bieten Anwendern einen einheitlichen Zugriff. Eine häufige Anforderung
ist, dass personalisierter Inhalt (Content) geliefert werden soll – je nach
Rolle oder Aufgabe des Anwenders. Bei ambitionierteren Anforderungen können
sich Benutzer Inhalte auf Ihrer persönlichen Portalseite selbst aus bestehenden
Komponenten zusammenstellen und einzelne Bausteine vielleicht sogar
konfigurieren.

Ein Portal kümmert sich insbesondere um die Präsentation der eingebetteten
Inhalte. Portalprojekte sind häufig ein Mittel, einheitliche Standards für webbasierte Applikationen innerhalb eines Unternehmens zu etablieren. Entsprechend
spielen Frontendthemen eine große Rolle. Manchmal sind unterschiedliche
Endgeräte (neben dem Webbrowser z.B. Mobiltelefone) für den Zugriff zu
unterstützen. Anforderungen aus dem Bereich Internationalisierung sind dagegen
die Regel. Gerade im öffentlichen Bereich, aber nicht nur dort, nimmt
zusätzlich die Bedeutung der Barrierefreiheit zu. Barrierefreiheit beschäftigt sich mit dem Zugang für Anwender mit Einschränkungen, z.B. sehbehinderten
Menschen. Gerade hier verdichten sich
Anforderungen aus den Bereichen Personalisierung und Präsentation zu dem generellen Wunsch, ein auf den Benutzer optimal zugeschnittenes Angebot zu
schaffen.

Zu einem komfortablen Portalerlebnis gehört auch die für Anwender oft selbstverständliche
Anforderung, sich nur einmal an der Portalanwendung anmelden
zu müssen. Anschließend sollen alle eingebetteten Anwendungen, auf die der
Benutzer Zugriff hat, ohne weitere Authentifizierung zur Verfügung stehen
(„Single Sign-on“). Bestehende Verzeichnisse sollen als Benutzerdatenbasis
herangezogen und verschiedene Legacy-Anwendungen unter einer einheitlichen
Sicherheitsarchitektur integriert werden. Kurz: In den allermeisten Portalprojekten
ist dem Thema Sicherheit besondere Aufmerksamkeit zu schenken.

Portalkomponenten in Java

Grundsätzlich ist es möglich, ein Portal mit recht rudimentären Mitteln aufzubauen.
In der Java-Welt wären dies etwa Servlets und JSP-Seiten, etwas komfortabler
ginge es mit Webapplikations-Frameworks wie JavaServer Faces oder
Struts. Damit nicht für jedes Portal das Rad neu erfunden werden muss, sind
jedoch speziellere Lösungen entstanden, die bei der Portalimplementierung
weitaus mehr unterstützen als allgemein verwendbare Frameworks.

Bereitgestellt werden diese im Java-Umfeld z.B. als Java EE-konforme (Web-)applikationen, die dann auf entsprechenden Applikationsservern betrieben werden
können. Alternativ treten Serverprodukte auf, die an einen bestimmten
Applikationsserver gebunden sind. In jedem Fall steht nach einer Basisinstallation
bereits ein mehr oder weniger vollständiges Portal zur Verfügung. Es muss
in der Regel noch an die eigenen Wünsche und Bedürfnisse angepasst werden,
z.B. bezüglich des Designs („Corporate Identity“). Dies kann über Administrationswerkzeuge
des Portals erfolgen, deklarativ über Konfigurationsdateien,
oder ggf. auch programmatisch durch Individualentwicklung.

Ein wesentlicher Aspekt einer solchen Anpassung ist die Integration von Inhalten
und Anwendungen. Portale müssen daher stets einen Rahmen bieten, um
neue Funktionsbausteine entwickeln zu können, und um diese (oder bestehende
Bausteine von Drittanbietern) innerhalb des Portals in Betrieb nehmen zu können.
Portlets sind derartige Softwarekomponenten. Sie stellen ihre Funktionalität
dadurch bereit, dass sie in Portallösungen eingebunden werden. Entsprechend
ist ihre Oberfläche keine vollständige Webseite, sondern sie wird als
(Markup-)Fragment geliefert. Der Begriff „Portlet“ ist lange vor der Java Portlet
Specification entstanden. Trotz der offensichtlichen Anlehnung an andere Javatechnologien (Applet, Servlet, …) wird er auch von Anbietern von Portalsoftware
verwendet, die nicht auf Java setzen.

Abb. 3: Ein Portlet, dekoriert mit (vielen) Bedienelementen

Aus Oberflächensicht werden Portlets auf Portalseiten platziert, oft initial durch
einen Administrator. Das Portal erzeugt bei einer Seitenanfrage aus den Fragmenten
der einzelnen Portlets den Markup-Quelltext für die Gesamtseite
(Aggregation). Das Portal dekoriert die Fragmente oft mit Rahmen und Bedienelementen
(siehe Abbildung 3) und reagiert auf Ereignisse, die diese Bedienelemente
betreffen. In der Regel erlaubt es ein Portal dem Benutzer, zwischen
verschiedenen Portalseiten zu navigieren, beliebt sind dabei Karteireiter als
Visualisierung. Wenn eine Seite für alle Benutzer angelegt wurde, und diese
sich auch nicht anmelden brauchen, so werden sich die Inhalte für jeden Benutzer
gleich darstellen. Denkbar ist dies zum Beispiel für die Startseite eines Portals.
Hat der Benutzer sich authentifiziert, kann er oftmals einzelne Portlets an
seine individuellen Wünsche anpassen und die Inhalte auf diese Weise personalisieren.
Unter Umständen kann er auch weitere Portlets auf einer Seite hinzufügen
oder sich individuelle Seiten komplett neu zusammenstellen. Denkbar
sind auch Seiten, die für eine bestimmte Gruppe von Benutzern zusammengestellt
werden, etwa für Mitarbeiter in einer bestimmten Rolle. Die Auswahl der
Funktionsbausteine orientiert sich dann an einer konkreten Aufgabe, die von
diesen Personen erledigt werden soll.

Unter Umständen muss eine Portalkomponente auch vom Administrator konfiguriert
werden, bevor sie von Benutzern auf ihren Seiten verwendet werden
kann. Falls ein Portlet beispielsweise für seine Funktionalität die Anbindung an
ein Hintergrundsystem benötigt, stellt der Administrator die Verbindungsdaten
bereit. Ebenso wie individuelle Konfigurationen sind derartige globale Einstellungen
vom Portal in irgendeiner Weise zu verwalten und auch zu persistieren.

Ein Portal ist also im Grunde nichts anderes als ein Lebensraum für Portlets. Die
Attraktivität des Portals hängt neben dem eigenen Bedienkomfort vorrangig
davon ab, ob es interessante Inhalte und Applikationen bereitstellt.

Geschrieben von
Stefan Zörner
Kommentare

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.