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
Dziękuję!

Formularz został pomyślnie przesłany.
Więcej informacji można znaleźć w skrzynce pocztowej.

Innowise jest międzynarodową firmą tworzącą oprogramowanie w pełnym cyklu założona w 2007 roku. Jesteśmy zespołem ponad 1800+ specjalistów IT tworzących oprogramowanie dla innych profesjonalistów na całym świecie. profesjonalistów na całym świecie.
O nas
Innowise jest międzynarodową firmą tworzącą oprogramowanie w pełnym cyklu założona w 2007 roku. Jesteśmy zespołem ponad 1600 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

Na początku zaczęliśmy od przeprowadzenia obszernych wywiadów z zespołem programistów klienta i interesariuszami. Takie podejście zapewniło, że uchwyciliśmy istotę tego, czego potrzebowali. 

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ą.

Nie chodziło jednak tylko o stworzenie statycznego dokumentu. Z naszego doświadczenia wynika, że najlepsza dokumentacja to taka, która żyje, oddycha i ewoluuje wraz z systemem, który opisuje. Wdrożyliśmy więc dynamiczny proces tworzenia dokumentacji, który był stale aktualizowany w miarę rozwoju i zmian w systemie. Podejście oparte na żywym dokumencie zapewniło, że dokumentacja była zawsze aktualizowana.

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ść.

Zasadniczo, tworząc tę kompleksową architekturę dokumentacji oprogramowania, nie tylko położyliśmy podwaliny pod bieżący projekt, ale zapewniliśmy klientowi narzędzie, które pomogłoby w przyszłym rozwoju, wdrażaniu nowych członków zespołu i ułatwianiu jasnej komunikacji między wszystkimi zaangażowanymi stronami. Był to kamień węgielny, na którym zbudowano wszystkie dalsze rozwiązania.

Refaktoryzacja kodu i migracja do mikrousług

Po zagłębieniu się w istniejący system klienta znaleźliśmy przestarzałą wersję Javy z powielonym kodem i przestarzałymi praktykami. Początkowa architektura, monolityczna aplikacja, służyła swojemu celowi na wczesnych etapach. Jednak wraz z rozwojem platformy, podejście to pokazało swoje ograniczenia. Skalowalność stała się uciążliwa, a baza kodu stała się zagmatwanym labiryntem, w którym coraz trudniej było nawigować i aktualizować bez wprowadzania nowych błędów.

Na podstawie naszej analizy stwierdziliśmy, że konieczne jest przejście na architekturę mikrousług. Mikroserwisy stanowiły rozwiązanie problemów ze skalowalnością i elastycznością systemu monolitycznego. Każda mikrousługa w tej architekturze działa niezależnie, co oznacza, że zmiany wprowadzone w jednej usłudze nie mają bezpośredniego wpływu na inne. Ta niezależność jest kluczowa dla systemu takiego jak nasz klient, gdzie częste aktualizacje i integracje są standardem.

Migracja do architektury opartej na mikrousługach nie była procesem jednodniowym. Zamiast tego przyjęliśmy podejście przyrostowe, ostrożnie demontując monolityczną strukturę i ponownie składając ją w bardziej dynamiczną architekturę opartą na mikrousługach. Metoda ta pozwoliła nam utrzymać funkcjonalność systemu przez cały okres transformacji, unikając znaczących przestojów, które mogłyby negatywnie wpłynąć na działalność naszego klienta.

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

W miarę jak udoskonalaliśmy i ulepszaliśmy system naszego klienta, zidentyfikowaliśmy potrzebę bardziej wydajnego sposobu obsługi nowych integracji. Doprowadziło to do opracowania specjalistycznego modułu przetwarzania, kluczowego dodatku do systemu, który przyniósł znaczne usprawnienia w procesie integracji.

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

Opracowany przez nas moduł przetwarzania został zaprojektowany jako wszechstronny interfejs między systemem naszego klienta a zewnętrznymi interfejsami API. Moduł ten składa się z gotowych, konfigurowalnych szablonów i narzędzi, które znacznie zmniejszają potrzebę pisania nowego kodu dla każdej integracji. Działa on poprzez abstrakcję standardowych funkcjonalności i procesów typowych dla integracji z różnymi usługami turystycznymi, takimi jak systemy rezerwacji biletów lub bazy danych klientów.

Moduł zawiera kilka kluczowych funkcji:

  • Programy obsługi komunikacji API: Są one przeznaczone do zarządzania przychodzącymi i wychodzącymi żądaniami API biur podróży. Obsługują złożoność różnych protokołów API i formatów danych, ułatwiając łączenie się z systemami zewnętrznymi.
  • Narzędzia do mapowania i przekształcania danych: Często struktury danych różnią się między różnymi systemami. Nasz moduł zawiera narzędzia, które automatycznie mapują i przekształcają dane do i z formatu wymaganego przez system klienta i zewnętrznych dostawców usług. Ułatwia to płynną wymianę i integrację danych.
  • 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

Następnie zintegrowaliśmy GDS naszego klienta z 4 biurami podróży, które korzystały z mechanizmów wymiany REST i SOAP. Integracje te miały kluczowe znaczenie dla usprawnienia procesów rezerwacji, modyfikacji i anulowania biletów promowych. Naszym wyzwaniem było stworzenie struktury integracyjnej zdolnej do zarządzania różnorodnymi rezerwacjami promowymi, w tym różnymi trasami, konfiguracjami miejsc i usługami dodatkowymi.

Wdrożenie tych integracji obejmowało kilka krytycznych kroków. Początkowo przejrzeliśmy interfejsy API agencji, aby zrozumieć ich struktury danych i wymagania funkcjonalne. Wykorzystując nasz nowo opracowany moduł przetwarzania, stworzyliśmy niestandardowe konektory dla każdej agencji. Konektory te zostały dostosowane do obsługi specyficznych formatów danych każdej agencji i operacyjnych przepływów pracy, zapewniając płynną integrację danych z GDS naszego klienta.

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

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

Proces

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 Engineer

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

Po udanym wdrożeniu aplikacja internetowa klienta wykazała znaczną poprawę wydajności. Połączenie refaktoryzacji kodu i migracji do architektury mikrousług zaowocowało znacznie płynniejszym działaniem. Ten techniczny przegląd, w połączeniu z płynną integracją nowych usług, stał się katalizatorem znacznego wzrostu sprzedaży klienta.

Wpływ tej transformacji wykroczył poza sferę finansową. Doprowadziło to do znacznej ekspansji, nie tylko pod względem przychodów, ale także obecności geograficznej. Oznaczało to znaczący skok w zasięgu rynkowym firmy, wzmacniając jej pozycję jako znaczącego gracza w branży. Nasza współpraca z klientem trwa, a na horyzoncie są kolejne integracje.

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

    Można załączyć maksymalnie 1 plik o łącznej wielkości 2 MB. Ważne pliki: 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 projektem tak szybko, jak to możliwe.

    Спасибо!

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

    Dziękuję!

    Wiadomość została wysłana.
    Przetworzymy Twoją prośbę i skontaktujemy się z Tobą tak szybko, jak to możliwe.

    Dziękuję!

    Wiadomość została wysłana. 

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

    strzałka