Zostaw swoje dane kontaktowe, a my wyślemy Ci nasz przegląd e-mailem
Wyrażam zgodę na przetwarzanie moich danych osobowych w celu przesyłania spersonalizowanych materiałów marketingowych zgodnie z Regulaminem. Politykę Prywatności. Potwierdzając zgłoszenie, użytkownik wyraża zgodę na otrzymywanie materiałów marketingowych
Vielen Dank!

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

Innowise ist ein mittelständisches Unternehmen für IT-Dienstleistungen im Zeitraum von 2007 bis heute. Jesteśmy zespołem ponad 2000+ specjalistów IT tworzących oprogramowanie dla innych profesjonalistów na całym świecie. profesjonalistów na całym świecie.
O nas
Innowise ist ein mittelständisches Unternehmen für IT-Dienstleistungen im Zeitraum von 2007 bis heute. Jesteśmy zespołem ponad 2000+ specjalistów IT tworzących oprogramowanie dla innych profesjonalistów na całym świecie. profesjonalistów na całym świecie.

Ulepszenie aplikacji internetowej GDS: 2-krotny wzrost szybkości integracji API

Innowise przeprowadziło kompleksową refaktoryzację kodu platformy i znacznie uprościło proces integracji nowych interfejsów API. 

Klient

Branża

Podróż

Region

UE

Klient od

2023

Nasz klient, znaczący gracz w branży turystycznej, obsługuje globalny system dystrybucji (GDS) do wystawiania biletów promowych i innych usług turystycznych. Ta aplikacja internetowa jest pojedynczym punktem kontaktowym do zarządzania różnymi rezerwacjami promowymi, w tym podróżami na długich i krótkich dystansach, typami wielomiejscowymi, a nawet złożonymi trasami z wieloma przesiadkami.

Szczegółowe informacje o kliencie nie mogą zostać ujawnione zgodnie z warunkami umowy NDA.

Wyzwanie

Poruszanie się po ograniczeniach rynkowych i lukach w dokumentacji

Ten klient był ograniczony przez swój obecny rozmiar rynku i chciał się dalej rozwijać. Aby osiągnąć tę ekspansję, zamierzał skonfigurować integracje API z biurami podróży. 

Dodatkowo, brak ustrukturyzowanej dokumentacji architektury oprogramowania był istotnym problemem. Luka ta doprowadziła do kilku wyzwań, takich jak wprowadzenie nowo zatrudnionych członków zespołu, utrzymanie wspólnego zrozumienia systemu wśród różnych interesariuszy i płynne wdrażanie nowych funkcji produktu. 

W związku z tym klient zwrócił się do nas w sprawie integracji API i stworzenia kompleksowej architektury dokumentacji oprogramowania.

Wdrożenie

Skalowanie wydajności aplikacji internetowych i doskonalenie technik integracji API

Innowise zapewniło modernizację i optymalizację aplikacji internetowych Integracje API z biurami podróży, aby podnieść jakość usług promowych w całej Europie.

Tworzenie dokumentacji architektury oprogramowania

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. 

Dzięki temu bogactwu informacji postanowiliśmy zaprojektować intuicyjną i zrozumiałą strukturę dokumentacji. Dokumentacja obejmowała wszystko, od wysokopoziomowych przeglądów systemu po szczegóły na poziomie kodu. Włączyliśmy diagramy, schematy blokowe i elementy interaktywne, aby uczynić ją informacyjną i wciągającą.

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.

Ponadto skupiliśmy się na tym, aby dokumentacja była dostępna i zrozumiała dla wszystkich zaangażowanych stron. Oznaczało to unikanie żargonu, używanie jasnego i zwięzłego języka oraz zapewnienie, że interesariusze techniczni i nietechniczni znajdą w niej wartość.

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.

Refaktoryzacja kodu i migracja do mikrousług

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.

Starannie wyodrębniliśmy każdą usługę, dopracowaliśmy ją i wdrożyliśmy niezależnie. Nasi programiści rozdzielili usługi takie jak rezerwacja biletów i zarządzanie planami podróży na odrębne jednostki. Oznaczało to, że na przykład aktualizacje systemu zarządzania planami podróży mogły być wprowadzane bez ryzyka niezamierzonych konsekwencji w systemie rezerwacji.

Do tej transformacji wykorzystaliśmy Spring Boot i Spring Cloud. Spring Boot ułatwił konfigurację mikrousług, przyspieszając rozwój. Spring Cloud oferował cenne narzędzia dla systemów rozproszonych, takie jak zarządzanie konfiguracją i wykrywanie usług.

Zintegrowaliśmy również Kafkę jako naszego brokera wiadomości. Jego zdolność do obsługi dużych ilości danych i zapewnienia niezawodnej komunikacji między usługami była kluczowa, zwłaszcza biorąc pod uwagę duży przepływ danych w nowej architekturze.

Wreszcie, wdrożyliśmy nowe mikrousługi na najnowszej wersji Javy. Ta aktualizacja przyczyniła się do lepszej wydajności i zwiększonego bezpieczeństwa, tworząc silny i nowoczesny fundament dla całej architektury.

Opracowanie nowego modułu przetwarzania danych

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.

Rozwiązywanie problemów związanych z nadmiarowością

Jednym z głównych wyzwań, przed którymi stanęliśmy, był powtarzalny charakter procesu pisania kodu dla każdej nowej integracji. Przed opracowaniem tego modułu przetwarzania, każda nowa integracja z innym biuro podróży lub usługa wymagało znacznej ilości kodu napisanego od podstaw.

Projektowanie modułu przetwarzania

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.

Moduł zawiera kilka kluczowych funkcji:

  • Programy obsługi komunikacji API: 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.
  • Narzędzia do mapowania i przekształcania danych: 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.
  • Interfejs konfiguracji i dostosowywania: Uznając potrzebę elastyczności, moduł jest wyposażony w interfejs, który pozwala programistom łatwo konfigurować i dostosowywać integracje bez zagłębiania się w podstawowy kod. Pozwala to na szybkie dostosowanie do specyficznych wymagań każdego nowego biura podróży lub usługi.

Integracje API z biurami podróży

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.

Proces ten obejmował wdrożenie zaawansowanych narzędzi do mapowania i transformacji danych w ramach naszego modułu przetwarzania. Technologia ta odegrała kluczową rolę w zapewnieniu integralności i spójności danych. Nasz zespół przeprowadził szeroko zakrojone testy, aby zweryfikować skuteczność i niezawodność tych integracji. Symulowaliśmy różne scenariusze rezerwacji, aby przetestować integracje w różnych warunkach. Po udanych testach wdrożyliśmy integracje w środowisku rzeczywistym, ustanawiając mechanizmy ciągłego monitorowania w celu nadzorowania ich wydajności i szybkiego rozwiązywania wszelkich problemów.

Technologie

Backend

Java 17, Spring, Spring Boot, Spring Cloud, Hibernate

API

REST, SOAP

Przechowywanie danych

PostgreSQL, Memcached

Brokerzy wiadomości

Kafka

DevOps

Rurociągi CI/CD GitLab

Usługi

Gitlab, Jira, Confluence

Verfahren

Wykrywanie i analiza

Stworzyliśmy dokument Vision & Scope, aby dostosować cele projektu do oczekiwań klienta w początkowej fazie. Dokument ten ustanowił fundament projektu poprzez zrozumienie celów klienta i wyzwań systemowych.

Tworzenie dokumentacji architektury oprogramowania

Następnie opracowaliśmy dynamiczną, łatwą do zrozumienia dokumentację, zaprojektowaną tak, aby ewoluowała w synchronizacji z projektem, optymalizując w ten sposób komunikację w zespole i usprawniając proces wdrażania.

Projektowanie i rozwój

Tutaj skupiliśmy się na wdrożeniu architektury mikrousług i stworzeniu modułu przetwarzania. Ta faza pokazała naszą wiedzę techniczną, czego rezultatem była dopracowana architektura systemu i w pełni funkcjonalny moduł przetwarzania.

Integracja i testowanie

Wykorzystując moduł przetwarzania, płynnie zintegrowaliśmy interfejsy API biur podróży. Rygorystyczne testy zapewniły niezawodność systemu i zwiększoną funkcjonalność.

Komunikacja i śledzenie zadań

Microsoft Teams był naszym głównym narzędziem komunikacyjnym, usprawniającym dyskusje, aktualizującym udziały i utrzymującym centralne repozytorium informacji. Korzystaliśmy z Jira, aby utrzymać organizację i efektywne zarządzanie przepływem pracy w celu śledzenia zadań.

Zespół

4

Inżynierowie zaplecza

1

QA-Ingenieur

1

Kierownik zespołu

1

Kierownik projektu

1

Architekt oprogramowania

1

Analityk biznesowy

1

Kierownik ds. dostaw

Wyniki

Osiąganie przełomowych wyników dzięki rosnącej sprzedaży i szerszej obecności na rynku

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.

Czas trwania projektu
  • Marzec 2023 r. - w toku

30%

wzrost sprzedaży

2x

zwiększenie szybkości integracji API

Skontaktuj się z nami!

Zadzwoń lub wypełnij poniższy formularz, a my skontaktujemy się z Tobą po przetworzeniu Twojego zgłoszenia.

    Prosimy o podanie szczegółów projektu, czasu trwania, stosu technologicznego, potrzebnych specjalistów IT i innych istotnych informacji.
    Nagraj wiadomość głosową na temat projekt, który pomoże nam lepiej go zrozumieć
    W razie potrzeby dołącz dodatkowe dokumenty
    Prześlij plik

    Sie können 1 Bild mit einer Größe von 2 MB erstellen. Dateiformate: pdf, jpg, jpeg, png

    Informujemy, że po kliknięciu przycisku Wyślij Innowise będzie przetwarzać Twoje dane osobowe zgodnie z naszą Polityką prywatności w celu dostarczenia Ci odpowiednich informacji.

    Co będzie dalej?

    1

    Po otrzymaniu i przetworzeniu Twojego zgłoszenia skontaktujemy się z Tobą wkrótce, aby wyszczególnić potrzeby projektu i podpisać umowę o zachowaniu poufności, aby zapewnić poufność informacji.

    2

    Po przeanalizowaniu wymagań, nasi analitycy i programiści opracowują projekt z zakresem prac, wielkością zespołu, czasem i kosztami szacunki.

    3

    Umówimy się z Tobą na spotkanie, aby omówić ofertę i dojść do porozumienia porozumienia.

    4

    Podpisujemy umowę i rozpoczynamy pracę nad projectm tak szybko, jak to możliwe.

    Potrzebujesz innych usług?

    Спасибо!

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

    Dziękuję!

    Wiadomość została wysłana.
    Wir werden Ihre Anfrage bearbeiten und Sie so schnell wie möglich kontaktieren.

    Dziękuję!

    Wiadomość została wysłana. 

    Przetworzymy Twoją prośbę i skontaktujemy się z Tobą tak szybko, jak to możliwe.

    Pfeil