Documentação do software de gestão, planeamento e otimização das intervenções

A tecnologia de software da Cadulis ao serviço das suas equipas


Cadulis utiliza inúmeras tecnologias de ponta.
Segue-se algumas informações sobre algumas delas, para que possa ter uma ideia mais precisa.

Escalabilidade

Acha que o Cadulis funciona muito bem? Nós também :) Mas graças a esta organização de excelência, a sua empresa está a crescer e pergunta-se se o Cadulis continuará a ser tão reativo?
Fique descansado, a nossa arquitetura é escalável, ou seja, os recursos dos servidores adaptam-se em função da procura. Realizámos testes injetando até 10 000 intervenções em simultâneo.

Uma empresa em crescimento necessita, no entanto, de uma organização específica para compartimentar as atividades e as equipas. Também aqui o Cadulis dispõe das ferramentas para o ajudar.

Performance

A reatividade é uma das exigências essenciais dos nossos clientes. Ninguém quer estar à espera, nem sequer dez segundos, para carregar uma página. Eis as soluções que implementámos para tornar a nossa aplicação completamente fluida, “frictionless”:

  • Um sistema escalável automaticamente. Com uma infraestrutura Kubernetes, o Cadulis adapta os seus próprios recursos às necessidades dos utilizadores. Em períodos mais calmos (férias, horários específicos do dia/noite), o custo da infraestrutura diminui. Estas poupanças refletem-se no nosso tarifário.
  • A maioria dos processamentos foi tornada assíncrona e tolerante a “falhas”. Por exemplo, o envio de um email automático após o fecho de uma intervenção pode ser efetuado alguns minutos depois do fecho, caso o sistema esteja carregado. Em caso de erro, o Cadulis tenta novamente o envio mais tarde. Assim, pode continuar a sua atividade sem sofrer lentidões desagradáveis. Nesta ótica, e com o contributo dos nossos clientes, conseguimos definir certos processamentos como menos prioritários.
  • Funis de cálculo eficientes. Imagine o número de cálculos necessários para determinar o melhor horário para a sua intervenção: é preciso consultar todos os horários de todos os intervenientes, calcular as distâncias e tempos de deslocação entre todas as intervenções e calcular todas as rentabilidades! E, no entanto, a proposta de horário identifica em poucos segundos os intervenientes e horários mais rentáveis. Para isso, duas soluções: o cálculo extrapolado do tempo de deslocação (ver a secção sobre o tempo de deslocação abaixo) e um funil que permite eliminar rapidamente os intervenientes no terreno demasiado distantes, sem as competências adequadas ou com o planeamento já completo.
  • A colocação em cache. Os nossos utilizadores (gestores de atividade ou intervenientes) tendem a visitar várias vezes a mesma página. Nestes casos, a página é colocada em cache, evitando que o sistema tenha de recalcular a cada abertura os dados de tempo de deslocação, distância, rentabilidade… Parte deste sistema de cache é, aliás, o que permite a utilização do Cadulis sem ligação de rede. (Ver o artigo sobre o modo offline).

Estimativa do tempo de deslocação

Um coeficiente de correção permitiu-nos resolver um problema bastante frequente: como tornar um cálculo simples mas manter a precisão. O cálculo em questão é determinar o tempo de deslocação a partir das coordenadas GPS de dois pontos.
As coordenadas GPS permitem-nos obter a distância em linha reta, considerando a curvatura da Terra, o cálculo é preciso e extremamente rápido. Mas, a partir daí, como determinar o tempo de deslocação real ou mesmo aproximado, sem recorrer a um sistema externo de cartografia, que consome preciosos segundos de cálculo? Estas chamadas, com duração de 0,2s, representam a maior parte do tempo de cálculo.

De que depende o tempo de deslocação? Da densidade de infraestruturas rodoviárias, como vias rápidas e autoestradas, próximas do ponto de partida do interveniente. Para passar da distância em linha reta ao tempo de deslocação, utilizamos um coeficiente de correção, que inicialmente tem um valor baixo para cada interveniente.

Com este valor, o máximo de intervenientes passa as etapas de filtro da proposta de horário e, consequentemente, para as primeiras chamadas (frequentemente realizadas em testes), os tempos de resposta não estão completamente otimizados.
Sempre que é feita uma chamada real a um sistema de cartografia externo para esse interveniente, o coeficiente é ajustado em função dos dados reais de circulação.
Após algumas chamadas, cada interveniente possui um coeficiente realista e os filtros da proposta de horário mantêm apenas os intervenientes mais pertinentes para realizar as chamadas.

Blockchain

Com as criptomoedas, o Bitcoin, a blockchain faz parte das palavras da moda. No entanto, para além do setor financeiro, esta tecnologia pode realmente trazer soluções para problemas que enfrentamos no dia a dia.

Por exemplo, na nossa aplicação de planeamento e otimização de intervenções, Cadulis, a blockchain é uma via para garantir a desmaterialização segura dos documentos.
Eis um caso concreto:
Imagine um técnico a instalar fibra no seu apartamento. No final da intervenção, assina um documento (em papel) para atestar que a intervenção teve lugar. Esta assinatura não é vinculativa quanto ao bom funcionamento ou à correta realização da intervenção, nem certifica a sua identidade, se é o proprietário do apartamento ou o responsável indireto pela intervenção. Nada garante também que o interveniente não altere o conteúdo do documento após a assinatura.
E, no entanto, esta assinatura tem um reconhecimento jurídico que a assinatura digital ainda não possui.

O nosso sistema digital, contudo, oferece mais segurança: no momento da assinatura, a data é registada. E cada modificação é rastreada com registo do identificador, data e conteúdo das alterações.
Para ir ainda mais longe, o relatório de intervenção (ou mais exatamente o seu hash) pode ser armazenado numa blockchain. Assim, é fácil demonstrar juridicamente que o documento é inviolável, infalsificável, com carimbo temporal e até geolocalização.
Isto permite evitar muitos litígios logo à partida.

Outro caso bastante concreto diz respeito ao transporte de resíduos perigosos. A responsabilidade destes produtos recai sobre o produtor até à sua destruição; este pode, com a blockchain, rastrear de forma segura o percurso dos diferentes documentos associados aos produtos que transporta.