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
Thank you!

The form has been successfully submitted.
Please find further information in your mailbox.

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.

Modernizacja oprogramowania logistycznego za pomocą aktualizacji Java: 30% szybsze przetwarzanie zamówień

Innowise zmodernizował przestarzały interfejs użytkownika i komponenty oprogramowania, które miały braki techniczne.

Klient

Branża
Logistyka
Region
Europa
Klient od
2022

Nasz klient jest jedną z odnoszących największe sukcesy firm logistycznych w Europie, znaną z niezrównanych rozwiązań w zakresie zarządzania łańcuchem dostaw. Ich rozległy zasięg operacyjny obejmuje wiele krajów, oferując gamę usług, które zaspokajają potrzeby zróżnicowanej klienteli.

Szczegółowe informacje o kliencie nie mogą zostać ujawnione zgodnie z warunkami umowy NDA.

Wyzwanie

Modernizacja oprogramowania logistycznego w celu sprostania wyzwaniom jutra

Istniejąca architektura naszego klienta zaczęła wykazywać swój wiek. Zidentyfikowano następujące wyzwania:
  • Krytyczne luki w zabezpieczeniach: w szybko zmieniającym się świecie logistyki każda luka w zabezpieczeniach może prowadzić do poważnych naruszeń, narażając wrażliwe dane i operacje.
  • Przestarzała technologia: bazując na przestarzałych rozwiązaniach technologicznych, ich systemom brakowało szybkości, wydajności i funkcji, których wymagają nowoczesne operacje logistyczne.
  • Kwestie związane z konserwacją: kilka komponentów ich oprogramowania było tak przestarzałych, że ich konserwacja stawała się trudna, a w niektórych przypadkach wręcz niemożliwa.
Rozpoznając te problemy, klient zwrócił się do nas z wysokimi oczekiwaniami. Szukał nie tylko rozwiązania tych problemów, ale także kompletnego przeglądu, który zapewniłby, że jego oprogramowanie będzie gotowe na przyszłe wyzwania.

Wdrożenie

Migracja oprogramowania do najnowszej wersji Java

At Innowise, we undertook a comprehensive evaluation of the logistics software. Through our detailed analysis, we recognized the core modules that were operating on the outdated Java 6 platform. With our expertise and efficient methods, we were able to quickly and smoothly migrate those modules to Java 17.

Odkrywanie i planowanie

Początkową fazą naszego projektu modernizacji był etap odkrywania i planowania. Ta kluczowa faza obejmowała dwa kluczowe działania: zbieranie wymagań i analizę architektury. Następnie dostarczyliśmy klientowi kompleksową dokumentację wizji i zakresu.

Określanie wymagań

Zaangażowaliśmy interesariuszy poprzez wywiady i warsztaty, aby zrozumieć ich potrzeby biznesowe. W rezultacie stworzyliśmy kompleksową listę funkcji, potrzeb biznesowych, oczekiwań interesariuszy i wymagań technicznych.

Analiza architektury

Our professionals analyzed the current technology landscape, considering existing systems, data sources, and infrastructure. In addition, we scrutinized the third-party entities integral to the logistics company’s operations, ensuring seamless continuity in their interactions.

Furthermore, we examined the company’s strategic goals, functional and non-functional requirements to understand their unique needs and challenges. This holistic approach allowed us to develop a tailored roadmap that aligned closely with their long-term objectives.

Na tym etapie zaangażowaliśmy ekspertów, w tym inżyniera baz danych, do oceny architektury danych i opracowania wstępnego planu migracji. Oceniono wykonalność proponowanego rozwiązania, biorąc pod uwagę stos technologii, integrację i ryzyko.

The discovery and planning phases served as a dynamic foundation, shaping the course of the software modernization journey. Through requirements gathering and architecture analysis, we ignited a transformation that would redefine the logistics company’s technological landscape.

Migracja z Java 6 do Java 17

Mając w ręku kompleksową mapę drogową, przeszliśmy do kluczowego zadania, jakim była migracja oprogramowania logistycznego z Java 6 do Java 17. To przedsięwzięcie było czymś więcej niż zwykłą aktualizacją; była to strategiczna transformacja, która wymagała dokładnego planowania, umiejętnego wykonania i zaangażowania w zapewnienie płynnego przejścia.

Formułowanie strategii

Drawing on our experience, we devised a comprehensive strategy for the migration process. The strategy addressed the technical intricacies while also accounting for potential disruptions to the business operations. The goal was not just to migrate the codebase but also to leverage the new capabilities offered by Java 17 to enhance the software’s performance and features.

Migracja bazy kodu

Recognizing the foundational changes between these two Java versions, our initial step was a comprehensive audit of the existing codebase, followed by creating a robust backup as a fail-safe measure. Leveraging an isolated migration environment, our engineers upgraded the software dependencies to ensure seamless compatibility with Java 17’s enhanced features and performance metrics.

A critical aspect of our migration strategy was enhancing the system’s logging mechanisms. Drawing on our expertise, we fortified the application modules to capture a wide range of data – from user activities and exceptions to security threats like improper operations and incorrect login attempts. These advanced logging measures were not mere additions but were integral to the client’s overarching security and compliance requirements.

The software’s architecture was another focal point. Given the client’s need for agility and scalability, and based on our own experience with evolving tech landscapes, our team transitioned the software to a microservices architecture pattern. This decoupled, modular design facilitated independent deployment of services, better fault isolation, and scalability – a requisite for a logistics entity with expansive operations.

However, the true challenge lays in code modernization. It was imperative to integrate the Stream API and lambda expressions from Java 8 so that the code became both concise and easily understandable. Meanwhile, we examined all collections to ensure alignment with Java 17 standards. Adopting the ‘var’ keyword was another step to contemporize our codebase. Additionally, string operations were revamped to match Java 17 specifications, and wherever feasible, we transitioned from chains of if/else statements to the more versatile switch statements introduced in the newer Java version. Ensuring all these changes had no unintended consequences was our utmost priority, underscored by rigorous testing of all public methods’ logic.

Rygorystyczne testy były kamieniem węgielnym naszego procesu migracji. Każdy migrowany moduł przeszedł kompleksowe testy, aby upewnić się, że nie tylko spełnia wymagania funkcjonalne, ale także płynnie integruje się z innymi komponentami. Nasze testy wykazały, że to rygorystyczne podejście do testowania zminimalizowało ryzyko wystąpienia problemów po migracji.

Here’s a breakdown of how we tested this transition across our environments:

  • Środowisko programistyczne (DEV): Na tym początkowym etapie nasi programiści dostosowali kod specjalnie do funkcji logistycznych. Przeprowadzili podstawowe testy, koncentrując się na optymalizacji tras, śledzeniu ładunków i zarządzaniu flotą, aby upewnić się, że podstawowe funkcje działają płynnie.
  • Środowisko testów produkcyjnych (IPT): To była nasza zaawansowana strefa testowa. Symulowaliśmy rzeczywiste scenariusze, takie jak rezerwacje ładunków o dużej objętości i wyszukiwanie tras w godzinach szczytu, aby sprawdzić wszelkie usterki. Środowisko to pomogło zapewnić bezbłędną komunikację naszego oprogramowania z innymi systemami logistycznymi, takimi jak bazy danych magazynowania i narzędzia do zarządzania transportem.
  • Przedmiotowe środowisko testowe (IFT): Za każdym razem, gdy napotykaliśmy wyjątkowe wyzwanie logistyczne lub błąd, zwracaliśmy się do IFT. Środowisko to odegrało również kluczową rolę w szkoleniu naszych zespołów logistycznych, weryfikacji bezpieczeństwa oprogramowania wśród wrażliwych danych ładunku oraz stosowaniu ukierunkowanych poprawek technicznych.
  • Środowisko produkcyjne (PROD): Mając pewność co do wyników IPT, uruchomiliśmy zaktualizowane oprogramowanie w PROD. To tutaj obserwowaliśmy jego wydajność w środowisku logistycznym na żywo, z prawdziwymi użytkownikami, ładunkami i trasami transportowymi.

Migracja danych

Data migration stood at the forefront of our software modernization project. Recognizing its pivotal role, we engaged our seasoned database developers right from the project’s initiation. He embarked on an in-depth review of the existing data structures and patterns. Armed with this knowledge, we crafted a precise plan aimed at seamlessly migrating every byte of data while preserving its integrity. This wasn’t just about moving records; it was about ensuring that every linkage, configuration, and relational structure was perfectly mirrored in the new environment.
Furthermore, our overhaul was underpinned by the integration of the Hibernate framework, a strategic move made by the Innowise. Through this persistence layer, we ensured that our software modules could interact fluidly with databases without being strictly tied to the Oracle database. This deliberate integration was geared towards future-proofing our solution, making it adaptable and compatible with a plethora of database technologies. Upon completion of the migration, our engineers undertook a rigorous verification process, ensuring the newly structured database aligned with our architectural blueprint and was primed for optimal performance in all forthcoming endeavors.

Wdrożenie

As the software transitioned through its migration stages and began to evolve into its more advanced form, every step of the deployment phase was approached with meticulous care and precision. To ensure continuity and minimal interference in the client’s daily operations, we implemented a staggered deployment strategy. 
This approach allowed us to systematically introduce the new functionalities and features, ensuring that each addition integrated seamlessly without causing unexpected challenges or disruptions to the client’s ongoing processes. Our primary goal was to offer an enhanced software experience while ensuring business as usual for our client’s team.

Technologie i narzędzia

Front-end

Angular 15, RxJs, TypeScript, Material UI

Back-end

Java 17, Groovy; Spring Boot (3.1.3)

DevOps/Cloud

Faza 1: Jenkins, SonarQube Apache Tomcat, Ansible;

Faza 2: Google Cloud Run, Google Cloud Functions, Google Kubernetes Engine, Terraform, Google Cloud Build

Zespół

4
Inżynierowie Java
4
Angular Inżynierowie
2
QA
2
AQA
2
BA
2
DBD
1
DevOps
1
Kierownik projektu
team-innowise

Wyniki

30% - wzrost wydajności, poprawa bezpieczeństwa i przyszłościowe oprogramowanie zapewniające dominację na rynku

Innowise undertook a comprehensive overhaul of the software, delivering a remarkable 30% decrease in order processing which directly elevated customer satisfaction. Our efforts encompassed more than just enhancing operational efficiency, we eliminated all the security vulnerabilities, ensuring the company’s critical data remains shielded.

What’s truly commendable is that amidst these substantial upgrades, we ensured a smooth transition that allowed employees to perform their tasks without any disruptions. But our vision extended beyond addressing immediate concerns. By transitioning to Java 17 and integrating state-of-the-art technologies, the software is now adeptly future-proofed. We’ve built a robust foundation catering to:

  • Skalowalność umożliwiająca zarządzanie rosnącą ilością danych.
  • Zdolność do obsługi jednoczesnego użytkowania przez co najmniej 500 użytkowników bez poświęcania szybkości reakcji.
  • Elastyczność we wprowadzaniu lub dostosowywaniu interfejsów.
  • Ulepszone środki bezpieczeństwa, uzupełnione o w pełni szyfrowaną komunikację za pośrednictwem HTTPS/TLS 1.3.
  • Możliwość profesjonalnego rozszerzenia funkcji aplikacji.

Modernizacja oprogramowania stawia firmę na dominującej pozycji, gotową do nawigacji i wykorzystywania stale zmieniającej się dynamiki rynku.

Czas trwania projektu
  • Styczeń 2022 r. - w toku

30%

Szybsze przetwarzanie zamówień

100%

usunięte znane luki w zabezpieczeniach

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. Ważne pliki: 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.

    Спасибо!

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

    Dziękuję!

    Wiadomość została wysłana.
    We’ll process your request and contact you back as soon as possible.

    Dziękuję!

    Wiadomość została wysłana. 

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

    arrow