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

Il modulo è stato inviato con successo.
Ulteriori informazioni sono contenute nella vostra casella di posta elettronica.

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

Crusca

Podróż

Regione

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

All'inizio abbiamo condotto colloqui approfonditi con il team di sviluppo del cliente e con le parti interessate. Questo approccio ci ha permesso di cogliere l'essenza delle loro esigenze. 

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

Ma non si trattava solo di creare un documento statico. Secondo la nostra esperienza, la migliore documentazione è quella che vive, respira e si evolve con il sistema che descrive. Abbiamo quindi implementato un processo di documentazione dinamica, da aggiornare continuamente in base alla crescita e ai cambiamenti del sistema. Questo approccio al documento vivente ha garantito che la documentazione fosse sempre aggiornata.

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 sostanza, stabilendo questa architettura di documentazione software completa, non ci siamo limitati a gettare le basi per il progetto in corso, ma abbiamo fornito al cliente uno strumento che avrebbe aiutato nello sviluppo futuro, nell'inserimento di nuovi membri del team e nel facilitare una comunicazione chiara tra tutte le parti coinvolte. È stata la pietra angolare su cui sono stati costruiti tutti gli sviluppi successivi.

Refaktoryzacja kodu i migracja do mikrousług

Quando ci siamo addentrati nel sistema esistente del cliente, abbiamo trovato una versione deprecata di Java con duplicazioni di codice e pratiche obsolete. L'architettura iniziale, un'applicazione monolitica, era servita allo scopo nelle prime fasi. Tuttavia, con la crescita della piattaforma, questo approccio ha mostrato i suoi limiti. La scalabilità è diventata ardua e la base di codice si è trasformata in un labirinto confuso, sempre più difficile da navigare e aggiornare senza introdurre nuovi bug.

Sulla base della nostra analisi, abbiamo stabilito che era necessario passare a un'architettura a microservizi. I microservizi offrono una soluzione ai problemi di scalabilità e agilità del sistema monolitico. Ogni microservizio di questa architettura opera in modo indipendente, il che significa che le modifiche apportate a un servizio non hanno un impatto diretto sugli altri. Questa indipendenza è fondamentale per un sistema come quello del nostro cliente, in cui aggiornamenti e integrazioni frequenti sono lo standard.

La migrazione a un'architettura a microservizi non è stata un processo che si è svolto in una sola notte. Abbiamo invece adottato un approccio incrementale, smantellando con cura la struttura monolitica e riassemblandola in un'architettura più dinamica, basata sui microservizi. Questo metodo ci ha permesso di mantenere la funzionalità del sistema durante tutta la transizione, evitando tempi di inattività significativi che avrebbero potuto influire negativamente sulle operazioni del nostro cliente.

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

Nel perfezionare e migliorare il sistema del nostro cliente, abbiamo individuato la necessità di un modo più efficiente per gestire le nuove integrazioni. Ciò ha portato allo sviluppo di un modulo di elaborazione specializzato, un'aggiunta fondamentale al sistema che ha portato a miglioramenti sostanziali nel processo di integrazione.

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

Il modulo di elaborazione che abbiamo sviluppato è stato progettato per fungere da interfaccia versatile tra il sistema del nostro cliente e le API esterne. Questo modulo consiste in modelli e strumenti precostituiti e personalizzabili che riducono significativamente la necessità di scrivere nuovo codice per ogni integrazione. Funziona astraendo le funzionalità e i processi standard tipicamente coinvolti nell'integrazione con vari servizi di viaggio, come i sistemi di prenotazione dei biglietti o i database dei clienti.

Moduł zawiera kilka kluczowych funkcji:

  • Programy obsługi komunikacji API: sono progettati per gestire le richieste API in entrata e in uscita delle agenzie di viaggio. Gestiscono la complessità dei diversi protocolli API e dei formati di dati, facilitando la connessione con i sistemi esterni.
  • Narzędzia do mapowania i przekształcania danych: Spesso le strutture dei dati variano da un sistema all'altro. Il nostro modulo include strumenti che mappano e trasformano automaticamente i dati da e verso il formato richiesto dal sistema del cliente e dai fornitori di servizi esterni. Questo facilita lo scambio e l'integrazione dei dati.
  • 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

In seguito, abbiamo integrato il GDS del nostro cliente con 4 agenzie di viaggio che utilizzavano meccanismi di scambio REST e SOAP. Queste integrazioni sono state fondamentali per migliorare i processi di prenotazione, modifica e cancellazione dei biglietti per i servizi di traghetto. La nostra sfida è stata quella di creare un framework di integrazione in grado di gestire una vasta gamma di prenotazioni di traghetti, tra cui diverse rotte, configurazioni di posti e servizi supplementari.

L'implementazione di queste integrazioni ha comportato diverse fasi critiche. Inizialmente, abbiamo passato al setaccio le API delle agenzie per capire le loro strutture di dati e le loro richieste funzionali. Sfruttando il nostro modulo di elaborazione appena sviluppato, abbiamo creato connettori personalizzati per ogni agenzia. Questi connettori sono stati adattati per gestire i formati di dati e i flussi di lavoro operativi specifici di ciascuna agenzia, garantendo un'integrazione fluida dei dati con il GDS del nostro cliente.

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.

Tecnologia

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

Ingegnere QA

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

Dopo il successo dell'implementazione, l'applicazione web del cliente ha registrato notevoli miglioramenti delle prestazioni. La combinazione tra il refactoring del codice e la migrazione a un'architettura a microservizi ha portato a un funzionamento notevolmente più fluido. Questa revisione tecnica, unita alla perfetta integrazione di nuovi servizi, ha catalizzato un aumento sostanziale delle vendite del cliente.

L'impatto di questa trasformazione si è esteso oltre l'ambito finanziario. Ha portato a un'espansione significativa, non solo in termini di fatturato ma anche di presenza geografica. Ciò ha segnato un salto epocale nella copertura del mercato dell'azienda, rafforzando la sua posizione di attore di primo piano nel settore. La nostra collaborazione con il cliente è in corso, con ulteriori integrazioni all'orizzonte.

Czas trwania projektu
  • Marzec 2023 r. - w toku

30%

wzrost sprzedaży

2x

zwiększenie szybkości integracji API

Się 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
    In caso di necessità, i dati sono stati pubblicati sul sito web della società.
    Prezzo di vendita

    Można załączyć maksymalnie 1 plik o łącznej wielkości 2 MB. Visualizza i file: pdf, jpg, jpeg, png

    Informiamo che, a causa di un problema di sicurezza, Wyślij Innowise ha deciso di non fare ricorso a due o più dane osobowe, ma di non farle entrare in casa. 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.
    Elaboreremo la vostra richiesta e vi ricontatteremo al più presto.

    Dziękuję!

    Wiadomość została wysłana. 

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

    freccia