El formulario se ha enviado correctamente.
Encontrará más información en su buzón.
Seleccionar idioma
Innowise przeprowadziło kompleksową refaktoryzację kodu platformy i znacznie uprościło proces integracji nowych interfejsów API.
Branża
Podróż
Región
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.
Al principio, realizamos entrevistas exhaustivas con el equipo de desarrollo del cliente y las partes interesadas. Así nos aseguramos de captar la esencia de lo que necesitaban.
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ą.
Pero no se trataba sólo de crear un documento estático. Según nuestra experiencia, la mejor documentación es la que vive, respira y evoluciona con el sistema que describe. Así que implantamos un proceso de documentación dinámica que se actualizaba continuamente a medida que el sistema crecía y cambiaba. Este enfoque de documento vivo garantizaba que la documentación estuviera siempre actualizada.
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ść.
En esencia, al establecer esta completa arquitectura de documentación de software, no sólo sentamos las bases del proyecto actual, sino que proporcionamos al cliente una herramienta que le ayudaría en futuros desarrollos, incorporando a nuevos miembros del equipo y facilitando una comunicación clara entre todas las partes implicadas. Fue la piedra angular sobre la que se construyeron todos los desarrollos posteriores.
Al sumergirnos en el sistema existente del cliente, encontramos la versión obsoleta de Java con duplicaciones de código y prácticas anticuadas. La arquitectura inicial, una aplicación monolítica, había cumplido su propósito en las primeras fases. Sin embargo, a medida que la plataforma crecía, este enfoque mostró sus limitaciones. La escalabilidad se hizo ardua y el código base se convirtió en un laberinto confuso cada vez más difícil de recorrer y actualizar sin introducir nuevos errores.
Basándonos en nuestro análisis, determinamos que la transición a una arquitectura de microservicios era necesaria. Los microservicios ofrecían una solución a los problemas de escalabilidad y agilidad del sistema monolítico. Cada microservicio de esta arquitectura funciona de forma independiente, lo que significa que los cambios realizados en un servicio no afectan directamente a los demás. Esta independencia es crucial para un sistema como el de nuestro cliente, en el que las actualizaciones e integraciones frecuentes son la norma.
La migración a una arquitectura de microservicios no fue un proceso de un día para otro. En su lugar, adoptamos un enfoque incremental, desmantelando cuidadosamente la estructura monolítica y volviéndola a montar en una arquitectura más dinámica basada en microservicios. Este método nos permitió mantener la funcionalidad del sistema durante toda la transición, evitando cualquier tiempo de inactividad significativo que pudiera afectar negativamente a las operaciones de nuestro 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.
A medida que perfeccionábamos y mejorábamos el sistema de nuestro cliente, detectamos la necesidad de una forma más eficaz de gestionar las nuevas integraciones. Esto nos llevó a desarrollar un módulo de procesamiento especializado, una adición fundamental al sistema que aportó mejoras sustanciales al proceso de integración.
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.
El módulo de procesamiento que desarrollamos se diseñó para actuar como interfaz versátil entre el sistema de nuestro cliente y las API externas. Este módulo consta de plantillas y herramientas preconfiguradas y personalizables que reducen considerablemente la necesidad de escribir código nuevo para cada integración. Funciona abstrayendo funcionalidades y procesos estándar que suelen estar implicados en la integración con diversos servicios de viajes, como sistemas de reserva de billetes o bases de datos de clientes.
Moduł zawiera kilka kluczowych funkcji:
Posteriormente, integramos el GDS de nuestro cliente con 4 agencias de viajes que utilizaban mecanismos de intercambio REST y SOAP. Estas integraciones fueron cruciales para mejorar los procesos de reserva, modificación y cancelación de billetes para los servicios de ferry. Nuestro reto era crear un marco de integración capaz de gestionar una amplia gama de reservas de ferry, incluidas diferentes rutas, configuraciones de asientos y servicios complementarios.
La implementación de estas integraciones implicó varios pasos críticos. Al principio, examinamos las API de las agencias para conocer sus estructuras de datos y sus necesidades funcionales. Aprovechando nuestro módulo de procesamiento recién desarrollado, creamos conectores personalizados para cada agencia. Estos conectores se adaptaron para gestionar los formatos de datos y flujos de trabajo operativos específicos de cada agencia, garantizando una integración de datos fluida con el SGD de nuestro 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.
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
Ingeniero de QA
1
Kierownik zespołu
1
Proyectos piloto
1
Architekt oprogramowania
1
Analityk biznesowy
1
Kierownik ds. dostaw
Tras la exitosa implementación, la aplicación web del cliente mostró notables mejoras de rendimiento. La combinación de la refactorización del código y la migración a una arquitectura de microservicios se tradujo en un funcionamiento notablemente más fluido. Esta revisión técnica, junto con la perfecta integración de nuevos servicios, catalizó un aumento sustancial de las ventas del cliente.
El impacto de esta transformación se extendió más allá del ámbito financiero. Se tradujo en una expansión significativa, no sólo de los ingresos, sino también de la presencia geográfica. Esto supuso un salto trascendental en la cobertura de mercado de la empresa, reforzando su posición como actor destacado en el sector. Nuestra colaboración con el cliente continúa, con más integraciones en el horizonte.
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ć 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.
Dowiedz się jako pierwszy o innowacjach IT i interesujących studiach przypadków.
2007-2024 Innowise. Wszelkie prawa zastrzeżone.
Polityka prywatności. Política de cookies.
Innowise Sp. z o.o Ul. Rondo Ignacego Daszyńskiego, 2B-22P, 00-843 Warszawa, Polska
Rejestrując się, wyrażasz zgodę na naszą Politykę Prywatności, w tym korzystanie z plików cookie i przekazywanie Twoich danych osobowych.
¡Dziękuję!
Wiadomość została wysłana.
Procesaremos su solicitud y nos pondremos en contacto con usted lo antes posible.
¡Dziękuję!
Wiadomość została wysłana.
Przetworzymy Twoją prośbę i skontaktujemy się z Tobą tak szybko, jak to możliwe.