IdM, FAUdir oder API – das sind nur drei der Entwicklungen aus der Abteilung EIV des RRZE. Bei all ihren unterschiedlichen Funktionalitäten haben sie alle drei eines gemeinsam: den Software-Stack.

Viele kennen es aus der Kindheit, wie schnell man mit Legosteinen zum Beispiel ein Raumschiff bauen kann. Ganz leicht kann man aber aus dem Raumschiff auch ein U-Boot zaubern oder andere schöne Sachen, die man haben will. Warum sich also nicht das Baustein-Prinzip auch für die Entwicklung von Webanwendungen zunutze machen?
So geschieht es seit vielen Jahren am Regionalen Rechenzentrum Erlangen (RRZE). Mit der Entwicklung des Identity Managements entstand auch ein sogenannter Software-Stack. Hierbei werden Software-Komponenten in einer Plattform gesammelt und für Projekte genutzt.
Bauen Krasimir Zhelev oder seine Kollegen der Abteilung Entwicklung, Integration, Verfahren (EIV) am RRZE beispielsweise eine neue Anwendung, wie FAUdir, dann besteht diese aus den Komponenten aus diesem Software-Stack, das auch Data Integration Box (DIB) genannt wird. Und damit aus Komponenten, die schon für das Identity Management (IdM) verwendet wurden. „Es gibt eine Vorlage und die können wir spezifizieren“, erklärt Krasimir Zhelev. „E-Mails versenden oder PDFs generieren muss heute fast jede Anwendung können, den Code kann ich dann auch überall nutzen, nicht nur in unserem IdM.“
Pakete direkt online anpassen
Das Prinzip ist simpel: Zhelev legt eine neue, auf DIB-basierende Anwendung an und installiert darauf Pakete mit Vorlagen. Diese sind sofort online und er kann diese dann modifizieren, je nachdem, welche Funktionalitäten seine Anwendung braucht: Soll regelmäßig eine Routine ausgeführt werden, kann Zhelev auf vorhandene Vorlagen zugreifen und automatisch einen Job mit dem gewünschten Intervall erzeugen. Dadurch werden Abfragen in festen Zeitabständen ausgeführt. So liest das IdM beispielsweise in regelmäßigen Intervallen Daten aus den Quellsystemen aus – vollständig automatisiert. Das vermeidet manuell notwendige Eingriffe.
Zugleich können Zhelev oder einer seiner Kollegen oder Kolleginnen mit DIB auch neue Komponenten bauen. Dies ist direkt online im Software-Stack möglich, ohne Umwege über eine Entwicklungsumgebung. So können Anwendungen nicht nur schnell gebaut, sondern auch Anpassungen während einer Besprechung vorgenommen werden. „Das spart enorm Zeit, weil wir die Komponenten nur anpassen müssen.“ Indem alle Beteiligten die Änderung und die Ergebnisse sofort sehen können, erleichtert das die Zusammenarbeit mit anderen Bereichen der Friedrich-Alexander-Universität Erlangen-Nürnberg (FAU) erheblich. „Wir können dadurch schnell Sachen anpassen und müssen nicht jedes Mal neu kompilieren. Das wäre, wie wenn ich bei einem neuen Website-Plugin das WordPress neuinstallieren müsste.“ So ergeben sich zahlreiche zusätzliche Möglichkeiten:dazu zählen das kurzfristige Beheben von Bugs direkt online, das Erstellen vielfältiger Auswertungen sowie die Umkonfiguration des Systems während des laufenden Betriebs.
Weniger Bugs durch erprobten Code
Doch nicht nur zeitlich ist DIB ein enormer Gewinn, sondern auch sicherheitstechnisch. Dadurch, dass bereits erprobte Entwicklungen zum Einsatz kommen, wird auch die Wahrscheinlichkeit, einen Bug einzubauen, minimiert. Denn würde der Code jedes Mal neu geschrieben werden, könnten sich mehrere solcher Fehler in den Code schleichen. Bei Paketen aus dem Software-Stack ist der Code jedoch schon erprobt.
All das macht das Programmieren so flexibel, dass Kollegen oder sogar andere Hochschulen mit dem Software-Stack arbeiten können. Auf Basis der Data Integration Box fußt auch das Projekt IdM4All, bei dem anderen Hochschulen die IdM-Software, sprich der Software-Stack zugänglich gemacht wird. So können diese ihr eigenes IdM aufbauen (IdM4All). Im Vergleich zu Lego hat dieses Entwickeln im Baustein-System sogar einen entscheidenden Vorteil: Denn mit den gleichen Software-Bausteinen lässt es sich bequem auch beim Freund bauen, wie IdM4All zeigt. Bei Lego müsste ein zweiter Bausatz gekauft werden.
Weitere Informationen
Application Programming Interface (API)
IdM4All
FAUdir
Text: Corinna Russow
