XPages – Die Technologie für moderne Web-Anwendungen

8. Oktober 2013 Posted by Jens Winkelmann

Neuer Wind für Ihre Anwendungen

Anwendungsentwicklung goes Web
Moderne Web-Technologien verändern nicht nur unseren Umgang mit Internet & Co, sondern halten auch verstärkt Einzug in die Anwendungsentwicklung. Im IBM Umfeld heißt der prägende Begriff dafür: XPage. XPages gibt es seit der IBM Domino Version 8.5. Die Technologie ist jedoch älter.

Auf der Lotusphere 2006 bin ich das erste Mal mit dem XPage Vorgänger IBM Workplace Designer in Berührung gekommen, der von IBM als Prototyping Entwicklungswerkzeug entwickelt wurde. Eine Anbindung an IBM Domino war damals noch nicht vorgesehen, doch mittlerweile ist das Produkt in IBM Connections integriert und der IBM Workplace Designer nach IBM Domino portiert. Dadurch wurde nicht nur der Name geändert, sondern es konnte eine feste Einbindung in IBM Domino erreicht werden. Browserbasierte Web-Anwendungen für IBM Domino werden mittlerweile mit Hilfe dieser XPage Technologie realisiert, welche die klassische Domino Web-Entwicklung abgelöst hat. XPage Anwendungen können jedoch auch im Notes Client ausgeführt werden, welches als XPiNC (XPage im Notes Client) bezeichnet wird.

Anwendungen, die ausschließlich im Notes Client laufen sollen, werden häufig immer noch mit der klassischen Notes Technologie erstellt. Dies hat mehrere Gründe:

  • Die Anwendungen existieren bereits als Notes Client Anwendungen und eine Neuimplementierung lohnt sich nicht,
  • Die Entwickler sind mit der alten Technologie seit Jahren vertraut,
  • XPiNC Anwendungen hatten zumindest in frühen Versionen Performance-Probleme.

Learning by doing

GBS Workflow Modeler XPage ist mittlerweile eine ausgereifte und stabile Technologie. IBM investiert hier verstärkt. Trotzdem haben einige Domino Anwender wenig oder gar keine Erfahrung mit XPages. Häufig bekomme ich die Frage gestellt, ob die XPage Entwicklung schwieriger als die klassische Notes Entwicklung ist. Zugegebenermaßen ist dies nicht einfach zu beantworten.

Ein viel zu gering gewürdigter Vorteil der klassischen Notes Entwicklung ist und war die Möglichkeit des schnellen und unkomplizierten Prototyping. Auch Anfänger mit geringen Vorkenntnissen können schnell brauchbare Ergebnisse erzielen. Die Einstiegshürden sind leicht zu überwinden und durch „Learning by doing“ wird ein Entwickler schnell produktiv. Deshalb findet man unter den Notes Entwicklern häufig auch Administratoren, die nebenbei ein wenig programmieren. Oder es sind Quereinsteiger, die oft keinen Informatik-Hintergrund haben. Das könnte man negativ bewerten, da die Qualität der Anwendung darunter leidet. Auf der anderen Seite gibt es positive Aspekte: Denn ohne dies Manpower hätte die Anwendung aus Ressourcenmangel erst gar nicht realisiert werden können.

Aber der Charme von IBM Domino ist und war, dass auch hochprofessionelle Entwickler hochprofessionelle Anwendungen erstellen können. So verwendet der Anfänger beispielsweise „Simple Actions“ und der Profi programmiert objektorientiertes Lotus Script oder Java.

Entwicklung in drei Phasen

Der Prozess der Umstellung von klassischer Notes Entwicklung auf neue XPage Entwicklung könnte meiner Meinung nach in drei Phasen erfolgen:

1. Phase: Der Einstieg

Beginnt ein Entwickler von klassischer Notes Entwicklung auf XPage Entwicklung umzusteigen, so kann er einen großen Bereich seines vorhandenen Wissens nutzen. Auch der XPage Entwickler muss den Aufbau einer Notes Datenbank, bestehend aus Dokumenten und Ansichten, verstehen. Eine Vertrautheit mit der Notes API ist hilfreich. Hat man darüber hinaus bereits klassische Domino Web-Anwendungen entwickelt, so sind auch Web-Technologien wie Java Script, Java, HTML und CSS bekannt und hilfeich.

Trotzdem muss der Umsteiger bei der eigentlichen XPage Entwicklung radikal umdenken. Das ist nach meiner Erfahrung für einen langjährigen Notes Entwickler nicht immer ganz einfach, besonders wenn er wenig Erfahrung mit allgemeiner Web-Entwicklung hat.

GBS AppDesigner FormBuilder Aber auch bei der Entwicklung von XPages bietet das Entwicklungswerkzeug Domino Designer dem Anfänger viele Hilfestellungen. Assistenten erstellen automatisch aus einer Ansicht oder Maske den Rumpf einer XPage. Es gibt für Aktionen auch hier „Simple Actions“, die ohne Programmierung auskommen. Und die altbekannten @Functions finden sich teilweise als gleichnamige Java Script Funktionen wieder. Hat der Anfänger obendrein noch eine gute Vorlage, so kann er auch mit XPages in relativ kurzer Zeit eine Lösung erstellen.

2. Phase: Der Wendepunkt

Nach der beschriebenen Einstiegsphase kommt nun eine anstrengendere zweite Phase. Hier ist Hintergrundwissen der XPage Technologie gefragt. Nun sollte man verstehen, welche Aktionen im Browser und auf dem Server ablaufen und welcher Seitenbereich wann mit welchen Daten aktualisiert wird. Der Unterschied zwischen Client-side Java Script und Server-side Java Script muss klar sein. Der ehemalige Notes Entwickler fängt spätestens jetzt an Java zu lernen und sich mit dem Java Server Faces Lifecycle auseinander zu setzen. Nach dem ersten Schwung in der Einstiegsphase wird man in dieser zweiten Phase leider häufig ausgebremst. Lassen Sie sich jedoch nicht entmutigen!

3. Phase: Produktivität

Hat man die zweite Phase überstanden, so ist man in der dritten Phase zumindest so produktiv wie beim ehemaligen Entwickeln alter Notes Client Anwendungen. Der Umsteiger wird feststellen, dass die neue XPage-Technologie auch viele Möglichkeiten bietet, die so mit der alten Technik nicht umsetzbar waren.

Anwendungserstellung 2.0

Anwendungen werden webfähig GBS nutzt IBM Notes Domino als Plattform zur Bereitstellung und Ausführung der eigenen Lösungen und hat, ausgehend von diesen Erfahrungen, den GBS AppDesigner entwickelt. Die technologische Basis des GBS AppDesigner ist das IBM Domino basierte Workflowsystem GBS Workflow. GBS Workflow kann mit dem Notes Client als auch mit einem Web-Browser bedient werden. Die Web-Browser Version wurde mit Hilfe von XPages neu erstellt. Dadurch lassen sich jetzt Workflows im Web-Browser ganz ohne Programmierkenntnisse modellieren. Und auch Masken und Ansichten gehören zum Standard Repertoire der neuartigen Lösung. Im Ergebnis kann eine workflowfähige XPage Anwendung im Web-Browser erstellt werden, ohne dass das Entwicklungswerkzeug Domino Designer benötigt wird.

Da eine GBS AppDesigner Anwendung technisch gesehen eine XPage Anwendung ist, kann diese wie jede XPage Anwendung beliebig erweitert werden, ohne dass die gesamte Anwendung neu entwickelt werden muss. Die Verfügbarkeit von XPages in IBM Notes Domino 8.5 hat Notes Domino damit zurück in die Liga der Web-Applikationsserver katapultiert.

Fazit

Der frühe Vogel fängt den WurmUnternehmen, die IBM Notes Domino im Einsatz haben und planen, Web-Anwendungen für Inter- oder Intranet zu entwickeln, sollten so schnell wie möglich anfangen mit XPages zu arbeiten. Oft wird es effizienter sein, die aktuelle Entwicklung zu stoppen und auf XPages umzusteigen. Der zeitliche Mehraufwand für den Umstieg kann durch die zeitliche Einsparung bei der XPage Entwicklung kompensiert werden.

Auch Entwickler, die bisher keinen Kontakt zu IBM Notes Domino hatten, werden die Vorteile der XPages-Entwicklung schätzen lernen und sehr schnell produktiv damit arbeiten können. Moderne Werkzeuge wie der GBS AppDesigner helfen dabei, diesen neuen Weg zu gehen und auch andere webfähige Plattformen zu integrieren.