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. Política de privacidade. Potwierdzając zgłoszenie, użytkownik wyraża zgodę na otrzymywanie materiałów marketingowych
Obrigado!

O formulário foi enviado com sucesso.
Encontrará mais informações na sua caixa de correio.

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óż

Região

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

No início, começámos por realizar entrevistas exaustivas com a equipa de desenvolvimento do cliente e com as partes interessadas. Esta abordagem garantiu que captássemos a essência do que eles precisavam. 

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

Mas não se tratava apenas de criar um documento estático. Na nossa experiência, a melhor documentação é aquela que vive, respira e evolui com o sistema que descreve. Assim, implementámos um processo de documentação dinâmico que seria continuamente atualizado à medida que o sistema crescesse e mudasse. Esta abordagem de documento vivo garantiu que a documentação estivesse sempre 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ść.

Essencialmente, ao estabelecer esta arquitetura abrangente de documentação de software, não nos limitámos a lançar as bases para o projeto atual, fornecemos ao cliente uma ferramenta que ajudaria no desenvolvimento futuro, na integração de novos membros da equipa e na facilitação de uma comunicação clara entre todas as partes envolvidas. Foi a pedra angular sobre a qual todos os desenvolvimentos posteriores foram construídos.

Refaktoryzacja kodu i migracja do mikrousług

Ao mergulharmos no sistema existente do cliente, encontrámos a versão obsoleta de Java com duplicações de código e práticas desactualizadas. A arquitetura inicial, uma aplicação monolítica, tinha servido o seu propósito nas fases iniciais. No entanto, com o crescimento da plataforma, esta abordagem mostrou as suas limitações. A escalabilidade tornou-se árdua e a base de código tornou-se um labirinto confuso, cada vez mais difícil de navegar e atualizar sem introduzir novos erros.

Com base na nossa análise, determinámos que era necessário fazer a transição para uma arquitetura de microsserviços. Os microsserviços ofereciam uma solução para os problemas de escalabilidade e agilidade do sistema monolítico. Cada microsserviço desta arquitetura funciona de forma independente, o que significa que as alterações efectuadas num serviço não afectam diretamente os outros. Esta independência é crucial para um sistema como o do nosso cliente, onde as actualizações e integrações frequentes são o padrão.

A migração para uma arquitetura de microsserviços não foi um processo que se realizou de um dia para o outro. Em vez disso, adoptámos uma abordagem incremental, desmontando cuidadosamente a estrutura monolítica e voltando a montá-la numa arquitetura mais dinâmica, baseada em microsserviços. Este método permitiu-nos manter a funcionalidade do sistema durante a transição, evitando qualquer tempo de inatividade significativo que pudesse afetar negativamente as operações do nosso 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

À medida que aperfeiçoámos e melhorámos o sistema do nosso cliente, identificámos a necessidade de uma forma mais eficiente de lidar com novas integrações. Isto levou ao desenvolvimento de um módulo de processamento especializado, uma adição fundamental ao sistema que trouxe melhorias substanciais no processo de integração.

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

O módulo de processamento que desenvolvemos foi concebido para atuar como uma interface versátil entre o sistema do nosso cliente e APIs externas. Este módulo consiste em modelos e ferramentas pré-construídos e personalizáveis que reduzem significativamente a necessidade de escrever novo código para cada integração. Funciona através da abstração de funcionalidades e processos padrão normalmente envolvidos na integração com vários serviços de viagens, tais como sistemas de reserva de bilhetes ou bases de dados de clientes.

Moduł zawiera kilka kluczowych funkcji:

  • Programy obsługi komunikacji API: foram concebidos para gerir os pedidos de API de entrada e de saída das agências de viagens. Lidam com as complexidades dos diferentes protocolos API e formatos de dados, facilitando a ligação a sistemas externos.
  • Narzędzia do mapowania i przekształcania danych: Muitas vezes, as estruturas de dados variam entre sistemas diferentes. O nosso módulo inclui ferramentas que mapeiam e transformam automaticamente os dados de e para o formato exigido pelo sistema do nosso cliente e pelos fornecedores de serviços externos. Isto facilita o intercâmbio e a integração de dados.
  • 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

Posteriormente, integrámos o GDS do nosso cliente com 4 agências de viagens que utilizavam mecanismos de troca REST e SOAP. Estas integrações foram cruciais para melhorar os processos de reserva, modificação e cancelamento de bilhetes para serviços de ferry. O nosso desafio foi criar uma estrutura de integração capaz de gerir uma gama diversificada de reservas de ferry, incluindo diferentes rotas, configurações de lugares e serviços suplementares.

A implementação destas integrações envolveu várias etapas críticas. Inicialmente, analisámos as APIs das agências para compreender as suas estruturas de dados e exigências funcionais. Aproveitando o nosso módulo de processamento recentemente desenvolvido, criámos conectores personalizados para cada agência. Estes conectores foram adaptados para lidar com os formatos de dados e fluxos de trabalho operacionais específicos de cada agência, garantindo uma integração de dados fluida com o GDS do nosso 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

Corretores de seguros

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

Engenheiro de 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

Após a implementação bem-sucedida, a aplicação Web do cliente registou melhorias de desempenho notáveis. A combinação da refacção do código e da migração para uma arquitetura de microsserviços resultou numa operação notavelmente mais suave. Esta revisão técnica, juntamente com a integração perfeita de novos serviços, catalisou um aumento substancial nas vendas do cliente.

O impacto desta transformação ultrapassou o domínio financeiro. Conduziu a uma expansão significativa, não só em termos de receitas, mas também de presença geográfica. Isto marcou um salto importante na cobertura de mercado da empresa, reforçando a sua posição como um ator proeminente no sector. A nossa parceria com o cliente está em curso, com mais integrações no horizonte.

Czas trwania projektu
  • Marzec 2023 r. - w toku

30%

wzrost sprzedaży

2x

zwiększenie szybkości integracji API

A resposta é simples e rápida!

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
    Imprimir um ficheiro

    Można załączyć maksymalnie 1 plik o łącznej wielkości 2 MB. Idiomas disponíveis: pdf, jpg, jpeg, png

    Informujemy, że po kliknięciu przycisku Wyślij Innowise będzie przetwarzać Twoje dane osobowe zgodnie z naszą Política de privacidade 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.

    O que é que se pode fazer?

    Спасибо!

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

    Dziękuję!

    Wiadomość została wysłana.
    Processaremos o seu pedido e contactá-lo-emos o mais rapidamente possível.

    Dziękuję!

    Wiadomość została wysłana. 

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

    seta