»  Opensource Portale
Links zu den gängigsten Opensource Enterprise Portalen. Alle Portale basieren auf dem JEE Standard.
Apache Jetspeed 2
Jboss Portal
Liferay
Exo Platform

  »  Portale im Vergleich

Wollte eine Firma noch vor einigen Jahren ein Enterprise Portal in den eigenen Reihen einführen, fiel die Wahl mit Sicherheit auf eine Software der "Großen". SAP, BEA oder IBM waren lange Zeit die einzigen Anbieter echter Unternehmenssoftware.
Opensource auf ERP Pfaden
Das hat sich grundlegend geändert. Opensourcesoftware kann es derzeit leicht mit den professionellen Systemen aufnehmen. Ist in einer Firma eine gewisses IT Know How vorhanden, eine eigene EDV-Abteilung existiert also, spricht nichts gegen den Einsatz eines Opensourceportals. Mittlerweile existiert mehr als ein erwähnenswertes Opensource Enterprise Portal, deshalb hier eine Übersicht über die gängigsten Anbieter
24. Juni 2007

  »  Der Klassiker: Apache Jetspeed

jetspeed Portal Beispiel

Chikpea benutzt Jetspeed 2.0

Jetspeed kann wohl als Klassiker unter den Portalen gelten. Die Mitglieder der Apache Group waren die ersten, die sich an die Umsetzung von Standards gemacht haben. Jetspeed war deshalb lange Zeit erste Wahl, wenn es um den Einsatz eines Opensource Portals ging.
Jetspeed, der Altehrwürdige.
Trotz allem bleibt Jetspeed etwas für Bastler. Selbst die Version 2.0 wirft verdächtig häufig Exceptions. Auch ist die Design-Grundausstattung sehr dürftig.
Jetspeed kann als komplettes Tomcat-Paket von der Apache Site heruntergeladen werden. Die Installation fällt deshalb auch nicht weiter schwer. Was sich danach dem Anwender präsentiert ist sicher funktional, aber bestimmt nichts fürs Auge. Wer also Jetspeed einsetzt, sollte einen guten Webdesigner kennen, dem auch JSP's nicht fremd sind.
Doku ok, Demo???
Apache bietet auf der Jetspeedseite eine übersichtliche, mit Maven generierte Dokumentation. Hier gibt es jede Menge Guides und Howto's, die die ersten Schritte mit Jetspeed erleichtern. Die Doku ist allerdings etwas PSML- und Velocity-lastig. PSML ist eine Jetspeed eigene Markup Language für die Portletregistry. Velocity ist, kurz gesagt, eine Alternative zu JSP.
So gut die beiden Technologien auch sein mögen, der Großteil der Entwickler wird auch bei der Portletentwicklung auf JSP oder JSF zurückgreifen und PSML gehört nicht zur Standardportletspezifikation. Eine Dokumentation, die JSP und JSF vertieft, wäre wünschenswert.
Die Demoseite des Jetspeedportals kann hier leider nicht beurteilt werden, da sie im vergangenem Monat durchweg nicht zu erreichen war. Ein Armutszeugnis für die Apachegroup, das das Vertrauen in Jetspeed nicht gerade steigert.
Zu weit weg von realen Bedürfnissen?
In der realen Welt ist es nun mal leider so, das möglichst schnell etwas Vorführbares auf den Bildschirm gezaubert werden muss. Der Kunde (Chef oder wer auch immer) lässt sich dabei von einem gutem Design und flotten WEB 2.0 Effekten oft eher überzeugen, als von der darunterliegenden Funktionalität. Wenn sich ein Portlet von der linken Spalte in die Contentspalte per Drag and Drop verschieben lässt, hat der Entwickler schon fast gewonnen. Und gerade bei diesen Funktionalitäten hat Jetspeed noch so einige Schwächen.
Wer jedoch nach einem Basisframework als Grundlage für eigene Entwicklungen sucht, der ist mit Jetspeed gut bedient.
26. Juni 2007

  »  JBoss Portal

jetspeed Portal Beispiel

Demo Portal von JBoss

JBoss hat neben dem bekannten Applikationserver auch ein Portal im Angebot. Dieses liegt mittlerweile in der Version 2.6 vor und hat mit einigen netten Features aufzuwarten.
Grundsätzlich setzt das Portal in weiten Teilen auf den Applikationserver von JBoss auf. Dieser wiederum nutzt den Tomcat als Webserver.
Das Downloadpaket enthält das komplette Serverbundle, die Installation ist deshalb ebenfalls unkompliziert.
The first run
Gestartet wird der Server über das übliche Skript im /bin Verzeichnis. Bis der Portalserver allerdings Flughöhe erreicht hat, vergehen schon mal ein paar Augenblicke. Das ist beim JBoss Applikationserver bekanntlich ähnlich. Im normalen Betrieb ist das sicher ein Manko, über das man hinwegsehen kann. In der Entwicklungs- und Debugphase kann das, trotz Hotdeploy, recht nervtötend sein.
Verbose
Wenn der Server in den Live Betrieb geht, sollte der Entwickler auf jeden Fall die Info-Logausgaben unterdrücken. INFO ist die Standard Logeinstellung beim JBoss Portalserver und das ist in der Entwicklungsphase auch sicher von Nutzen. Trotz allem übertreibt JBoss hier ein wenig. Ist der Server frisch gestartet, hat man nach wenigen Klicks in der Weboberfläche bereits ein Logfile mit mehr als 10.000 Zeilen generiert. Dann noch die wichtigen Informationen herauszufiltern ist sicher kein Pappenstiel.
Nützliches hübsch verpackt
Natürlich bietet auch JBoss ein Grundausstattung an Portlets wie alle anderen Anbieter. Zusätzlich gibt es aber noch verschiedene Skins, um das Portal auch optisch ansprechend zu gestalten. Die Admin Oberfläche ist übersichtlich und wirkt professionell. Portlets lassen sich per Drag and Drop verschieben. Alles in allem macht die Arbeit mit dem Portal einfach Spass. Als Entwickler kann man ziemlich sicher sein, das Entwicklungen, die auf der JBoss Software aufbauen, vom Kunden auch angenommen werden.
CMS inklusive
JBoss hat in den Portalserver ein CMS, natürlich auf Portletbasis, integriert. Das CMS selbst wurde hier nicht weiter getestet. Erwähnt werden soll nur, das diese Software auf die Content Repository API (JSR 283) aufsetzt und die Apache Implementierung JackRabbit einsetzt. Das CMS selbst ist, wie das gesamte Portal, vorbildlich dokumentiert.
PortletSwap
Zum Schluss soll noch kurz der JBoss Portlet Pool zur Sprache kommen. JBoss bietet auf seinen Lab Seiten eine reiche Auswahl an Portlets, mit denen sich nahzu jeder Anwendungsfall abdecken lässt. Auch stehen auf diesen Seiten weitere Themes und Layouts für das optische Tuning des Portals zur Verfügung.
25. Juni 2007

  »  Liferay Portal

liferay portal small Die Apachegroup ist sicher eine der bekanntesten Opensourceplattformen, Jboss steht für Professionalität und Service. Warum also ein Portal einsetzen, dessen Name weit weniger geläufig ist? Ist Liferay überhaupt einen Blick wert?
Liferay selbst, bezeichnet das eigene Portal als weltführend, diese Einschätzung ist wohl etwas subjektiv, dennoch, Liferay macht den profesionellsten Eindruck unter allen hier vorgestellten Portalen.
Global Player Liferay
Die Liferay Inc. hat ihren Hauptfirmensitz in Los Angeles, eine Zweigniederlassung existiert aber auch in Deutschland. Auf der CEBIT 2007 war die Firma mit einem eigenem Stand vertreten.
Das alles klingt nach professioneller und teurer Software. Würde Liferay den Fakt, das es sich bei dem Liferay Portal um Opensource handelt, nicht gleich in den ersten Zeilen der Homepage erwähnen, wäre das nur schwer zu glauben.
POJO oder EJB
Liferay Portal liegt zur Zeit in der Version 4.2 vor. Auf der Downloadpage kann zwischen etlichen Konfigurationen gewählt werden. Die Software kann als separates *.war oder *.ear heruntergeladen werden oder als komplettes Serverbundle. Dabei kann zwischen Webservern wie Jetty oder Tomcat gewählt werden oder unter einem der gängigen Applikationserver.
Bei jedem dieser Bundle kann wieder zwischen EJB oder POJO Implementierung unterschieden werden. Diese möglichen Kombinationen ergeben mehr als ein Dutzend unterschiedlicher Downloadpackages. Empfohlen wird die Kombination Liferay-POJO-Tomcat.
Start Up
In der Tomcatvariante gestaltet sich die Installation erwartungsgemäß problemlos. Nach kurzer Zeit ist der Server einsatzbereit. Der erste Aufruf der Portalhomepage dauert, technikbedingt (die JSP's werden beim ersten Aufruf kompiliert), etwas länger. Danach läuft das Portal in recht guter Performanz. Dennoch brauchen bestimmte Seiten verdächtig lange, bis sie auf dem Bildschirm erscheinen. Das scheint allerdings kein Tomcat bzw. Java Problem zu sein. Speicher- und CPU Level schlagen auf dem Profiler kaum nach oben aus. Liferay macht jedoch ausgiebig Gebrauch von Ajax Featuren (mehr dazu weiter unten). Dabei werden ausgiebig JavaScript Bibliotheken in die Htmlseite eingebunden, die der Browser erstmal interpretieren muss. Der Flaschenhals ist also nicht der Server, sondern die Performance des Clients. Abhängig von der Browsersoftware und der Hardwareausstattung, können völlig unterschiedliche Ergebnisse bei der Performancemessung auftreten.
Reichlich AJAX
Wie schon erwähnt, spart Liferay nicht mit AJAX Funktionen, das bremst die Seite während der Ladephase zwar etwas aus, lässt aber die Bedienung des Portals zu einem wahren Genuss werden. Portlets lassen sich per Drag and Drop positionieren. Schiebt man das Portlet dabei in die Nähe einer möglichen "Einrasteposition" zwischen zwei andere Portlets, zeigt ein Pfeil die zukünftige Position des Portlets an (siehe Screenshot oben).
Während des Verschieben ist das Portlet halb transparent. [Die beschriebenen Ajax-Funktionen beziehen sich auf das Defaulttheme des Portals]. Das alles sind sicher Funktionen, die mit der eigentlichen Businesslogik nichts zu tun haben, aber dennoch in den Zeiten von WEB 2.0 einfach dazugehören.
Das erste eigene Portlet
Da sich Liferay, wie auch alle anderen hier vorgestellten Portale an die JSR-168 bzw. JSR-268 Spezifikation hält, ist das Entwickeln eigener Portlets keine große Hürde. Trotzdem empfiehlt sich immer ein Blick in die Dokumentation des jeweiligen Portals. Und auch hier glänzt Liferay wieder. Zusätzlich zu der obligatorischen Doku der API und den Developer Dokus im PDF-Format, gibt es bei Liferay noch ein paar kurze Videos, die neben der Installation der Entwicklungsumgebung auch die Entwicklung von Portlets unterschiedlicher Technolgien beschreiben. So wird nebem dem üblichen JSP Portlet auch ein JSF und ein Velocity Portlet entwickelt.
Wie auch bei JBoss, existiert neben der Standard portlet.xml im WEB-INF Verzeichnis eine zusätzliche portlet.xml mit herstellerspezifischen Konfigurationen. Diese Konfigurationen sind verständlich und überschaubar und bedeuten keinen großen Einarbeitungsaufwand.
Sieger nach Punkten
Liferay ist wohl das professionellste und am besten dokumentierte Opensourceportal. Während der ganzen Testphase wurde nicht eine einzige Exception geworfen. Das macht Liferay zum Sieger unter den hier vorgestellten Portalen.
Einziges kleines Manko: Die Clientperformance geht etwas in die Knie bei der Wahl eines WEB 2.0 lastigen Themes. Fairerweise muss gesagt werden, das andere Portale die weniger Gebrauch von den Ajax-Möglichkeiten machen, gar nicht erst mit diesem Problem zu kämpfen haben.
26. Juni 2007

  »  Exo Platform

java enterprixe portal exo platform

die Navigation im Portal ist ein Genuss

Exo bietet auf seiner Präsenz im Internet, neben dem Portal, auch eine Software namens WebOS an.
In der aktuellsten Version sind WebOS und das Exo Portal als integriertes Paket zu haben.
Das Portal als eigene Software ist nur in einer älteren Version vorhanden.
Vorgestell wird hier die WebOS-Portal Kombination.
Eine visuelle Einführung
Auf der Seite von Exo wird der Besucher von einem überdimensionalen Screenshot, der auf das Opensource Repository verlinkt, empfangen. Als erster Klick empfiehlt sich jedoch der Link "Watch the video" gleich unter dem Screenshot.
In ca. 15 Minuten stellt hier der Produktmanager von Exo (mit nettem französischem Akzent) die neueste Version der Software vor. Auffällig ist das angenehme Design der Anwendung, das sehr an eine Desktopoberfläche anlehnt.
Begonnen wird mit der Navigation durch das Portal. Der Unterschied zu gängigen Webanwendungen ist sofort offensichtlich. Exo setzt vollständig auf Ajax, selbst bei einem Klick auf einen der Tabulatoren wird nur der benötigte Teil der Seite, der in diesem Fall allerdings 95 Prozent ausmacht, aktualisiert. Der Performanzvorteil ist in diesem speziellen Fall deshalb sicher zu vernachlässigen.
Angenehm ist, dass die Seite beim Aktualisieren nicht komplett aus dem Browserfenster verschwindet, sondern einen Statusbalken einblendet. Der Anwender bekommt nicht das Gefühl, den "Kontakt" zur Anwendung zu verlieren.
Das WebOS
Die "echte Revolution" (Zitat des Projektmanagers) verbirgt sich jedoch im Backoffice. Hier spielt WebOS alle seine Stärken aus. Die Portlets werden durch einen Klick auf die Fisheye-Navigationsleiste aktiviert. Das sich nun öffnende Portlet kann völlig frei positioniert werden. Neu geöffnete Portlets können andere Portlets überdecken, ein Klick auf das untenliegende Portlet bringt dieses wieder in den Vordergrund. Wird der Browser in den Vollscreenmodus geschaltet, unterscheidet sich die Page nicht mehr von einer Desktopoberfläche.
In der linken, unteren Ecke befindet sich das Äquivalent zum Windows Startbutton. Ein Klick auf diesen Button öffnet ein Menü, mit dem sich zwischen den verschiedenen Desktopoberflächen umschalten lässt. Portlets lassen sich ebenfalls aus dem Menü starten.
Mac oder Vista
Ein eher optisches Schmankerl, ist die Möglichkeit, das Theme des WebOS zwischen Windows Vista und Mac umzuschalten. Das jeweilig gewählte Design unterscheidet sich kaum von der Oberfläche des entsprechenden Betriebssystems. Die gläsernen Scrollbalken von MacOs wurden genauso perfekt adaptiert, wie die Transparenzen, mit denen Vista beeindruckt.
Erste Gehversuche mit Exo
Am Ende des Videos ist man gerade zu begierig, die Software herunterzuladen und in Betrieb zu nehmen. Im Repository objectweb.org stehen, neben dem WebOS Portal, noch andere Anwendungen zum Download bereit. Die im Video vorgestellte Software entspricht dem Paket exo-enterprise-webos-[version]-tomcat.zip.
Das Portal muss über die exo-run.[bat|sh] und nicht über das Tomcat eigene Startskript in Betrieb genommen werden. Das Portal startet zwar auch über das Standardskript, einige der WebOS Funktionen stehen dann aber nicht zur Verfügung.
Die Navigation im installierten System macht genau so viel Spaß, wie das Video suggeriert. Wie erwartet, beeindruckt gerade die Funktionalität des WebOS im Backoffice. Die Bedienung ist zwar etwas gewöhnungsbedürftig, soviel Ajaxfunktionalität überfordert nach Jahren der Naviagtion in gewöhnlichen Htmlseiten.
Kleine Fehler
Schließt man etwa ein Portlet, welches über die Fisheye Navigationsleiste gestartet wurde, verschwindet da sentsprechende Icon auch aus eben dieser Navigationshilfe. Bis das Portlet wiedergefunden und auf dem Desktop installiert ist, sind ein paar Minuten Raten und Probieren notwendig.
Beim Klicken durch das Portal öffnen sich wiederholt Fenster, ohne die gewohnten Icons in der rechten oberen Ecke. Ausgerechnet diese Fenster grauten auch den Hintergrund aus, so dass die weitere Navigation unmöglich wurde. Dann bleibt nur noch der Reloadbutton der Browsers. Danach findet man sich meist auf einer völlig anderen Seite des Portals wieder.
Funktionen und Standardportlets
Exo bietet, wie alle anderen Anbieter auch, eine Auswahl eigener Portlets an. Erwähnenswert ist hier das Community- und das CMS Portlet. Beide wirken professionell und die Arbeit mit diesen Applikationen macht schlichtweg Spaß. Der Portletkatalog ist insgesamt jedoch weniger umfassend als der von JBoss oder Liferay. Das adaptieren fremder Portlets oder Eigenentwicklung ist bei Exo eher angesagt, als bei anderen Portalen.
Manko Dokumentation
Wenn es jedoch um eigene Entwicklungen für das Portal geht, steht Exoplatform schlecht da. Auf den Downloadseiten steht neben einigen Flashfilmen, nur ein 46-seitiges Benutzerhandbuch zur Verfügung. Eine Developer- oder Api Dokumentation sucht man vergebens. Im Wiki des Portals finden sich dann doch einige Quellen für den Entwickler. Hier wird unter anderem auf die, auf Eclipse basierende, Lomoz Entwicklungsumgebung verwiesen.
Auf den Seiten von Lomboz (auch im objectweb Repository) findet sich ein kurzes Video, das die Installation einer Runtimeumgebung für das Portal erklärt, die die Entwicklung eigener Portlets vereinfachen soll. Lomboz unterstützt leider nur die Portletentwicklung für ältere Versionen des Portals, die weit entfernt vom neuen WebOS-Portal sind. Also auch hier Fehlanzeige.
Bleibt noch die Hoffnung auf gut dokumentierten Quellcode. Nach dem Auschecken aus dem Subversionrepository befinden sich über 120.000!!! neue Dateien auf der Festplatte. Ein stichprobenartiger Blick in einige Sourcefiles ernüchtert allerdings. Außer dem Namen des Autors finden sich keine weiteren Informationen in den Dateien.
Das Potential zur Nummer Eins
Exoplatform beeindruckt mit einer faszinierenden, auf Ajax basierenden Technologie. Wer aber mehr als die Standardausführung bzw. selbst Anwendungen entwickeln möchte, hat schlechte Karten. Bleibt zu hoffen, dass Exo hier noch zulegt. Mit einer vernünftigen Dokumentation für Entwickler und einem Update der Lomboz Entwicklungsumgebung kann Exo die Nummer Eins unter den Enterprise Portalen werden.
27. Juni 2007