Wie funktioniert ein problemloses Zusammenspiel von alter und neuer Software? Geht das überhaupt ohne Probleme? Welche Möglichkeiten gibt es aktuell im Bereich der Software-Modernisierung und welche kommen zukünftig hinzu bzw. sind zu erwarten?
Dazu sprachen wir mit Torsten Drees, Senior Technical Sales Consultant bei Magic Software. Zum Nachlesen oder als Video (unten).
Herr Drees, wir wollen über Software-Modernisierung sprechen. Aber warum eigentlich. Wenn die Anwendungen doch flüssig laufen, aufgrund welcher Faktoren sollte ich modernisieren?
Ein großes Thema ist, dass die Entwickler verloren gehen. Heute gibt es kaum noch jemanden der COBOL, RPG oder CL richtig beherrscht. Das heißt, das Know-how geht verloren. Dann haben diese alten Programmiersprachen, auch wenn sie immer mehr geöffnet werden, meist Probleme Schnittstellen in Richtung XML-Web Services, .net und anderen Plattformen, herzustellen. Eine Integration mit anderen Anwendungen, auch Web-Anwendungen wird somit schwierig.
Und dann müssen wir auch über die Leute reden, die mit solchen Anwendungen unterwegs sind und jene bedienen – junge Leute –, die kennen keinen Greenscreen mehr. Die Nutzer erwarten graphische Oberflächen statt zeichenbasierter Greenscreens. Sie müssen also geschult werden, damit sie mit diesen umgehen können. Auch ein mobiler Zugriff auf solche Plattformen ist sehr schwierig. Die Leute sind es gewohnt von überall, aus dem Homeoffice oder vom Smartphone aus, auf Systeme zugreifen zu können. Das sind alles Themen, die einfach zu einem Innovationsstau, zu einem technologischen Flaschenhals führen. Und eben diese Themen müssen für Anwender angegangen werden und da ist dann eine Software-Modernisierung angesagt.
Sie sprechen bei der Modernisierung von Kernsanierung vs. Neubau. Was sind denn Vor- und Nachteile der beiden Methoden?
Wir haben es damals mit der Modernisierung eines Hauses verglichen: Ich kann die alten Wasserleitungen, Stromleitungen rausreißen, dann neue hinsetzen und die Wände neu verputzen. Wenn das Haus jedoch in einem ganz schlechten Zustand ist, kann ich auch einfach einen Bagger kommen und alles abreißen lassen; und danach neu bauen. So ist das auch in diesem Bereich zu sehen.
Bei der Kernsanierung versuchen wir die Business-Logik beizubehalten, erstmal ein Re-Design der Benutzeroberfläche zu machen, um dort auch eine moderne Entwicklungsumgebung einzusetzen, und so weit wie möglich RPG- und COBOL-Programme beizubehalten. Bei der Kernsanierung geht es in erster Linie darum, die bestehende Anwendung zu erweitern, einige wichtige Screens in eine graphische Oberfläche zu bringen und damit einfach Möglichkeiten aufzumachen, diese Dinge mit beliebigen modernen Technologien zu integrieren.
Beim Neubau komme ich mit einem Bagger und reiße alles ein. Also kann ich meine Datenbankstrukturen re-designen, komplett alles neu aufbauen und moderne Architekturen einsetzen; eine serviceorientierte Architektur einsetzen, Webservices einbauen und über diese kommunizieren. Ich kann beliebigste Systeme anbinden. Natürlich gibt es auch hinsichtlich der Frontends vielmehr Möglichkeiten und damit kann ich zu vielmehr Stabilität und Skalierbarkeit kommen. Auch das Thema Integration ist hier ein ganz wichtiger Punkt. Man muss natürlich versuchen, seine Daten, die zum Beispiel auf der AS/400 liegen oder schlummern, mit anderen Systemen zu integrieren.
Wie kann ich entscheiden, ob ich neu bauen oder kernsanieren sollte?
Da gibt es kein wirkliches Rezept. Es ist immer eine Kostenfrage. Wenn ich meine Anwendungen komplett neu baue, brauche ich ein deutlich höheres Budget, als wenn ich kernsaniere. Das hängt zudem von der Manpower ab, die zur Verfügung steht.
Beim Stichwort Neubau könnte man auch auf ein ganz anderes System setzen. Weg von IBM i. Warum sollte man weiterhin auf IBM i setzen?
Ich denke, das ist einfach. Der Name ist hier Programm: Die AS/400 oder IBM i ist eines der stabilsten Systeme, die es auf dem Markt gibt. Die ganze Architektur, wie das Betriebssystem aufgebaut ist, ist sehr flexibel, wie auch die Trennung vom maschineninternen Code zu der Anwendungsumgebung, zum Betriebssystem. Es ist ein sehr stabiles System, was den Unternehmen gezeigt hat, dass man sehr gut damit arbeitet. Und warum sollte man ein solches System verlassen, nur weil einem die Oberfläche nicht passt?
Und ich will ja die Daten nicht verlieren, sondern weiternutzen. Das ist ein ganz, ganz wichtiger Punkt. Was macht man mit seinen Daten und wie kann man sie nutzen? Viele sagen, Daten sind das neue Gold, weil man daraus Entscheidungen ableiten kann. Und sie auf andere Systeme zu bringen, ist natürlich nicht ganz so einfach.
Sie bieten eine Applikations- & eine Integrationsplattform an. Was ist der Unterschied?
Mit unserer Applikationsplattform Magic xpa, wie der Name schon sagt, kann man Applikationen entwickeln. Und dabei habe ich vollkommen flexible Bereitstellungsmodi. Ich kann nach wie vor klassische Desktop-Anwendungen realisieren, was eine Vielzahl unserer Kunden heute auch noch tut.
Ich kann damit aber ebenso mobile Anwendungen, die auf Android und auf iOS laufen, Rich-Internet-Anwendungen und browserbasierte Anwendungen erstellen. Es handelt sich um eine Plattform, mit der ich Anwendungen, in einer Low-Code Umgebung, sehr einfach und sehr schnell entwickeln kann.
Unsere Integrationsplattform, Magic xpi, dient, wie der Name schon sagt, zur Integration der Anwendung. Für Unternehmen ist es heute ganz wichtig, dass sie ihre Systeme miteinander verbinden können, um doppelte Aufwände, Fehler und vieles mehr zu verhindern. Wird z. B. im CRM ein Interessent angelegt, welcher irgendwann Kunde wird und somit ins ERP rüber muss: Warum soll das ein Mensch machen? Solche Dinge können durch eine Integrationsplattform einfach automatisch gelöst werden. Das heißt, wir haben hier sehr vielfältige Anwendungsmöglichkeiten und -szenarien, wenn es darum geht auf Anwendungen und Daten beliebigster, anderer Hersteller und Anbieter oder anderer Systeme zugreifen zu können.
Warum sollte man auf Ihre Applikations-Anwendung Magic xpa setzen?
Wie ich erwähnt habe, ist es eine Low-Code-Plattform. Ich muss also nicht wie in einer klassischen Programmiersprache, Zeile für Zeile codieren, sondern ich bin in einer geführten Umgebung. Diejenigen, die noch mit RPG-2 unterwegs waren, kennen sogar einige Konstrukte daraus. Genau so wie es in RPG-2, Präfixe und Suffixe gibt, haben wir diese auch. Ich werde im Prinzip durch eine Umgebung geführt – wir haben es auch mal ein Metadaten-orientiertes Paradigma genannt. Das heißt, ich fülle Metadaten aus, definiere was ein Programm kann und nicht kann, ohne dass ich dafür wirklich programmieren muss. Und da ist es tatsächlich vollkommen egal, ob es von der AS/400, von einer Oracle- oder einer SQL-Serverdatenbank kommt. Ich muss mich mit der Technik nicht beschäftigen.
Als User hinterlege ich Regeln und passe an, aber was dann wirklich im Hintergrund, im Einzelnen passiert, das macht die Plattform vollkommen automatisch und dadurch ist sie natürlich sehr, sehr geeignet auch für sogenannte citizen developer. Also ich brauche keine, wirklich tiefgreifende Programmierkenntnisse, sondern kann in fünf Tagen Training, die wir für unsere Plattform anbieten, damit beginnen diese Anwendungen zu erstellen. Im Prinzip könnte ich damit auch ein SAP nachprogrammieren, wobei dies vom Aufwand her relativ unwahrscheinlich ist, aber man kann wirklich komplexeste Dinge damit machen.
Zu welchen weiteren Systemen bieten Sie im Rahmen der Integrationsplattform Magic xpi Schnittstellen an?
Es gibt kein System zu dem wir keine Schnittstellen haben. Wir unterscheiden das so ein bisschen in zwei Bereiche: Natürlich einmal dedizierte Konnektoren. Das sind die Teile der Integrationsplattform, die uns mit einem System verbinden.
Da gibt es einen AS/400 Konnektor, weil wir neben dem Zugriff auf die Datenbank, auch die Möglichkeit anbieten, RPG-, COBOL- und CL-Programme aufzurufen, spooled files zu lesen, ins IFS zu gehen, remote commands abzusetzen – viele verschiedene Möglichkeiten mit der AS/400 zu interagieren.
Dann gibt es Konnektoren zu ganz vielen Microsoft-Systemen. Wenn ich einen SharePoint Exchange Server habe oder ein Microsoft Dynamics CRM, aber auch andere CRMs wie Salesforce oder Sugar. Die haben alle dedizierte Konnektoren und diese haben eine Sache gemeinsam: sie bieten eine Abstraktion der Backend-API. Das heißt, ich muss keine Dokumentationen lesen, nicht verstehen, was für Endpunkte ein CRM hat, sondern es ist in der Regel so, dass ich ein Objekt angebe, wie ‚lead opportunity Kunde‘ und dazu eine Methode ‚insert, update, delete‘. Und damit kann ich auch ohne Kenntnisse der Backend-Systeme, mit diesen interagieren.
Und ein zweiter Vorteil, den diese dedizierten Konnektoren bieten: Wir können sie auch zertifizieren lassen. Unser SAP-Konnektor ist z. B. für das traditionelle SAP R/3 oder ECC6, aber auch für das SAP S/4HANA entsprechend von der SAP zertifiziert.
Der zweite Teil sind dann technologische Konnektoren, weil natürlich die IT-Landschaft, global gesehen, aus viel mehr Systemen besteht. Da kann ich irgendwelche webbasierten Systeme haben, die in der Regel über eine REST- oder eine SOAP-API angesteuert werden.
Manchmal hat man irgendwelche Message Queue Systeme, aus denen man Daten bekommt oder dort auch einsetzen muss, wie ein WebSphere MQ. Aber auch moderne, wie ein Azure Service Bus (Cloudsystem) oder Apache Kafka (streaming broker), werden von uns unterstützt.
Last but not least bieten wir auch die Möglichkeit an, eigene Konnektoren zu entwickeln, sprich die Integrationsplattform ist nach außen hin offen. Also definieren nicht wir als Hersteller, welche Konnektoren dabei sind, sondern unsere Kunden können sich eigene Konnektoren schreiben. Wenn z. B. morgen eine Plattform X auf den Markt käme, zu der keiner eine Unterstützung hat, kann man für diese einen Konnektor programmieren.
Lassen Sie uns den State of the German Software Legacy ansehen. Begegnen Sie im Top Management eher der Aussage „Läuft doch, da muss man nichts machen.“ oder sind auch die Entscheider mittlerweile von der Notwendigkeit der Software-Modernisierung überzeugt?
Das Top Management der Unternehmen hat natürlich verstanden, dass man seine Systeme integrieren und die Daten aggregieren muss, um Voraussagen treffen zu können. Künstliche Intelligenz kommt immer mehr. Z. B. wollen produzierende Unternehmen wissen, wann die Maschinen aussetzen, wann diese zur Wartung müssen. Das sind alles Dinge, die man eben nur wirklich machen kann, wenn man diese Daten nutzt und aus ihnen Informationen herauszieht.
Für echte Digitalisierung muss man ja erstmal seine Daten im Griff haben. Wie stehen deutsche Unternehmen hier aus Ihrer Sicht und wie kann Magic beim Thema Daten helfen?
Also, ich meine, wir stehen da noch relativ am Anfang. In den letzten Monaten hatten wir sehr viele Anfragen von Kunden, die eben genau diese Themen angehen wollen. Wir bieten ja nicht nur unsere Integrations- und Applikationsplattform an, sondern haben eine gesamte Plattform drumherum geschaffen – die inzwischen auch komplett cloud-basiert ist.
Wir haben eine Datamanagement-Plattform, bei der eben u. a. die Integrationsplattform genutzt wird, um Daten aus den verschiedensten Systemen zu holen und sie in ein Data-Lake zu legen. Und dann kann man viele Werkzeuge (z. B. Power BI oder Grafana) nehmen, um diese Daten zusammenzubringen, zu visualisieren und dann noch Künstliche Intelligenz daraufzusetzen. Inzwischen haben wir auch eine ganze Abteilung, die sich damit beschäftigt. Diese unterstützt unsere Kunden dabei, in diesen Themen voranzukommen.
Und wir arbeiten an eigenen AI-Bots. Die nächste Form unserer Integrationsplattform wird also auch dahingehend die ersten Möglichkeiten bieten. Über einen Chatbot sollen sozusagen Instruktionen gegeben werden, wie ein Prozess aussehen soll. Und diese Prozesse sollen weitestgehend automatisch erstellt werden.
Auch wenn Kunden eventuell noch alte Systeme haben, braucht keiner Angst haben, weil die Plattform komplett in der Cloud läuft. Über einen sogenannten local agent haben wir jederzeit die Möglichkeit auf die On-Prem-Systeme zurückzugreifen. Der local agent ist ein kleines Stück Technologie, was im Rechenzentrum des Kunden läuft. Es macht von sich aus die Verbindung in die Cloud auf, sodass also kein Hissing in der Firewall geschehen muss; was heute inzwischen jeder Firewall-Administrator aus bekannten Gründen ablehnt. Das heißt also, dass eine hybride Existenz möglich ist und die Integrationsplattform somit aus der Cloud auch Daten aus den On-Prem-Systemen abziehen kann.
Ich denke, dass es in der Zukunft darum geht, Daten zur Visualisierung zu nutzen, um Aussagen treffen und Voraussagen machen zu können. Dafür bieten wir mit unserer Datamanagement-Plattform, mit unserer gesamten Plattform in der Cloud, eine gute Möglichkeit.
Hier finden Sie weitere Informationen zu Magic Software Enterprises