Documentação

A tecnologia de software da Cadulis a serviço das suas equipes


Cadulis utiliza várias tecnologias de ponta.
Abaixo você encontrará algumas informações sobre algumas delas, para que possa ter uma ideia mais precisa.

Escalabilidade

Você acha que o Cadulis funciona muito bem? Nós também :) Mas graças a essa excelente organização, sua empresa está crescendo e você se pergunta se o Cadulis continuará tão responsivo?
Fique tranquilo, nossa arquitetura é escalável, ou seja, os recursos dos servidores se adaptam conforme a demanda. Realizamos testes injetando até 10.000 intervenções simultaneamente.

No entanto, uma empresa em crescimento exige uma organização específica para segmentar as atividades e equipes. Mais uma vez, o Cadulis dispõe das ferramentas para ajudá-lo.

Performance

A responsividade é uma das principais demandas dos nossos clientes. Ninguém quer esperar, nem mesmo dez segundos, para carregar uma página. Aqui estão as estratégias que implementamos para tornar nosso aplicativo completamente fluido, “frictionless”:

um sistema escalável automaticamente. Com uma hospedagem Kubernetes, a infraestrutura Cadulis adapta seus próprios recursos às necessidades dos usuários. Em períodos mais tranquilos (férias, horários específicos do dia/noite), o custo da hospedagem diminui. Assim, podemos oferecer o melhor preço do mercado. A maioria dos processamentos foi tornada assíncrona, tolerante a “falhas”. Por exemplo, o envio de um e-mail automático após o encerramento de uma intervenção pode ser realizado alguns minutos depois do fechamento, caso o sistema esteja sobrecarregado. Em caso de erro, o Cadulis tenta o envio novamente mais tarde. Assim, você pode continuar sua atividade sem sofrer lentidão que seria desagradável. Com esse objetivo, e com a opinião 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 sua intervenção: é preciso consultar todos os horários de todos os seus técnicos, calcular as distâncias e tempos de trajeto entre todas as intervenções e calcular todas as rentabilidades! E, no entanto, a proposta de horário identifica em poucos segundos os técnicos e horários mais rentáveis. Para isso, duas estratégias: o cálculo extrapolado do tempo de trajeto (veja o artigo sobre machine learning) e um funil que permite eliminar rapidamente os técnicos de campo muito distantes, que não têm as competências certas, ou cujo planejamento já está completo. Cache. Nossos usuários (gestores de atividades ou técnicos de campo) costumam visitar várias vezes a mesma página. Nesses casos, a página é armazenada em cache, evitando que o sistema recalcule a cada abertura os dados de tempo de trajeto, distância, rentabilidade… Parte desse sistema de cache é, inclusive, o que permite o uso do Cadulis sem conexão de rede. (Veja o artigo sobre o modo offline). Machine learning O machine learning nos ajudou a resolver um problema bastante comum: como tornar um cálculo simples, mas manter a precisão. O cálculo em questão é determinar o tempo de trajeto a partir das coordenadas GPS de dois pontos. As coordenadas GPS podem nos fornecer a distância em linha reta, levando em conta a curvatura da Terra, o cálculo é preciso e extremamente rápido. Mas, a partir daí, como determinar o tempo real ou mesmo aproximado do trajeto, sem recorrer a um sistema externo de mapas, que consome preciosos segundos de cálculo? Essas chamadas, com duração de 0,2s, representam a maior parte do tempo de cálculo. De que depende o tempo de trajeto? Principalmente da densidade de infraestruturas rodoviárias, como vias rápidas e rodovias próximas ao ponto de partida do técnico. É aí que entra nosso machine learning: para passar da distância em linha reta ao tempo de trajeto, usamos um coeficiente de correção, que inicialmente assume um valor baixo para cada técnico. Com esse valor, o máximo de técnicos passa pelas etapas de filtro da proposta de horário e, consequentemente, para as primeiras chamadas (geralmente realizadas em testes), os tempos de resposta não são totalmente otimizados. Cada vez que uma chamada a um sistema de mapas externo é realmente realizada para esse técnico, o coeficiente é ajustado de acordo com os dados reais de tráfego. Após algumas chamadas, cada técnico possui um coeficiente realista e os filtros da proposta de horário mantêm apenas os técnicos mais relevantes para realizar as chamadas. O machine learning descreve um sistema que se torna cada vez mais eficiente à medida que é utilizado. É exatamente o caso aqui.

Blockchain

Com as criptomoedas, o Bitcoin, a blockchain faz parte dos buzzwords. No entanto, além do círculo financeiro, essa tecnologia pode realmente trazer soluções para problemas que enfrentamos diariamente.

Por exemplo, em nosso aplicativo de planejamento e otimização de intervenções, Cadulis, a blockchain é uma alternativa para garantir a digitalização segura de documentos. Veja um caso concreto: Imagine um técnico vindo instalar fibra óptica em seu apartamento. Ao final da intervenção, você assina um documento (em papel) para atestar que a intervenção ocorreu. Essa assinatura não garante o bom funcionamento ou a boa execução da intervenção, nem certifica sua identidade, se você é o proprietário do apartamento ou o solicitante indireto da intervenção. Nada garante também que o técnico não vá modificar o conteúdo do documento após a assinatura. No entanto, essa assinatura possui um reconhecimento jurídico que a assinatura digital ainda não possui.

Nosso sistema digital, entretanto, traz mais segurança: no momento da assinatura, a data é registrada. E cada modificação é rastreada com registro do identificador, data e conteúdo das alterações. Para ir ainda mais longe, o relatório de intervenção (ou mais precisamente seu hash) pode ser armazenado em uma blockchain. Assim, é fácil demonstrar juridicamente que o documento é inviolável, infalsificável, com registro de data e até mesmo geolocalização. Isso pode evitar muitos litígios logo no início. Outro caso bastante concreto diz respeito ao transporte de resíduos perigosos. A responsabilidade por esses produtos recai sobre o produtor até sua destruição, e este pode, com a blockchain, rastrear de forma segura o percurso dos diferentes documentos anexados aos produtos que transporta.