Bitte hinterlassen Sie Ihre Kontaktdaten, wir senden Ihnen dann unsere Übersicht per E-Mail zu
Ich stimme der Verarbeitung meiner persönlichen Daten zu, um personalisiertes Marketingmaterial in Übereinstimmung mit der der Datenschutzrichtlinie geschickt zu bekommen. Mit der Bestätigung der Anmeldung erklären Sie sich damit einverstanden, Marketingmaterial zu erhalten
Vielen Dank!

Das Formular wurde erfolgreich abgeschickt.
Weitere Informationen finden Sie in Ihrem Briefkasten.

Innowise ist eine internationale Vollzyklus-Softwareentwicklungsfirma, die 2007 gegründet wurde. Wir sind ein Team von über 1800 IT-Experten, die Software für andere Experten auf der ganzen Welt entwickeln.
Über uns
Innowise ist eine internationale Vollzyklus-Softwareentwicklungsfirma, die 2007 gegründet wurde. Wir sind ein Team von über 1800 IT-Experten, die Software für andere Experten auf der ganzen Welt entwickeln.

Verbesserung der GDS-Webanwendung: 2-fache Steigerung der Geschwindigkeit der API-Integration

Innowise führte ein umfassendes Refactoring des Plattformcodes durch und vereinfachte den Prozess der Integration neuer APIs erheblich. 

Der Kunde

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.

Herausforderung

Überwindung von Marktbeschränkungen und Dokumentationslücken

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.

Lösung

Skalierung der Effizienz von Webanwendungen und Verfeinerung von API-Integrationstechniken

Innowise hat die Webanwendung modernisiert und optimiert API-Integrationen mit Reisebüros, um das Fährerlebnis in ganz Europa zu verbessern.

Erstellung einer Softwarearchitektur-Dokumentation

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.

Code-Refactoring und Migration zu Microservices

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.

Ausarbeitung der Entwicklung eines neuen Verarbeitungsmoduls

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.

Bewältigung von Redundanzproblemen

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.

Entwurf des Verarbeitungsmoduls

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:

  • API-Kommunikationshandler: sind für die Verwaltung ein- und ausgehender API-Anfragen von Reisebüros konzipiert. Sie bewältigen die Komplexität der verschiedenen API-Protokolle und Datenformate und erleichtern die Verbindung mit externen Systemen.
  • Tools zur Datenzuordnung und -umwandlung: Oft variieren die Datenstrukturen zwischen verschiedenen Systemen. Unser Modul umfasst Werkzeuge, die Daten automatisch in das vom Kundensystem und von externen Dienstleistern benötigte Format umwandeln und abbilden. Dies erleichtert den reibungslosen Datenaustausch und die Integration.
  • Konfigurations- und Anpassungsschnittstelle: In Anerkennung des Bedarfs an Flexibilität ist das Modul mit einer Schnittstelle ausgestattet, die es Entwicklern ermöglicht, Integrationen einfach zu konfigurieren und anzupassen, ohne tief in den Kerncode einzudringen. Dies ermöglicht eine schnelle Anpassung an die spezifischen Anforderungen jedes neuen Reisebüros oder Dienstes.

API-Integrationen mit Reisebüros

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.

Technologien

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

Prozess

Entdeckung und Analyse

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.

Entwicklung von Softwarearchitektur-Dokumentation

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.

Design und Entwicklung

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.

Integration und Test

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.

Kommunikation und Aufgabenverfolgung

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.

Team

4

Back-End-Ingenieure

1

QA-Ingenieur

1

Teamleiter

1

Projektmanager

1

Software-Architekt

1

Business-Analyst

1

Delivery Manager

Ergebnisse

Erzielen von transformativen Ergebnissen mit steigenden Umsätzen und erweiterter Marktpräsenz

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.

Projektdauer
  • März 2023 - Fortlaufend

30%

Umsatzschub

2x

Erhöhung der Geschwindigkeit der API-Integration

Kontaktieren Sie uns!

Einen Anruf buchen oder füllen Sie das Formular unten aus und wir melden uns bei Ihnen, sobald wir Ihre Anfrage bearbeitet haben.

    Bitte fügen Sie Projektdetails, Dauer, Technologie-Stack, benötigte IT-Experten und andere Infos bei.
    Bitte fügen Sie Projektdetails, Dauer, Technologie-Stack, benötigte IT-Experten
    und andere Infos bei.
    Hängen Sie nach Bedarf zusätzliche Dokumente an.
    Datei hochladen

    Sie können bis zu 1 Datei von insgesamt 2 MB anhängen. Gültige Dateien: pdf, jpg, jpeg, png

    Bitte beachten Sie, dass Innowise mit dem Anklicken der Schaltfläche 'Senden' Ihre persönlichen Daten nach der Datenschutzrichtlinie verarbeiten wird, um Ihnen die gewünschten Informationen zukommen zu lassen.

    Wie geht es weiter?

    1

    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.

    2

    Nach der Prüfung der Anforderungen erstellen unsere Analysten und Entwickler einen Projektvorschlag, der Arbeitsumfang, Teamgröße, Zeit- und Kostenschätzung enthält.

    3

    Wir vereinbaren einen Termin mit Ihnen, um das Angebot zu besprechen und eine Vereinbarung mit Ihnen zu treffen.

    4

    Wir unterzeichnen einen Vertrag und beginnen umgehend mit der Arbeit an Ihrem Projekt.

    Спасибо!

    Cообщение отправлено.
    Мы обработаем ваш запрос и свяжемся с вами в кратчайшие сроки.

    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.

    Pfeil