Von SOAP zu REST: ACTICOs reibungsloser Übergang zu flexibleren Automatisierungen
ACTICO, ein weltweit führender Anbieter von Softwarelösungen für Compliance, Kreditrisiko und Entscheidungsmanagement, trat an uns heran, um seine Automatisierungsplattform zu modernisieren. Die Plattform, die traditionell SOAP-Endpunkte für Kundeninteraktionen verwendet, benötigte ein Upgrade auf REST- und Open-API-Endpunkte, um den sich entwickelnden Branchenstandards zu entsprechen.
Unser Team entwarf und implementierte ein neues Modul für den Execution Server von ACTICO, um die automatische Generierung von REST-APIs und die dynamische Bereitstellung von Endpunkten zu ermöglichen. Wir erstellten sichere Zugriffsprotokolle und führten gründliche Integrations- und End-to-End-Tests durch, um sicherzustellen, dass die Lösung den hohen Standards von ACTICO für Zuverlässigkeit und Sicherheit entspricht.
Kunde
ACTICO
Industrie
Versicherung & Finanzen
Technologien
Java 17, Spring Boot, Apache Jersey, OkHttp, REST, Open Api 3, OAuth, JUnit, Jenkins, SonarQube, Bitbucket, Jira, Confluence
Über das Projekt
Die Plattform, die ACTICO verwendet, um Kunden Automatisierung und Entscheidungsfindung zu bieten, besteht aus drei Hauptkomponenten: einem Modellierer, einem Modell-Hub und einem Ausführungsserver.
Der Modeler ist eine Client-Anwendung zum Entwerfen und Erstellen eines Modells für ein bestimmtes Problem, das der Kunde lösen möchte. Das Modell besteht aus einem Flussdiagramm mit Ausführungs- und Entscheidungsknoten, aber jeder Knoten ist vollständig mit Prozessen ausgestattet, die in einer Programmiersprache wie Java ausgeführt werden können. Bibliotheken mit Abhängigkeiten können nach Bedarf hinzugefügt werden, so dass die Möglichkeiten des Modells sehr leistungsfähig und praktisch unbegrenzt sind.
Der Model Hub ist eine Webanwendung, in der die Modelle veröffentlicht werden, sobald sie erstellt sind, und in der ihre Versionierung verwaltet wird.
Der Execution Server ist eine Webanwendung, in der die in einem Model Hub veröffentlichten Modelle zur Ausführung geplant werden können. Der Server nimmt Ausführungsanfragen für auf dem Ausführungsserver registrierte Modelle mit den im Modell angegebenen Eingaben entgegen, und nach der Ausführung des Modells wird die resultierende Ausgabe vom Server zurückgegeben.
Bei der Modellregistrierung bei einem Ausführungsserver erstellt der Server automatisch SOAP-Endpunkte, die ein Client zur Ausführung des bereitgestellten Modells verwenden kann. Da sich die Industriestandards jedoch im Laufe der Zeit weiterentwickelt haben und modernere Technologien ausgereift sind, verlangen immer mehr ACTICO-Kunden
, dass die Endpunkte auch über neuere Technologien wie REST und Open API verfügbar sind, um eine Integration in ihre modernen Umgebungen zu ermöglichen.
Das Team von ACTICO ist bereits voll ausgelastet mit der Wartung mehrerer Kunden, die komplexe Probleme haben, die natürlich bei der Verwendung von Modellen auftreten können, die unendlich viele Szenarien zulassen. Daher hat sich ACTICO an uns gewandt, um diese neue Funktion zur Erstellung der Open API-Ausführungsserver-Endpunkte zu implementieren.
Herausforderungen
Systemintegration
- Nahtlose Integration in eine komplexe und gut etablierte Struktur, ausschließlich über proprietäre Schnittstellen.
- Hinzufügen neuer Funktionen in einem bestehenden komplexen Ökosystem.
Automatische Erzeugung von Endpunkten
- Erstellung der REST-Endpunkte für die dynamische Bereitstellung der Open API-Spezifikation, die eine Modellstruktur beschreibt.
Automatisierte Endpunkttests
- Sicherstellung von Integrationstests bei der Endpunktgenerierung.
- Gewährleistung von End-to-End-Tests, einschließlich der Generierung des Client-Prozesses auf der Grundlage der bereitgestellten Open API-Spezifikation, der Ausführung des generierten Clients und der Validierung der Ergebnisse.
Steile Lernkurve
- Sie können zeitnah produktiv werden, während Sie an einer ungewohnt großen Quellcodebasis arbeiten.
Lösung
Die Lösung wurde als neues Modul im Execution Server konzipiert und implementiert.
Systemintegration
- Es wurde eine Reihe von Diensten erstellt, um die Modelldetails über systemeigene Schnittstellen bereitzustellen.
Automatische Erzeugung von Endpunkten
- Das neue Modul wurde als REST-API-Schnittstelle erstellt, die die Identifizierung eines Moduls entgegennimmt und die Open-API-Spezifikation dafür erstellt.
- Der Zugriff auf die REST-Schnittstelle war nur für autorisierte Benutzer möglich.
- Die erstellte Open API-Spezifikation enthält Sicherheitszugriffsanforderungen, wie sie im Execution Server konfiguriert sind, wie Basic Authentication oder Open ID Connect Authentication.
Automatisierte Endpunkttests
- Die Tests werden auf einer Testinstanz des Execution Server durchgeführt.
- Die Integrationstests verwenden eine vordefinierte Open API-Spezifikation, um einen Java-Client zu generieren, den Client zu erstellen und ihn auf dem Execution Server auszuführen. Die Antwort wird auf ihre Gültigkeit geprüft.
- Die End-to-End-Tests beziehen die Live-Spezifikation der offenen API vom Execution Server über die REST-API-Schnittstelle. Die Spezifikation wird dann verwendet, um einen Java-Client zu generieren, den Client zu erstellen und ihn auf dem Ausführungsserver auszuführen. Die Antwort wird auf ihre Gültigkeit geprüft.
Steile Lernkurve
- Erfahrung und Ausdauer sind der Schlüssel, um mit einer großen und unbekannten Quellcodebasis zurechtzukommen.
Verwendete Technologien
Ergebnisse
Das Team integrierte erfolgreich und schaffte es, neue Funktionen und die entsprechende Suite von Integrationstests und End-to-End-Tests zu implementieren und so einen reibungslosen Übergang von SOAP-Endpunkten zu REST-API-Endpunkten für die Kunden zu gewährleisten, die die ACTICO-Plattform nutzen.
Blickwinkel
Dieses System unterstreicht unser Engagement für die Zufriedenheit unserer Kunden und unsere Fähigkeit, uns an komplexe Herausforderungen anzupassen. Es handelt sich um ein Modell für den Entwurf, die Implementierung, das Testen und die Bereitstellung neuer Funktionen, die als neues Modul in einer komplexen Architektur verpackt sind.
Als engagiertes Softwareentwicklungsteam mit Fachkenntnissen in den Bereichen Nearshore-Softwareentwicklung, Outsourcing der Softwareentwicklung, IT-Personalverstärkung und vielem mehr sind wir auf die Bereitstellung innovativer Lösungen für verschiedene Branchen spezialisiert, von der Entwicklung kundenspezifischer Fertigungssoftware bis hin zur Optimierung von Geschäftsprozessen, um sicherzustellen, dass unsere Kunden wettbewerbsfähig und effizient bleiben. Sehen Sie sich unsere Softwareentwicklungsprojekte hier an.