E-Mail war gestern

Soziale Unternehmensanwendungen mit Gadgets und Widgets

Frank Pientka

Dieses können Sie zippen und mit der Endung WGT versehen oder einfach ant build-widget im Widget-Verzeichnis aufrufen. Dieses Archiv kopieren Sie in das Verzeichnis wookiedeploy, und schon steht Ihnen Ihr neues Widget zur Verfügung. Alternativ können Sie das auch mit dem ANT-Befehl

ant redeploy-webapp -Dwidget.shortname=[Hello Welt] 

in Tomcat deployen lassen. Alternativ können Sie auch ein Widget, wie z. B. das Pacman-Spiel unter [10] aus dem Internet herunterladen und installieren.

Weitere Widgets können Sie aus den fertigen Vorlagen unter c:apache-wookie-0.12.0-incubating-srcwidgetstemplateswidget mit ant generate-all-widgets unter dem Verzeichnis build erstellen lassen und dann ins Wookie-Verzeichnis wookiedeploy kopieren. In diesem Verzeichnis finden Sie die verwendeten Standardwerte für die Widget-Erstellung und weitere Infos, wie Sie über Vorlagen die Entwicklung von Widgets vereinfachen können, in der Datei readme.txt. Für Wikipedia, YouTube, Moodle, WordPress oder Drupal existieren fertige Widgets, die in Wookie installiert werden können. Die installierten Widgets können Sie entweder über den Rave-Browser anzeigen oder über die Seite http://localhost:8080/wookie/widgets/ verwalten. Die Widget-Verwaltung geht dann über folgende REST-Aufrufe:

  • GET /widgets list: von installierten Widgets anzeigen
  • POST /widgetinstances: Widgets instanziieren
  • POST /participants: einer Widget-Instanz einen Teilnehmer hinzufügen
  • GET {wookie}/properties {params: instance_params, propertyname}: Wookie-Parameter anzeigen
  • GET {wookie}/flatpack/{package_id}.wgt: Widget zum Download exportieren
  • GET {wookie}/policies: Rechteregeln anzeigen mit http://localhost:8080/wookie/policies

Mit dem Parser W3CWidgetFactory kann man auch aus einem Java-Programm sich das Widget-Paket.WGT auslesen und anzeigen (Listing 3).

Listing 3

W3CWidgetFactory fac = new W3CWidgetFactory();
File out = new File("out");
fac.setOutputDirectory(out.getAbsolutePath());
fac.setLocalPath("/out");
try {
W3CWidget widget = fac.parse(new URL("http://github.com/scottbw/pacman/blob/master/pacman.wgt"), true);
    System.out.println(widget.getLocalName("en"));
} catch (BadWidgetZipFileException e) {
    e.printStackTrace();
} catch (BadManifestException e) {
    e.printStackTrace();
}
Fazit

OpenSocial ist eine plattformunabhängige Alternative zu Facebook für Unternehmensanwendungen. Apache Rave bietet für beide Standards eine einheitliche Ablaufumgebung an. Leider fehlt dafür bisher eine einheitliche Verwaltung und Konfigurationsmöglichkeit. Ein weiterer Wermutstropfen betrifft die zukünftige Unterstützung von OpenSocial und Gadget durch Google. Google engagiert sich zwar weiterhin in der Weiterentwicklung der nächsten OpenSocial-Version, wird jedoch iGoogle, das bisher die meisten Gadgets anbietet, zum 1. November 2013 einstellen.

Die von Gadgets und Widgets abgeleiteten Standards Google Gadget und IBM iWidget werden bisher nur in Nischenprodukten wie Lotus Connections oder iGoogle verwendet. OpenSocial Gadgets werden u. a. bei Atlassian, Liferay und als vollwertige Views in der Eclipse-e4-Plattform unterstützt. Jive hat sich, ähnlich wie Google selbst, in den neuen Produkten eher von OpenSocial zurückgezogen.

Widgets und Gadgets sind trotzdem eine gute Möglichkeit, um sowohl Anwendungen fürs Web als auch für mobile Geräte zu entwickeln. Dave Johnson [11] beschreibt Widgets und Gadgets deshalb als ein wichtige Art von Web Integration Pattern, um Inhalte oder Funktionen in bestehende Webseiten einfach zu integrieren.

Die Hürde bei beiden ist sowohl für die Entwicklung als auch für den Betrieb erheblich geringer als bei Portlets. Dafür sind die Standards und Server weniger ausgereift. Mit geringen HTML- und JS-Kenntnissen können über den Widget-Standard kleinere Anwendungen entwickelt werden. Gerade für mobile Webseiten und Anwendungen bieten Gadgets und Widgets eine plattformunabhängige Möglichkeit, Funktionen zentral auf dem Server zur Verfügung zu stellen und zu verwalten. Hier ist der Erstellungs- und Pflegeaufwand geringer als bei nativen Apps oder bei der Erstellung von schwergewichtigen Portlets. Gadgets und Widgets könnten hier einen Nischenmarkt besetzen.

Ausblick

Noch immer ist E-Mail das am meisten genutzte Workflow-Management-System in Unternehmen und die Dateiablage das am weitesten verbreitete Dokumentenmanagement. Während im Internet Kollaboration und Interaktion ganz selbstverständig über Weboberflächen oder mobile Anwendungen stattfinden, steckt das Thema soziale Software in Unternehmen noch in den Kinderschuhen. Gerade die leichtgewichtigen Anwendungen von Widgets und Gadgets stellen eine gute Alternative zu den eher schwergewichtigen Portlets dar.

Neben den programmiersprachenunabhängigen Standard-APIs können die Anwendungen zentral zur Verfügung gestellt und über eine einheitliche Oberfläche integriert werden. Gerade für eine bessere Kommunikation und Kollaboration für Unternehmensanwendungen bieten Widgets und Gadgets sinnvolle Einsatzmöglichkeiten. So können mit einem Programmiermodell unterschiedliche Plattformen, wie Intranet, Internet und mobile Anwendungen, bedient werden. Jeder Mitarbeiter kann sich seine Anwendungen von einer zentralen Stelle holen und diese für seine Bedürfnisse konfigurieren. Dadurch, dass die Gadgets und Widgets nur einmal auf dem Rave-Server installiert werden müssen, lassen sich diese einfach aktualisieren.

Das Produkt Apache Rave ist ein guter Startpunkt, um sich mit der Programmierung von Widgets und Gadgets vertraut zu machen. Unternehmen sind gut beraten, sich auf die Herausforderungen des Arbeitsplatzes der Zukunft im Unternehmen 4.0 – der vierten industriellen Revolution – vorzubereiten.

Frank Pientka ist Senior Architect bei der MATERNA GmbH in Dortmund. Er ist seit mehreren Jahren im Bereich Java EE tätig. Seine Schwerpunkte sind Java-EE-Anwendungen. Dazu hat er auch schon mehrere Fachartikel und ein Buch über Geronimo veröffentlicht.
Geschrieben von
Frank Pientka
Kommentare

Schreibe einen Kommentar

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