Por favor, deixe os seus contactos, enviar-lhe-emos a nossa visão geral por e-mail
Autorizo o tratamento dos meus dados pessoais para o envio de materiais de marketing personalizados em conformidade com a Política de privacidade. Ao confirmar a submissão, o utilizador aceita receber materiais de marketing
Obrigado!

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

Innowise é uma empresa internacional de desenvolvimento de software de ciclo completo fundada em 2007. Somos uma equipa de mais de 1800+ profissionais de TI que desenvolvem software para outros profissionais em todo o mundo.
Sobre nós
O Innowise é uma empresa internacional de desenvolvimento de software de ciclo completo fundada em 2007. Somos uma equipa de mais de 1600+ profissionais de TI que desenvolvem software para outros profissionais em todo o mundo.

Modernização do software de logística com uma atualização Java: 30% processamento de encomendas mais rápido

A Innowise modernizou a interface do utilizador obsoleta e os componentes de software que apresentavam deficiências técnicas.

Cliente

Indústria
Logística
Região
Europa
Cliente desde
2022

O nosso cliente é uma das empresas de logística de maior sucesso na Europa, conhecida pelas suas soluções de gestão da cadeia de abastecimento sem paralelo. A sua vasta presença operacional estende-se por vários países, oferecendo uma gama de serviços que satisfazem uma clientela diversificada.

As informações pormenorizadas sobre o cliente não podem ser divulgadas ao abrigo dos termos do NDA.

Desafio

Modernizar o software de logística para enfrentar os desafios do futuro

A arquitetura existente do nosso cliente tinha começado a mostrar a sua idade. Foram identificados os seguintes desafios:
  • Vulnerabilidades críticas de segurança: no mundo acelerado da logística, qualquer falha de segurança pode resultar em violações significativas, comprometendo dados e operações sensíveis.
  • Tecnologia obsoleta: baseados em pilhas de tecnologia desactualizadas, os seus sistemas não tinham a velocidade, a eficiência e as funcionalidades que as operações logísticas modernas exigem.
  • Problemas de manutenção: vários componentes do seu software eram tão antiquados que a sua manutenção estava a tornar-se uma batalha difícil, se não mesmo impossível em alguns casos.
Reconhecendo estes problemas, o cliente dirigiu-se a nós com grandes expectativas. Procuravam não apenas uma solução para estes problemas, mas uma revisão completa, garantindo que o seu software estava pronto para os desafios futuros.

Solução

Migração do software para a versão mais recente de Java

Na Innowise, realizamos uma avaliação abrangente do software de logística. Através da nossa análise detalhada, reconhecemos os módulos principais que estavam operando na plataforma Java 6 desatualizada. Com a nossa experiência e métodos eficientes, fomos capazes de migrar esses módulos para Java 17 de forma rápida e tranquila.

Descoberta e planeamento

A fase inicial do nosso projeto de modernização foi a fase de descoberta e planeamento. Esta fase crucial envolveu duas actividades-chave: recolha de requisitos e análise da arquitetura. Posteriormente, fornecemos ao cliente uma documentação abrangente sobre a visão e o âmbito.

Obtenção de requisitos

Envolvemos as partes interessadas através de entrevistas e workshops para compreender as suas necessidades comerciais. Como resultado, criámos uma lista abrangente de funcionalidades, necessidades comerciais, expectativas das partes interessadas e requisitos técnicos.

Análise da arquitectura

Os nossos profissionais analisaram o panorama tecnológico atual, considerando os sistemas existentes, as fontes de dados e a infraestrutura. Além disso, examinámos as entidades terceiras que fazem parte integrante das operações da empresa de logística, assegurando uma continuidade perfeita nas suas interacções.

Além disso, examinámos os objectivos estratégicos da empresa, os requisitos funcionais e não funcionais para compreender as suas necessidades e desafios únicos. Esta abordagem holística permitiu-nos desenvolver um roteiro personalizado que se alinhava de perto com os seus objectivos a longo prazo.

Ao longo desta fase, contratámos especialistas, incluindo um engenheiro de bases de dados, para avaliar a arquitetura dos dados e elaborar um plano de migração preliminar. A viabilidade da solução proposta foi avaliada, considerando a pilha de tecnologia, a integração e os riscos.

As fases de descoberta e planeamento serviram como uma base dinâmica, moldando o curso da jornada de modernização do software. Através da recolha de requisitos e da análise da arquitetura, iniciámos uma transformação que iria redefinir o panorama tecnológico da empresa de logística.

Migração de Java 6 para Java 17

Com um roteiro abrangente em mãos, passámos à tarefa fundamental de migrar o software de logística de Java 6 para Java 17. Este esforço foi mais do que uma simples atualização; foi uma transformação estratégica que envolveu um planeamento minucioso, uma execução competente e um compromisso para garantir uma transição perfeita.

Formulação de estratégias

Com base na nossa experiência, elaborámos uma estratégia abrangente para o processo de migração. A estratégia abordou as complexidades técnicas e, ao mesmo tempo, levou em conta as possíveis interrupções nas operações comerciais. O objetivo não era apenas migrar a base de código, mas também aproveitar as novas capacidades oferecidas pelo Java 17 para melhorar o desempenho e as funcionalidades do software.

Migração da base de código

Reconhecendo as mudanças fundamentais entre essas duas versões do Java, nosso passo inicial foi uma auditoria abrangente da base de código existente, seguida pela criação de um backup robusto como medida de segurança. Aproveitando um ambiente de migração isolado, os nossos engenheiros actualizaram as dependências de software para garantir uma compatibilidade perfeita com as funcionalidades melhoradas e as métricas de desempenho do Java 17.

Um aspeto crítico da nossa estratégia de migração foi a melhoria dos mecanismos de registo do sistema. Com base na nossa experiência, reforçámos os módulos da aplicação para captar uma vasta gama de dados - desde as actividades e excepções dos utilizadores até às ameaças à segurança, como operações inadequadas e tentativas incorrectas de início de sessão. Estas medidas avançadas de registo não eram meras adições, mas sim parte integrante dos requisitos globais de segurança e conformidade do cliente.

A arquitetura do software foi outro ponto fulcral. Dada a necessidade de agilidade e escalabilidade do cliente, e com base na nossa própria experiência com paisagens tecnológicas em evolução, a nossa equipa fez a transição do software para um padrão de arquitetura de microsserviços. Este design modular e desacoplado facilitou a implementação independente de serviços, melhor isolamento de falhas e escalabilidade - um requisito para uma entidade de logística com operações expansivas.

No entanto, o verdadeiro desafio está na modernização do código. Era imperativo integrar a API Stream e as expressões lambda do Java 8 para que o código se tornasse conciso e facilmente compreensível. Enquanto isso, examinamos todas as coleções para garantir o alinhamento com os padrões do Java 17. A adoção da palavra-chave 'var' foi outro passo para contemporizar nossa base de código. Além disso, as operações com strings foram reformuladas para corresponder às especificações do Java 17 e, sempre que possível, fizemos a transição de cadeias de instruções if/else para as instruções switch mais versáteis introduzidas na versão mais recente do Java. Garantir que todas estas alterações não tivessem consequências indesejadas foi a nossa maior prioridade, sublinhada por testes rigorosos da lógica de todos os métodos públicos.

Testes rigorosos foram a pedra angular do nosso processo de migração. Cada módulo migrado foi submetido a testes exaustivos para garantir que não só cumpria os requisitos funcionais, como também se integrava perfeitamente com outros componentes. Os nossos testes mostraram que esta abordagem de exame rigoroso minimizou o risco de problemas pós-migração.

Eis um resumo de como testámos esta transição nos nossos ambientes:

  • Ambiente de desenvolvimento (DEV): Nesta fase inicial, os nossos programadores adaptaram o código especificamente para as funcionalidades de logística. Efectuaram testes básicos, concentrando-se nas optimizações de rotas, no seguimento de cargas e na gestão de frotas, para garantir que as funcionalidades fundamentais funcionavam sem problemas.
  • Ambiente de teste de produção (IPT): Esta foi a nossa zona de testes avançados. Simulámos cenários do mundo real, como reservas de carga de grande volume e pesquisas de rotas em horas de ponta, para verificar se existiam problemas. Este ambiente ajudou a garantir que o nosso software comunicava na perfeição com outros sistemas de logística, tais como bases de dados de armazenamento e ferramentas de gestão de transportes.
  • Ambiente de teste do objeto (IFT): Sempre que nos deparávamos com um desafio logístico único ou com um erro, recorríamos à IFT. Este ambiente também foi fundamental na formação das nossas equipas de logística, na verificação da segurança do software no meio de dados de carga sensíveis e na aplicação de correcções técnicas específicas.
  • Ambiente de produção (PROD): Confiantes nos resultados do IPT, lançámos o software atualizado no PROD. Foi aqui que observámos o seu desempenho num ambiente logístico real, com utilizadores, cargas e rotas de transporte reais.

Migração de dados

A migração de dados esteve na vanguarda do nosso projeto de modernização de software. Reconhecendo o seu papel fundamental, contratámos os nossos programadores de bases de dados experientes logo desde o início do projeto. Ele iniciou uma análise aprofundada das estruturas e padrões de dados existentes. Armados com este conhecimento, elaborámos um plano preciso com o objetivo de migrar sem problemas cada byte de dados, preservando a sua integridade. Não se tratava apenas de mover registos; tratava-se de garantir que todas as ligações, configurações e estruturas relacionais fossem perfeitamente espelhadas no novo ambiente.
Além disso, a nossa remodelação foi apoiada pela integração da estrutura Hibernate, uma ação estratégica da Innowise. Através desta camada de persistência, assegurámos que os nossos módulos de software pudessem interagir de forma fluida com as bases de dados, sem estarem estritamente ligados à base de dados Oracle. Esta integração deliberada tinha como objetivo preparar a nossa solução para o futuro, tornando-a adaptável e compatível com uma infinidade de tecnologias de bases de dados. Após a conclusão da migração, os nossos engenheiros levaram a cabo um rigoroso processo de verificação, assegurando que a base de dados recém-estruturada estava alinhada com o nosso projeto de arquitetura e preparada para um desempenho ótimo em todos os empreendimentos futuros.

Implantação

À medida que o software passava pelas suas fases de migração e começava a evoluir para a sua forma mais avançada, cada passo da fase de implementação foi abordado com cuidado e precisão meticulosos. Para garantir a continuidade e uma interferência mínima nas operações diárias do cliente, implementámos uma estratégia de implementação escalonada. 
Esta abordagem permitiu-nos introduzir sistematicamente as novas funcionalidades e características, assegurando que cada adição se integrava perfeitamente sem causar desafios inesperados ou interrupções nos processos em curso do cliente. O nosso principal objetivo era oferecer uma experiência de software melhorada, assegurando ao mesmo tempo a continuidade da atividade da equipa do nosso cliente.

Tecnologias e ferramentas

Front-end

Angular 15, RxJs, TypeScript, Material UI

Back-end

Java 17, Groovy; Spring Boot (3.1.3)

DevOps/Cloud

Fase 1: Jenkins, SonarQube Apache Tomcat, Ansible;

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

Equipa

4
Engenheiros Java
4
Angular Engenheiros
2
QA
2
AQA
2
BA
2
DBD
1
DevOps
1
Gestor de projectos
conhecimento da equipa

Resultados

30% ganho de eficiência, melhoria da segurança e preparação do software para o futuro para dominar o mercado

A Innowise realizou uma revisão abrangente do software, proporcionando uma notável redução de 30% no processamento de pedidos, o que elevou diretamente a satisfação do cliente. Nossos esforços abrangeram mais do que apenas melhorar a eficiência operacional, nós eliminamos todas as vulnerabilidades de segurança, garantindo que os dados críticos da empresa permaneçam protegidos.

O que é verdadeiramente louvável é que, no meio destas actualizações substanciais, assegurámos uma transição suave que permitiu aos funcionários desempenharem as suas tarefas sem quaisquer perturbações. Mas a nossa visão foi além da resolução de preocupações imediatas. Com a transição para Java 17 e a integração de tecnologias de ponta, o software está agora preparado para o futuro. Construímos uma base robusta que atende a:

  • Escalabilidade para gerir um volume de dados crescente.
  • Capacidade para suportar a utilização simultânea por, pelo menos, 500 utilizadores sem sacrificar a capacidade de resposta.
  • Flexibilidade para introduzir ou adaptar interfaces.
  • Medidas de segurança reforçadas, complementadas por uma comunicação totalmente encriptada através de HTTPS/TLS 1.3.
  • A capacidade de aumentar profissionalmente as funcionalidades da aplicação.

A revisão do software coloca a empresa numa posição dominante, pronta para navegar e capitalizar a dinâmica do mercado em constante evolução.

Duração do projecto
  • janeiro de 2022 - Em curso

30%

processamento de encomendas mais rápido

100%

vulnerabilidades conhecidas resolvidas

Contactar-nos!

Marcar uma chamada ou preencha o formulário abaixo e entraremos em contacto consigo assim que tivermos processado o seu pedido.

    Inclua os detalhes do projeto, a duração, o conjunto de tecnologias, os profissionais de TI necessários e outras informações relevantes
    Gravar uma mensagem de voz sobre o seu
    projeto para nos ajudar a compreendê-lo melhor
    Anexar documentos adicionais, se necessário
    Enviar ficheiro

    Pode anexar até 1 ficheiro de 2MB no total. Ficheiros válidos: pdf, jpg, jpeg, png

    Informamos que, ao clicar no botão Enviar, o Innowise's processará os seus dados pessoais de acordo com a nossa Política de Privacidade com o objectivo de lhe fornecer informações adequadas.

    O que é que acontece a seguir?

    1

    Após termos recebido e processado o seu pedido, entraremos em contacto consigo para detalhar as necessidades do seu projecto e assinar um NDA para garantir a confidencialidade das informações.

    2

    Após a análise dos requisitos, os nossos analistas e programadores elaboram uma proposta de projecto com o âmbito dos trabalhos, tamanho da equipa, tempo e custos e custos.

    3

    Marcamos uma reunião consigo para discutir a oferta e chegar a um acordo.

    4

    Assinamos um contrato e começamos a trabalhar no seu projecto o mais rapidamente possível.

    Obrigado!

    A sua mensagem foi enviada.
    Processaremos o seu pedido e contactá-lo-emos o mais rapidamente possível.

    Obrigado!

    A sua mensagem foi enviada.
    Processaremos o seu pedido e contactá-lo-emos o mais rapidamente possível.

    seta