i-Bank 2.0 und Lotus XPages

Herbert Wagger  23 December 2009 10:51:31
Executive Summary

XPages ist eine neue Technologie in Domino 8.5 und höher zur raschen Entwicklung von modernen, leistungsfähigen Web Anwendungen.

Die bisherigen Mechanismen in Lotus Domino zur Entwicklung von Browser Anwendungen genügten den aktuellen Anforderungen (Stichwort "Web 2.0") nicht mehr, daher hat Lotus Domino im Bereich des Web Applikationsservers an Bedeutung verloren. Durch XPages ist Lotus Domino nun auch in diesem Bereich wieder absolut konkurrenzfähig und als Web Applikationsserver ernst zu nehmen.

XPages ermöglichen dem Entwickler ein iteratives Vorgehen durch die extrem schnelle Entwicklung von gut aussehenden Prototypen, die dann nach und nach mit Leben gefüllt werden. Auch wenn im Hintergrund noch einige klassische Notes Elemente wie z.B. Ansichten verwendet werden, ist kein tiefgehendes Wissen in diesem Bereich notwendig um produktiv mit XPages zu entwickeln.

Alle Anforderungen an moderne "Web 2.0" Anforderungen (z.B. Aktualisierung von einzelnen Bereichen via Ajax) werden unterstützt.

Detaillierung


XPages ist ein neues Design Element in Lotus Notes/Domino Anwendungen und bestehen neben Elementen für die Lotus Notes Client Programmierung. Bestehende Lotus Notes Anwendungen können also mit wenig Aufwand um eine XPages / Web Version erweitert werden, ohne eine neue Datenbank erstellen zu müssen.

Eine XPage besteht im Backend aus XML Code, der sich in weiten Teilen an HTML orientiert. Bestehende Kenntnisse in HTML können also sofort genutzt werden. Der XPages XML Code beschreibt Komponenten und Logik. Der Lotus Domino Server erzeugt daraus zur Laufzeit für den Browser verständliches HTML und Javascript.

Der Entwickler arbeitet primär in einem visuellen Designer, in dem fertige Komponenten (z.B. Eingabefelder, Labels, Ansichten, Tabbed Tables...) auf die XPage gezogen und verdrahtet werden. Bei Bedarf kann jederzeit in eine Quellcode-Ansicht gewechselt werden, wo der XML Code direkt dargestellt und manipuliert werden kann. Die Design- und Quellcode Ansichten sind dabei immer synchron.

Eine Reihe von fertigen Komponenten und Logik-Elementen erleichtern dem Entwickler dabei die Arbeit wesentlich und erlaubt den schnellen Bau von Prototypen. Durch die Quellcode Ansicht ist der Entwickler aber NICHT auf die fertigen Komponenten angewiesen sondern kann auch eigenen, ganz neuen Code einbringen um Dinge abzubilden, die mit den mitgelieferten Komponenten nicht realisiert werden können.

Einzelne Bereiche einer XPage können als eigene Komponenten ausgegliedert und beliebig oft wiederverwendet werden. Gemeinsam genutzter Code kann also zwischen XPages geteilt werden.

Business Logik wird durch Client- oder Server-Side Javascript implementiert. Bestehende Business Logik kann durch die Ansteuerung von Lotus Notes Agenten weiter verwendet werden.

Technologie


Im Backend arbeitet die bewährte Technologie der Java Server Faces, im Client (also im Browser) wird das bekannte Javascript Framework "Dojo" verwendet. IBM hat hier also keine eigenen, geschlossenen Technologien entwickelt sondern verwendet etablierte, vorhandene und bewährte Technik.

Dabei ist die Performance von XPages nach unseren bisherigen Tests sehr gut, selbst bei komplexen Datenbankoperationen.

Kompatibilität


Die mitgelieferten XPages/Dojo Komponenten sind zu Internet Explorer 6 und 7, Mozilla (Firefox) und Webkit Browsern (Safari) kompatible. Internet Explorer 8 wird ab Domino 8.5.1 unterstützt.

Vergleich mit der Entwicklung für den Lotus Notes Client


Das XPages Programmiermodell löst eine Vielzahl von Schwierigkeiten in der bisherigen Notes Client Entwicklung und hebt Grenzen auf. Einige populäre Beispiele:
  • "Joins" innerhalb von Ansichten sind nun möglich (also die Vermengung von Daten aus verschiedenen Ansichten, auch über Datenbankgrenzen hinweg).
  • Alle Labels sind dynamisch, auch Spaltenköpfe oder Button-Labels.
  • Ansichten können programmatisch im Volltext durchsucht werden und reduzieren sich in der UI entsprechend.
  • Die Verwendung von Daten und Ressourcen über Datenbankgrenzen hinweg ist problemlos möglich (z.B. die Einbettung von mehreren Ansichten aus mehreren Datenbanken).
  • Eine XPage kann Daten aus verschiedenen Dokumenten ("Quellen") visualisieren und auch bearbeitbar machen.

Dies ist umso interessanter, als dass XPages zukünftig (vermutlich ab Lotus Notes/Domino 8.5.1) auch im Lotus Notes Client verfügbar sind.

Nötige Kenntnisse für Entwickler


Entwickler sollten über generelle Erfahrung im Web Umfeld verfügen. Die folgenden Technologien sollten beherrscht werden:
  • HTML
  • CSS
  • Javascript und Javascript Frameworks wie Prototype, jQuery oder Dojo


Bewertung


Die Verfügbarkeit der XPages in Lotus Domino 8.5 katapultiert Lotus Domino zurück in die Liga der Web Applikationsserver. Nach unseren Erfahren funktionieren die XPages in Lotus Domino 8.5 bereits sehr gut und stabil und sind produktiv einsetzbar.

Jedes Unternehmen, das Lotus Domino im Einsatz hat und plant, Web Anwendungen für Inter- oder Intranet zu entwickeln, sollte so schnell wie möglich auf Domino 8.5 umsteigen und mit XPages entwickeln. Selbst laufende Projekte, in denen klassische Domino Web Programmierung verwendet wird, sollten überprüft werden. Oft wird es effizienter sein, die aktuelle Entwicklung zu stoppen und auf XPages umzusteigen. Der zeitliche Mehraufwand für den Umstieg kann durchaus durch die zeitliche Einsparung bei der XPage Entwicklung kompensiert werden.

Unternehmen, die Lotus Domino bisher nicht im Einsatz haben und planen, Web Anwendungen zu entwickeln sollten Lotus Domino 8.5 als mögliche Plattform evaluieren. Auch Entwickler, die bisher keinen Kontakt zu Lotus Domino hatten, lernen XPages Entwicklung sehr schnell und können effizient damit arbeiten.