Das Formular wurde erfolgreich abgeschickt.
Weitere Informationen finden Sie in Ihrem Briefkasten.
Sprache auswählen
Innowise führte ein umfassendes Refactoring des Plattformcodes durch und vereinfachte den Prozess der Integration neuer APIs erheblich.
Branche
Reisen
Region
EU
Kunde seit
2023
Unser Kunde, ein führendes Unternehmen in der Reisebranche, betreibt ein globales Vertriebssystem für die Ausstellung von Fährtickets und anderen Reisedienstleistungen. Diese Webanwendung ist eine zentrale Anlaufstelle für die Verwaltung verschiedener Fährenbuchungen, einschließlich Lang- und Kurzstreckenreisen, Mehrplatztypen und sogar komplexer Multi-Hop-Routen.
Detaillierte Information über den Kunden kann aufgrund der NDA nicht offengelegt werden.
Dieser Kunde sah sich durch seine derzeitige Marktgröße eingeschränkt und wollte sich weiter ausbreiten. Um diese Expansion zu erreichen, wollte er API-Integrationen mit Reisebüros einrichten.
Darüber hinaus war das Fehlen einer strukturierten Dokumentation der Softwarearchitektur ein erheblicher Schmerzpunkt. Diese Lücke führte zu verschiedenen Herausforderungen, z. B. bei der Einarbeitung neu eingestellter Teammitglieder, der Aufrechterhaltung eines gemeinsamen Verständnisses des Systems unter den verschiedenen Beteiligten und der reibungslosen Implementierung neuer Produktfunktionen.
Daher wandte sich der Kunde an uns, um API-Integrationen und eine umfassende Software-Dokumentationsarchitektur zu erstellen.
Innowise hat die Webanwendung modernisiert und optimiert API-Integrationen mit Reisebüros, um das Fährerlebnis in ganz Europa zu verbessern.
Zu Beginn führten wir ausführliche Interviews mit dem Entwicklungsteam und den Beteiligten des Kunden. Auf diese Weise konnten wir sicherstellen, dass wir das Wesentliche der Bedürfnisse des Kunden erfassen.
Mit dieser Fülle an Informationen machten wir uns daran, eine intuitive und verständliche Dokumentationsstruktur zu entwerfen. Die Dokumentation umfasste alles, von Systemübersichten auf hoher Ebene bis hin zu Details auf Code-Ebene. Wir integrierten Diagramme, Flussdiagramme und interaktive Elemente, um sie informativ und ansprechend zu gestalten.
Aber es ging nicht nur darum, ein statisches Dokument zu erstellen. Unserer Erfahrung nach ist die beste Dokumentation eine, die mit dem System, das sie beschreibt, lebt, atmet und sich weiterentwickelt. Deshalb haben wir einen dynamischen Dokumentationsprozess eingeführt, der kontinuierlich aktualisiert wird, wenn das System wächst und sich verändert. Dieser Ansatz des lebendigen Dokuments stellte sicher, dass die Dokumentation immer auf dem neuesten Stand war.
Außerdem haben wir uns darauf konzentriert, die Dokumentation für alle Beteiligten zugänglich und verständlich zu machen. Das bedeutete, dass wir Fachjargon vermieden, eine klare und präzise Sprache verwendeten und dafür sorgten, dass sowohl technische als auch nicht-technische Interessengruppen einen Nutzen daraus ziehen konnten.
Mit der Erstellung dieser umfassenden Software-Dokumentationsarchitektur haben wir nicht nur die Grundlage für das aktuelle Projekt geschaffen, sondern dem Kunden auch ein Werkzeug an die Hand gegeben, das die künftige Entwicklung, die Einbindung neuer Teammitglieder und die klare Kommunikation zwischen allen Beteiligten erleichtern sollte. Es war der Grundstein, auf dem alle weiteren Entwicklungen aufgebaut wurden.
Als wir das bestehende System des Kunden untersuchten, fanden wir eine veraltete Java-Version mit doppeltem Code und veralteten Praktiken. Die ursprüngliche Architektur, eine monolithische Anwendung, hatte in der Anfangsphase ihren Zweck erfüllt. Als die Plattform jedoch wuchs, zeigte dieser Ansatz seine Grenzen auf. Die Skalierbarkeit wurde mühsam, und die Codebasis wurde zu einem verwirrenden Labyrinth, das immer schwieriger zu navigieren und zu aktualisieren war, ohne neue Fehler einzuführen.
Auf der Grundlage unserer Analyse kamen wir zu dem Schluss, dass der Übergang zu einer Microservices-Architektur notwendig war. Microservices boten eine Lösung für die Probleme des monolithischen Systems in Bezug auf Skalierbarkeit und Agilität. Jeder Microservice in dieser Architektur arbeitet unabhängig, was bedeutet, dass sich Änderungen an einem Service nicht direkt auf andere auswirken. Diese Unabhängigkeit ist entscheidend für ein System wie das unseres Kunden, bei dem häufige Aktualisierungen und Integrationen zum Standard gehören.
Die Umstellung auf eine Microservices-Architektur erfolgte nicht von heute auf morgen. Stattdessen verfolgten wir einen schrittweisen Ansatz, indem wir die monolithische Struktur vorsichtig demontierten und in einer dynamischeren, auf Microservices basierenden Architektur neu zusammensetzten. Mit dieser Methode konnten wir die Systemfunktionalität während der gesamten Umstellung aufrechterhalten und so erhebliche Ausfallzeiten vermeiden, die sich negativ auf den Betrieb unseres Kunden auswirken könnten.
Wir extrahierten sorgfältig jeden Dienst, verfeinerten ihn und stellten ihn unabhängig voneinander bereit. Unsere Entwickler trennten Dienste wie die Ticketbuchung und die Reiseplanverwaltung in verschiedene Einheiten auf. Diese Trennung bedeutete, dass beispielsweise Aktualisierungen des Reiseplanverwaltungssystems vorgenommen werden konnten, ohne unbeabsichtigte Auswirkungen auf das Buchungssystem zu riskieren.
Für diese Umwandlung setzten wir Spring Boot und Spring Cloud ein. Spring Boot erleichterte das Einrichten und Konfigurieren von Microservices und beschleunigte die Entwicklung. Spring Cloud bot wertvolle Tools für verteilte Systeme, wie Konfigurationsmanagement und Service Discovery.
Wir integrierten auch Kafka als Message Broker. Seine Fähigkeit, große Datenmengen zu verarbeiten und eine zuverlässige Kommunikation zwischen den Diensten zu gewährleisten, war von entscheidender Bedeutung, insbesondere angesichts des hohen Datenflusses der neuen Architektur.
Schließlich implementierten wir neue Microservices auf der neuesten Version von Java. Dieses Upgrade trug zu einer besseren Leistung und mehr Sicherheit bei und bildete eine solide und moderne Grundlage für die gesamte Architektur.
Als wir das System unseres Kunden weiterentwickelten und verbesserten, stellten wir fest, dass ein effizienteres Verfahren zur Bearbeitung neuer Integrationen erforderlich war. Dies führte zur Entwicklung eines speziellen Verarbeitungsmoduls, einer entscheidenden Ergänzung des Systems, die den Integrationsprozess erheblich verbesserte.
Eine der Hauptherausforderungen, mit denen wir uns konfrontiert sahen, war die sich wiederholende Art des Code-Schreibprozesses für jede neue Integration. Vor der Entwicklung dieses Verarbeitungsmoduls musste jede neue Integration mit einer anderen Reisebüro oder -dienstleistung einen erheblichen Teil des Codes von Grund auf neu geschrieben werden musste.
Das von uns entwickelte Verarbeitungsmodul wurde als vielseitige Schnittstelle zwischen dem System unseres Kunden und externen APIs konzipiert. Dieses Modul besteht aus vorgefertigten, anpassbaren Vorlagen und Tools, die die Notwendigkeit, für jede Integration neuen Code zu schreiben, erheblich reduzieren. Es abstrahiert Standardfunktionalitäten und -prozesse, die typischerweise bei der Integration mit verschiedenen Reisedienstleistungen, wie z. B. Ticketbuchungssystemen oder Kundendatenbanken, zum Einsatz kommen.
Das Modul umfasst mehrere wichtige Funktionen:
Danach haben wir das GDS unseres Kunden mit 4 Reisebüros integriert, die REST- und SOAP-Austauschmechanismen verwenden. Diese Integrationen waren entscheidend für die Verbesserung der Prozesse für die Buchung, Änderung und Stornierung von Tickets für Fährdienste. Unsere Herausforderung bestand darin, ein Integrationsframework zu schaffen, das in der Lage ist, eine Vielzahl von Fährbuchungen zu verwalten, einschließlich verschiedener Routen, Sitzplatzkonfigurationen und Zusatzleistungen.
Die Implementierung dieser Integrationen umfasste mehrere entscheidende Schritte. Zunächst sichteten wir die APIs der Agenturen, um ihre Datenstrukturen und funktionalen Anforderungen zu verstehen. Unter Verwendung unseres neu entwickelten Verarbeitungsmoduls erstellten wir für jede Agentur maßgeschneiderte Konnektoren. Diese Konnektoren wurden auf die spezifischen Datenformate und Arbeitsabläufe der einzelnen Agenturen zugeschnitten, um eine reibungslose Datenintegration mit dem GDS unseres Kunden zu gewährleisten.
Der Prozess umfasste den Einsatz hochentwickelter Datenzuordnungs- und -umwandlungstools innerhalb unseres Verarbeitungsmoduls. Diese Technologie spielte eine entscheidende Rolle bei der Gewährleistung der Datenintegrität und -konsistenz. Unser Team führte umfangreiche Tests durch, um die Wirksamkeit und Zuverlässigkeit dieser Integrationen zu prüfen. Wir simulierten verschiedene Buchungsszenarien, um die Integrationen unter unterschiedlichen Bedingungen zu testen. Nach erfolgreichem Test haben wir die Integrationen in der Live-Umgebung eingesetzt und kontinuierliche Überwachungsmechanismen eingerichtet, um ihre Leistung zu überwachen und etwaige Probleme schnell zu beheben.
Backend
Java 17, Spring, Spring Boot, Spring Cloud, Hibernate
API
REST, SOAP
Datenspeicher
PostgreSQL, Memcached
Nachrichtenbroker
Kafka
DevOps
GitLab CI/CD-Pipelines
Services
Gitlab, Jira, Confluence
Wir erstellten ein Vision & Scope Dokument, um die Projektziele mit den Erwartungen des Kunden in der Anfangsphase abzustimmen. Dieses Dokument bildete die Grundlage für das Projekt, indem es die Ziele des Kunden und die Herausforderungen des Systems verdeutlichte.
Dann entwickelten wir eine dynamische, leicht verständliche Dokumentation, die sich synchron mit dem Projekt weiterentwickeln sollte, um die Kommunikation im Team zu optimieren und den Einführungsprozess effizienter zu gestalten.
Hier konzentrierten wir uns auf die Implementierung der Microservices-Architektur und die Entwicklung des Verarbeitungsmoduls. In dieser Phase haben wir unser technisches Know-how unter Beweis gestellt und eine verfeinerte Systemarchitektur und ein voll funktionsfähiges Verarbeitungsmodul entwickelt.
Wir haben das Verarbeitungsmodul genutzt und die APIs der Reisebüros nahtlos integriert. Strenge Tests gewährleisteten die Zuverlässigkeit des Systems und eine verbesserte Funktionalität.
Microsoft Teams war unser primäres Kommunikationstool, mit dem wir Diskussionen rationalisierten, Freigaben aktualisierten und einen zentralen Informationsspeicher unterhielten. Jira diente der Organisation und dem effizienten Workflow-Management für die Aufgabenverfolgung.
4
Back-End-Ingenieure
1
QA-Ingenieur
1
Teamleiter
1
Projektmanager
1
Software-Architekt
1
Business-Analyst
1
Delivery Manager
Nach der erfolgreichen Implementierung wies die Webanwendung des Kunden bemerkenswerte Leistungsverbesserungen auf. Die Kombination aus Code-Refactoring und der Migration zu einer Microservices-Architektur führte zu einem deutlich reibungsloseren Betrieb. Diese technische Überarbeitung und die nahtlose Integration der neuen Dienste führten zu einem beträchtlichen Anstieg der Verkaufszahlen des Kunden.
Die Auswirkungen dieses Wandels gingen über den finanziellen Bereich hinaus. Sie führte zu einer erheblichen Expansion, nicht nur bei den Einnahmen, sondern auch bei der geografischen Präsenz. Dies bedeutete einen großen Sprung in der Marktabdeckung des Unternehmens und stärkte seine Position als wichtiger Akteur in der Branche. Unsere Partnerschaft mit dem Kunden wird fortgesetzt, und weitere Integrationen sind in Planung.
30%
Umsatzschub
2x
Erhöhung der Geschwindigkeit der API-Integration
Sobald wir Ihre Anfrage erhalten und bearbeitet haben, werden wir uns mit Ihnen in Verbindung setzen, um Ihre Projektanforderungen zu besprechen und eine NDA (Vertraulichkeitserklärung) für die Vertraulichkeit der Informationen zu unterzeichnen.
Nach der Prüfung der Anforderungen erstellen unsere Analysten und Entwickler einen Projektvorschlag, der Arbeitsumfang, Teamgröße, Zeit- und Kostenschätzung enthält.
Wir vereinbaren einen Termin mit Ihnen, um das Angebot zu besprechen und eine Vereinbarung mit Ihnen zu treffen.
Wir unterzeichnen einen Vertrag und beginnen umgehend mit der Arbeit an Ihrem Projekt.
Mit der Anmeldung erklären Sie sich mit unseren Nutzungsbedingungen - als auch mit der Datenschutzrichtlinie, einschließlich der Verwendung von Cookies und der Übermittlung Ihrer persönlichen Daten - einverstanden.
© 2007-2024 Innowise. Alle Rechte vorbehalten.
Datenschutzrichtlinie. Cookies-Richtlinie.
Innowise Sp. z o.o Ul. Rondo Ignacego Daszyńskiego, 2B-22P, 00-843 Warschau, Polen
Vielen Dank!
Ihre Nachricht wurde gesendet.
Wir werden Ihre Anfrage bearbeiten und Sie so schnell wie möglich kontaktieren.
Vielen Dank!
Ihre Nachricht wurde gesendet.
Wir werden Ihre Anfrage bearbeiten und uns so schnell wie möglich mit Ihnen in Verbindung setzen.