Nicht wegwerfen, sondern recyceln: IBM Notes Applikationen im Lego-Prinzip modernisieren

Viele Nutzer von IBM Notes stehen vor der Frage, wie sie veraltete Applikationen fit für die Zukunft machen. Eine „R.I.P. and Replace“-Strategie macht oft wenig Sinn und wird viel zu teuer. Das Beispiel eines Energiemarktdienstleisters zeigt, wie die Software sinnvoll recycelt werden kann.

Der Support der aktuellen IBM Notes/Domino Version wurde von IBM erst kürzlich bis mindestens ins Jahr 2021 verlängert, vermutlich auch darüber hinaus. Das Produkt wird also nicht eingestellt. IBM wird aber nur noch wenige neue Features liefern und sich primär auf die Fehlerbehebung beschränken. Langfristig hat die Plattform meiner Meinung nach keine Zukunft. Das Problem der Kunden ist also, wie lösen wir die Plattform langfristig ab? Das Mailsystem abzulösen ist kein sonderlich großes Problem. Mail- und Kalendersysteme machen im Grunde bei jedem Hersteller das Gleiche. Es gibt nur im Detail Unterschiede, also ist auch die Migration relativ einfach.

Sehr viel problematischer sieht das allerdings bei den Applikationen aus. In vielen Unternehmen, die ich in meiner Arbeit analysiert habe, wurden zum Teil sehr viele Applikationen auf der damals noch Lotus Notes genannten Plattform entwickelt. Es war (und ist immer noch) relativ einfach und wurde zum Teil von technisch affinen Mitarbeitern der Fachabteilungen selbst gemacht. Dadurch ist ein Sammelsurium von Eigenentwicklungen entstanden, das nicht so einfach durch ein Standardprodukt abgelöst werden kann. Der Anspruch der CIOs ist aber, dass alle Applikationen auf eine neue Plattform „migriert“ werden sollen, damit Notes/Domino abgeschaltet werden kann. In den meisten Fällen handelt es sich bei genauerer Betrachtung eher um eine komplette Neuentwicklung der jeweiligen Applikation, als um eine Migration. Wird der Aufwand hierfür genauer geschätzt, steht oftmals eine astronomisch hohe Summe im Raum.

Vorschnelle Entscheidungen und eingefrorene Modernisierungspläne

Was macht man also in solchen Fällen? Richtig, man stellt die Kosten dem Nutzen gegenüber. Was sparen wir durch dieses Projekt?  Eine typische Antwort: „Wir sparen uns die gesamte Domino Server Infrastruktur, die Verwaltung und den Support der Notes Client Infrastruktur und natürlich die Lizenzkosten.“ Bei genauerer Betrachtung stellt sich dann in vielen Fällen heraus, dass man die Infrastruktur durchaus noch einige Jahre betreiben kann und die Ablösung der Applikationen doch nicht mehr ganz oben auf der Prioritätenliste steht. Als Resultat wird die Modernisierung bzw. Ablösung der Applikationen erstmal komplett auf Eis gelegt.

Ich denke das Hauptproblem besteht darin, dass IBM Notes/Domino Applikationen als Einheit betrachtet werden. Dadurch sucht man natürlich auch nach einer Lösung für alle Applikationen. Das ist aber im Grunde genauso sinnvoll, wie für alle Schüler einer Schulklasse zu versuchen einen einzigen Beruf zu finden, mit dem alle glücklich werden. Auch bei der Modernisierung oder der Ablösung von IBM Notes/Domino Applikationen muss man sich die einzelnen Applikationen anschauen und individuell die beste Strategie und mögliche Szenarien entwickeln.

Das Lego-Prinzip für Applikationsmodernisierung

Für komplexere Applikationen empfehle ich die strikte Trennung von Userinterface, Business Logik und Daten. Für jeden Teil der Applikation sucht man sich die jeweils beste Option. Dabei überlegt man natürlich auch, ob nicht besser bestehende Systeme verwendet werden können, statt neue anzuschaffen. Ein neues Userinterface kann z.B. mit Open Source Technologien entwickelt werden. Dieses kann als eigenständige Applikation betrieben, oder in bestehende Systeme integriert werden. Die bereits vorhandene Business Logik und Datenhaltung kann über Schnittstellen zunächst weiterverwendet werden. Durch dieses Lego-Baustein Prinzip kann man zukünftig einzelne Teile einfacher austauschen, ohne dass das gesamte Konstrukt neu entwickelt werden muss.

Ein konkretes Beispiel ist eine Postbox Applikation. Basierend auf einer Standard Maildatenbank wurde eine Applikation entwickelt, mit der ein Team gemeinsam eingehende Mails bearbeiten kann. Die Funktionalität geht weit über das reine Mailing hinaus. Es gibt Workflows, Zuweisung von Verantwortlichkeiten, dynamisch definierbare Antwort Mails und viele weitere Funktionen. Die Applikation ist nur über den Notes Client verwendbar. Eine Bedienung über den Browser oder mobile Geräte war bislang nicht möglich und soll nun zur Verfügung gestellt werden.

Diese Applikation wurde ausgewählt um das beschriebene Modernisierungskonzept bei diesem Kunden das erste Mal anzuwenden. Das Ziel ist eine Browser Oberfläche für Desktop Rechner und mobile Geräte zu entwickeln und dabei möglichst viel der bestehenden Applikation wiederzuverwenden. Wir vollziehen also die Trennung zwischen Userinterface, Business Logik und Daten. Wobei nur das Userinterface neu entwickelt wird und der Rest beibehalten werden soll.

Zunächst definiert man das Userinterface. Wie soll es aussehen und welche Funktionen sollen zur Verfügung stehen? Dadurch definieren sich im Grunde automatisch die Schnittstellen, die wir benötigen. Zum Anzeigen der Mails benötigen wir eine Schnittstelle um sie aus der bestehenden Applikation auszulesen. Wollen wir einen Workflow Status zuweisen, benötigen wir eine weitere Schnittstelle um diese Informationen in die Notes Datenbank zurück zu schreiben.

Durch diese Herangehensweise trennt man nach und nach das Userinterface komplett vom Rest der Applikation. Dadurch ergibt sich auch gleichzeitig die Möglichkeit weitere Userinterfaces anzubinden oder das vorhandene später einfach zu ersetzen. Will man später z.B. doch eine komplett native iOS App entwickeln, kommuniziert diese direkt mit den bereits vorhandenen Schnittstellen. Ein Baustein wird hinzugefügt, ohne die anderen zu beeinträchtigen. Das ist der Mehrwert einer solchen Vorgehensweise. Die zukünftigen Anpassungen und Modernisierungen werden sehr viel einfacher und schneller umzusetzen sein.

Webschnittstellen erleichtern die Weiternutzung und den Zugriff

Die Schnittstellen, um die es die ganze Zeit geht, sind keine proprietären Protokolle oder ähnliches. Wir reden von Standards wie Webservices oder REST APIs. Dadurch muss an den Schnittstellen nichts angepasst werden, falls wir die Notes Applikation komplett ersetzen sollen. Greift das Userinterface per REST API auf Daten zu, kann es das auch zukünftig machen, wenn die Daten schon lange nichtmehr in einer Notes Datenbank stecken, sondern in einer anderen Datenbank.

Betrachtet man aber die eigentliche Anforderung, dann muss man sich fragen, ob das überhaupt notwendig ist. Die Anwender haben eine neue, moderne Benutzeroberfläche und können auch auf mobilen Geräten damit arbeiten. Ob im Hintergrund noch Teile der Applikation auf einem Domino Server liegen, ist eigentlich gar nicht so wichtig. Zumindest ist es nicht innerhalb der nächsten paar Jahre zwingend notwendig das zu ändern.

Geht es um Notes Applikationen, höre ich bei Kunden eigentlich immer zwei Argumente gegen die Modernisierung:

  1. Die Applikationen sehen furchtbar aus
    Ja, das stimmt zum Großteil. Ich bin aber mal gespannt, wie modern Applikationen in 20 Jahren für uns aussehen, die heute entwickelt und danach nichtmehr modernisiert werden.
  2. Das Produkt ist doch abgekündigt
    Falsch, mindestens die nächsten 5 Jahre kann ich ohne Probleme meine Infrastruktur weiter betreiben. Mit sehr hoher Wahrscheinlichkeit auch noch darüber hinaus.

Mit unserem Lego-Modernisierungsansatz können wir beiden Argumenten entgegentreten. Wir verpassen den Applikationen ein modernes Aussehen und sorgen gleichzeitig dafür, dass es zukünftig noch einfacher wird sie auf dem aktuellen Stand der Technik zu halten. Eine sofortige Ablösung der Domino Server ist nicht notwendig, kann aber dennoch durchgeführt werden, sollte dies irgendwann notwendig sein. Die jetzt getätigten Investitionen sind damit zum Großteil geschützt, egal welche Entscheidung in den nächsten Jahren getroffen wird.

Mehr IBM-Lösungen von Axians

 

Diesen Beitrag kommentieren

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.