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
Tack!

Formuläret har skickats in framgångsrikt.
Ytterligare information finns i din brevlåda.

Innowise jest międzynarodową firmą tworzącą oprogramowanie w pełnym cyklu założona w 2007 roku. 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 jest międzynarodową firmą tworzącą oprogramowanie w pełnym cyklu założona w 2007 roku. 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

Vi började med att genomföra omfattande intervjuer med kundens utvecklingsteam och intressenter. Detta tillvägagångssätt säkerställde att vi fångade kärnan i vad de behövde. 

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

Men det handlade inte bara om att skapa ett statiskt dokument. Enligt vår erfarenhet är den bästa dokumentationen den som lever, andas och utvecklas med det system som den beskriver. Därför implementerade vi en dynamisk dokumentationsprocess som kontinuerligt skulle uppdateras i takt med att systemet växte och förändrades. Detta tillvägagångssätt med levande dokument säkerställde att dokumentationen alltid var uppdaterad.

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

Genom att skapa denna omfattande arkitektur för programvarudokumentation lade vi inte bara grunden för det aktuella projektet, vi försåg även kunden med ett verktyg som skulle underlätta framtida utveckling, introduktion av nya teammedlemmar och tydlig kommunikation mellan alla inblandade parter. Det var den hörnsten som all vidare utveckling byggde på.

Refaktoryzacja kodu i migracja do mikrousług

När vi dök ner i kundens befintliga system fann vi den föråldrade versionen av Java med koddubbleringar och föråldrade metoder. Den ursprungliga arkitekturen, en monolitisk applikation, hade tjänat sitt syfte i ett tidigt skede. Men i takt med att plattformen växte visade detta tillvägagångssätt sina begränsningar. Skalbarheten blev besvärlig och kodbasen blev en förvirrande labyrint som blev allt svårare att navigera i och uppdatera utan att introducera nya buggar.

Baserat på vår analys kom vi fram till att det var nödvändigt att övergå till en mikrotjänstarkitektur. Mikrotjänster erbjöd en lösning på det monolitiska systemets problem med skalbarhet och smidighet. Varje mikrotjänst i denna arkitektur fungerar självständigt, vilket innebär att ändringar som görs i en tjänst inte direkt påverkar de andra. Denna självständighet är avgörande för ett system som vår kunds, där frekventa uppdateringar och integrationer är standard.

Övergången till en mikrotjänstarkitektur skedde inte över en natt. Istället använde vi oss av en stegvis metod där vi försiktigt monterade ned den monolitiska strukturen och återmonterade den till en mer dynamisk, mikrotjänstbaserad arkitektur. Med den här metoden kunde vi bibehålla systemets funktionalitet under hela övergången och undvika betydande driftstopp som skulle kunna påverka vår kunds verksamhet negativt.

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

När vi förfinade och förbättrade vår kunds system identifierade vi behovet av ett mer effektivt sätt att hantera nya integrationer. Detta ledde till utvecklingen av en specialiserad bearbetningsmodul, ett viktigt tillägg till systemet som medförde betydande förbättringar i integrationsprocessen.

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

Den bearbetningsmodul vi utvecklade var utformad för att fungera som ett mångsidigt gränssnitt mellan vår kunds system och externa API:er. Modulen består av förbyggda, anpassningsbara mallar och verktyg som avsevärt minskar behovet av att skriva ny kod för varje integration. Den fungerar genom att abstrahera standardfunktioner och processer som vanligtvis ingår i integration med olika resetjänster, till exempel biljettbokningssystem eller kunddatabaser.

Moduł zawiera kilka kluczowych funkcji:

  • Programy obsługi komunikacji API: Dessa är utformade för att hantera resebyråernas inkommande och utgående API-förfrågningar. De hanterar komplexiteten i olika API-protokoll och dataformat, vilket gör det enklare att ansluta till externa system.
  • Narzędzia do mapowania i przekształcania danych: Ofta varierar datastrukturerna mellan olika system. Vår modul innehåller verktyg som automatiskt mappar och transformerar data till och från det format som krävs av vår kunds system och externa tjänsteleverantörer. Detta underlättar smidigt datautbyte och 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

Därefter integrerade vi vår kunds GDS med 4 resebyråer som använde REST- och SOAP-utbytesmekanismer. Dessa integrationer var avgörande för att förbättra biljettboknings-, ändrings- och avbokningsprocesserna för färjetjänster. Vår utmaning var att skapa ett integrationsramverk som kunde hantera ett varierat utbud av färjebokningar, inklusive olika rutter, sittplatskonfigurationer och tilläggstjänster.

Implementeringen av dessa integrationer omfattade flera viktiga steg. Inledningsvis gick vi igenom byråernas API:er för att förstå deras datastrukturer och funktionella krav. Med hjälp av vår nyutvecklade bearbetningsmodul skapade vi anpassade anslutningar för varje byrå. Dessa kopplingar var skräddarsydda för att hantera varje byrås specifika dataformat och operativa arbetsflöden, vilket säkerställde en smidig dataintegration med vår kunds GDS.

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.

Teknik

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-ingenjör

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

Efter den framgångsrika implementeringen uppvisade kundens webbapplikation anmärkningsvärda prestandaförbättringar. Kombinationen av refaktorisering av kod och migrering till en mikrotjänstarkitektur resulterade i en betydligt smidigare drift. Den tekniska översynen, i kombination med den sömlösa integrationen av nya tjänster, ledde till en kraftig ökning av kundens försäljning.

Effekterna av denna omvandling sträckte sig bortom det finansiella området. Den ledde till en betydande expansion, inte bara vad gäller intäkter utan även geografisk närvaro. Detta innebar ett stort steg framåt i företagets marknadstäckning och stärkte dess ställning som en framstående aktör i branschen. Vårt partnerskap med kunden fortsätter, med fler integrationer på horisonten.

Projektets omfattning
  • 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. Tillgängliga filer: 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.

    Potrzebujesz innych usług?

    Спасибо!

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

    Dziękuję!

    Wiadomość została wysłana.
    Vi behandlar din begäran och kontaktar dig så snart som möjligt.

    Dziękuję!

    Wiadomość została wysłana. 

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

    pil