Het formulier is succesvol verzonden.
Meer informatie vindt u in uw mailbox.
Innowise przeprowadziło kompleksową refaktoryzację kodu platformy i znacznie uprościło proces integracji nowych interfejsów API.
Branża
Podróż
Regio
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.
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.
Innowise zapewniło modernizację i optymalizację aplikacji internetowych Integracje API z biurami podróży, aby podnieść jakość usług promowych w całej Europie.
Aan het begin hebben we uitgebreide interviews gehouden met het ontwikkelteam en de belanghebbenden van de klant. Deze aanpak zorgde ervoor dat we de essentie van hun behoeften vastlegden.
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ą.
Maar het ging niet alleen om het maken van een statisch document. Onze ervaring is dat de beste documentatie leeft, ademt en evolueert met het systeem dat het beschrijft. Daarom implementeerden we een dynamisch documentatieproces dat voortdurend werd bijgewerkt naarmate het systeem groeide en veranderde. Deze aanpak met levende documenten zorgde ervoor dat de documentatie altijd werd bijgewerkt.
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ść.
In wezen legden we met het opzetten van deze uitgebreide softwaredocumentatiearchitectuur niet alleen de basis voor het huidige project, maar voorzagen we de klant ook van een hulpmiddel dat zou helpen bij toekomstige ontwikkeling, het inwerken van nieuwe teamleden en het faciliteren van duidelijke communicatie tussen alle betrokken partijen. Het was de hoeksteen waarop alle verdere ontwikkelingen werden gebouwd.
Toen we in het bestaande systeem van de klant doken, vonden we de verouderde versie van Java met dubbele code en verouderde werkwijzen. De oorspronkelijke architectuur, een monolithische applicatie, had in de beginfase zijn doel gediend. Toen het platform echter groeide, bleek deze aanpak zijn beperkingen te hebben. Schaalbaarheid werd lastig en de codebase werd een verwarrend doolhof dat steeds moeilijker te navigeren en bij te werken was zonder nieuwe bugs te introduceren.
Op basis van onze analyse stelden we vast dat de overgang naar een microservices-architectuur noodzakelijk was. Microservices boden een oplossing voor de schaalbaarheids- en wendbaarheidsproblemen van het monolithische systeem. Elke microservice in deze architectuur werkt onafhankelijk, wat betekent dat veranderingen in de ene service geen directe invloed hebben op de andere. Deze onafhankelijkheid is cruciaal voor een systeem als dat van onze klant, waar frequente updates en integraties de norm zijn.
De migratie naar een microservices-architectuur ging niet over één nacht ijs. In plaats daarvan kozen we voor een stapsgewijze aanpak, waarbij we de monolithische structuur zorgvuldig ontmantelden en opnieuw samenvoegden tot een meer dynamische, op microservices gebaseerde architectuur. Dankzij deze methode konden we de functionaliteit van het systeem tijdens de overgang behouden en aanzienlijke uitvaltijd vermijden die de activiteiten van onze klant negatief zou kunnen beïnvloeden.
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.
Terwijl we het systeem van onze klant verfijnden en verbeterden, stelden we vast dat er behoefte was aan een efficiëntere manier om nieuwe integraties af te handelen. Dit leidde tot de ontwikkeling van een gespecialiseerde verwerkingsmodule, een cruciale toevoeging aan het systeem die voor substantiële verbeteringen in het integratieproces zorgde.
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.
De verwerkingsmodule die we hebben ontwikkeld, is ontworpen om te fungeren als een veelzijdige interface tussen het systeem van onze klant en externe API's. Deze module bestaat uit kant-en-klare, aanpasbare sjablonen en tools die de noodzaak om nieuwe code te schrijven voor elke integratie aanzienlijk verminderen. Het werkt door te abstraheren van standaard functionaliteiten en processen die typisch betrokken zijn bij de integratie met verschillende reisdiensten, zoals systemen voor het boeken van tickets of klantendatabases.
Moduł zawiera kilka kluczowych funkcji:
Daarna hebben we de GDS van onze klant geïntegreerd met 4 reisbureaus die REST- en SOAP-uitwisselingsmechanismen gebruikten. Deze integraties waren cruciaal voor het verbeteren van de processen voor het boeken, wijzigen en annuleren van tickets voor veerdiensten. Onze uitdaging was om een integratieframework te creëren dat in staat was om een breed scala aan veerbootboekingen te beheren, waaronder verschillende routes, stoelconfiguraties en aanvullende diensten.
Het implementeren van deze integraties bestond uit een aantal cruciale stappen. In eerste instantie doorzochten we de API's van de agentschappen om hun gegevensstructuren en functionele vereisten te begrijpen. Met behulp van onze nieuw ontwikkelde verwerkingsmodule creëerden we aangepaste connectors voor elk agentschap. Deze connectors werden op maat gemaakt voor de specifieke gegevensformaten en operationele workflows van elk bureau, waardoor een soepele gegevensintegratie met het GDS van onze klant werd gegarandeerd.
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.
Back-end
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
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.
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.
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.
Wykorzystując moduł przetwarzania, płynnie zintegrowaliśmy interfejsy API biur podróży. Rygorystyczne testy zapewniły niezawodność systemu i zwiększoną funkcjonalność.
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ń.
4
Inżynierowie zaplecza
1
QA
ingenieur
1
Kierownik zespołu
1
Kierownik projektu
1
Architekt oprogramowania
1
Analityk biznesowy
1
Kierownik ds. dostaw
Na de succesvolle implementatie vertoonde de webapplicatie van de klant opmerkelijke prestatieverbeteringen. De combinatie van code refactoring en de migratie naar een microservices architectuur resulteerde in een aanzienlijk soepelere werking. Deze technische revisie, in combinatie met de naadloze integratie van nieuwe services, zorgde voor een aanzienlijke stijging van de omzet van de klant.
De impact van deze transformatie reikte verder dan het financiële domein. Het leidde tot een aanzienlijke uitbreiding, niet alleen in inkomsten maar ook in geografische aanwezigheid. Dit betekende een enorme sprong voorwaarts in de marktdekking van het bedrijf en versterkte zijn positie als prominente speler in de sector. Onze samenwerking met de klant gaat door en er liggen nog meer integraties in het verschiet.
30%
wzrost sprzedaży
2x
zwiększenie szybkości integracji API
Zadzwoń lub wypełnij poniższy formularz, a my skontaktujemy się z Tobą po przetworzeniu Twojego zgłoszenia.
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ć informatie.
Po przeanalizowaniu wymagań, nasi analitycy i programiści opracowują projekt z zakresem prac, wielkością zespołu, czasem i kosztami szacunki.
Umówimy się z Tobą na spotkanie, aby omówić ofertę i dojść do porozumienia porozumienia.
Podpisujemy umowę i rozpoczynamy pracę nad projektem tak szybko, jak to możliwe.
Dowiedz się jako pierwszy o innowacjach IT i interesujących studiach przypadków.
© 2007-2024 Innowise. Wszelkie prawa zastrzeżone.
Polityka prywatności. Polityka dotycząca plików cookie.
Innowise Sp. z o.o Ul. Rondo Ignacego Daszyńskiego, 2B-22P, 00-843 Warszawa, Polen
Rejestrując się, wyrażasz zgodę na naszą Politykę Prywatnościw w tym korzystanie z plików cookie i przekazywanie Twoich danych osobowych.
Dziękuję!
Wiadomość została wysłana.
Wij verwerken uw aanvraag en nemen zo spoedig mogelijk contact met u op.
Dziękuję!
Wiadomość została wysłana.
Przetworzymy Twoją prośbę i skontaktujemy się z Tobą tak szybko, jak to możliwe.