Formularz został pomyślnie przesłany.
Więcej informacji można znaleźć w skrzynce pocztowej.
Innowise przeprowadziło kompleksową refaktoryzację kodu platformy i znacznie uprościło proces integracji nowych interfejsów API.
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.
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.
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.
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.
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.
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.
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:
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.
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 Engineer
1
Kierownik zespołu
1
Kierownik projektu
1
Architekt oprogramowania
1
Analityk biznesowy
1
Kierownik ds. dostaw
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.
30%
wzrost sprzedaży
2x
zwiększenie szybkości integracji API
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.
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.
Rejestrując się, wyrażasz zgodę na nasze Warunki korzystania i Politykę prywatności, w tym na korzystanie z plików cookie i przekazywanie Twoich danych osobowych.
© 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, Polska
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.