Kurse zur Integration von Altsystemen:
Legacy Integration und Anbindung von Altsystemen
Schnittstellen, Protokolle und Formate überleben oft die Anwendungen, für die sie ursprünglich entwickelt wurden. In vielen Datenformaten sind noch heute die Ursprünge aus Großrechner- und Batch-Systemen erkennbar.
Die Herausforderung besteht darin, diese bestehenden Systeme sinnvoll in moderne Architekturen zu integrieren, ohne Stabilität und Fachlogik zu verlieren.
1. Migrationsstrategien
Beim Umgang mit Altsystemen werden in der Praxis meist drei grundlegende Strategien verfolgt:
- Neuentwicklung
- Modernisierung
- Einbinden und Verpacken
1.1 Neuentwicklung
Der vollständige Ersatz eines Altsystems durch eine Neuentwicklung ist technisch oft die sauberste Lösung.
In der Praxis ist dieser Ansatz jedoch selten wirtschaftlich. Aufwand, Kosten und verfügbare Kapazitäten sprechen häufig gegen einen vollständigen Austausch.
1.2 Modernisierung
Durch regelmäßige Modernisierung kann eine Anwendung über viele Jahre hinweg weiterentwickelt werden.
Typische Maßnahmen sind:
- Upgrade auf aktuelle Versionen von Frameworks und Laufzeitumgebungen
- Austausch oder Modernisierung der Benutzeroberfläche
- Einführung moderner Schnittstellen (z. B. REST APIs)
- Verbesserung von Architektur und Codequalität
Dieser Ansatz reduziert Risiken und verteilt den Aufwand über einen längeren Zeitraum.
1.3 Einbinden und Verpacken
Eine häufig genutzte Strategie ist der Parallelbetrieb von Alt- und Neusystemen.
Das bestehende System wird dabei nicht ersetzt, sondern hinter einer modernen Schnittstelle verborgen. Diese Fassade kapselt die Komplexität des Altsystems und stellt nach außen standardisierte APIs bereit.
Die Umsetzung erfolgt typischerweise über Integrationslösungen oder ein API Gateway.
2. Unser Werkzeugkasten für Legacy Integration
2.1 Integration mit API Gateway
Für die Integration synchroner, HTTP-basierter Schnittstellen eignet sich der Einsatz eines API Gateways.
Ein API Gateway ermöglicht es, bestehende Schnittstellen zu kapseln und als moderne APIs bereitzustellen. Dabei lassen sich Protokolle und Datenformate gezielt anpassen.
Gerade bei XML- und SOAP-basierten Altsystemen spielt dieser Ansatz seine Stärken aus.
predic8 bietet mit Membrane ein Open-Source API Gateway, das sich besonders für die Integration von Altsystemen eignet. Membrane ist vollständig in Java implementiert und profitiert von der breiten Unterstützung der Java-Plattform für XML- und SOAP-Technologien.
Typische Funktionen für die Integration von Altsystemen sind:
- Transformation von SOAP zu REST APIs
- Routing und Verarbeitung von SOAP-Nachrichten
- Validierung von Nachrichten gegen XML Schema und WSDL
- Transformation von XML mit XSLT, Templates oder Groovy
- Verarbeitung mit XPath
Für diese Funktionen stehen zahlreiche Beispiele und Tutorials zur Verfügung.
2.2 Framework für die Integration
Sobald neben HTTP weitere Protokolle beteiligt sind, etwa FTP, E-Mail oder Messaging-Systeme, reicht ein API Gateway allein oft nicht aus.
Integrationsframeworks bieten hier zusätzliche Möglichkeiten:
- effiziente Implementierung von Integrationsstrecken
- große Anzahl an Konnektoren und Adaptern
- Umsetzung von Integrationsmustern
- Unterstützung für Monitoring, Logging und Tracing
Als Integrationslösung setzen wir häufig das Open-Source Framework Apache Camel ein.
2.2.1 Anwendungsintegration mit Apache Camel
Ein typisches Integrationsframework ist Apache Camel. Camel wird als Bibliothek bereitgestellt und lässt sich flexibel in verschiedene Laufzeitumgebungen integrieren.
In Kombination mit Containern und Messaging-Systemen entsteht eine leistungsfähige Integrationslösung.
Ein großer Vorteil von Camel ist die Vielzahl an verfügbaren Komponenten. Damit lassen sich auch ältere und spezialisierte Technologien anbinden, zum Beispiel:
- XML, XSLT und XPath
- FTP und Dateisysteme
- CSV, Fixed-Width-Formate und andere Nachrichtenformate
- AS2 für B2B-Datenaustausch
- JT400 für AS/400-Systeme
Was nicht direkt als Komponente in Camel verfügbar ist, lässt sich in der Regel über die Java-Plattform ergänzen. Da Camel auf Java basiert, kann es mit bestehenden Bibliotheken und Frameworks erweitert werden.
In Kombination mit einem API Gateway entsteht eine flexible Architektur für die Integration von Altsystemen.
3. Unsere Dienstleistungen
Wir unterstützen euch bei der Integration von Altsystemen über den gesamten Lebenszyklus hinweg. Von der Analyse über die Umsetzung bis zum Betrieb.
3.1 Analyse und Architektur
Am Anfang steht das Verständnis der bestehenden Systeme und Schnittstellen. Typische Leistungen sind:
- Analyse bestehender Anwendungen, Schnittstellen und Datenflüsse
- Identifikation von Risiken (z. B. EOL, fehlende Schnittstellen, technische Schulden)
- Entwicklung von Integrations- und Migrationsstrategien
- Definition von Zielarchitekturen (z. B. API-getriebene Architektur)
- Auswahl geeigneter Technologien und Werkzeuge
- Ausarbeitung eines Planes zur Umsetzung
3.2 Umsetzung von Integrationen
Wir setzen Integrationslösungen um und unterstützen bei der Einführung von Integrationsplattformen und API Gateways sowie der schrittweisen Modernisierung bestehender Systeme.
Typische Leistungen sind:
- Transformation zwischen REST und SOAP
- Erstellung und Anpassung von OpenAPI- und WSDL-Beschreibungen
- Anbindung von Altsystemen an moderne APIs
- Implementierung von Routing- und Orchestrierungslogik
- Transformation von Datenformaten (z. B. XML, JSON, EDI, CSV)
- Kapselung von Altsystemen hinter stabilen Schnittstellen
- Umsetzung von Validierung und Fehlerbehandlung
3.3 Betrieb und Weiterentwicklung
Auch nach der Umsetzung unterstützen wir beim stabilen Betrieb und der Weiterentwicklung der Integrationslösung.
Typische Leistungen sind:
- Aufbau und Integration von Monitoring, Logging und Tracing
- Betrieb und Wartung
- Analyse und Behebung von Störungen
- Performance-Optimierung von Integrationsstrecken
- Erweiterung bestehender Schnittstellen und Integrationen
- Unterstützung bei Updates und technologischer Weiterentwicklung