Análise técnica sobre a dependência do SID da API antiga do E-Estado
Data de elaboração |
09/12/2022 |
---|---|
Responsável pelo estudo |
José Lucas da Silva Costa (Analista de Desenvolvimento Full-Stack) |
Equipe do estudo |
João Pedro Rocha Brito (Assessor) Jônatas Neves Legal (Técnico em Tecnologia da Informação e Comunicação) José Henrique dos Santos Nogueira (Assessor) |
Alvo | E-estado |
Origem |
Melhoria: Descontinuação da API do e-estado |
Objetivo |
Migração da API do e-estado |
Documentação Correlata | Sem documentação. |
Observações |
Sem observações. |
- API - Application Programming Interface (interface de Programação de Aplicações).
- KIBANA - Plugin de visualização de dados de fonte aberta para o Elasticsearch.
- SETIC - Superintendência Estadual de Tecnologia da Informação e Comunicação.
- SID - Sistema Integrado de Descanso.
2. Introdução
3. Desenvolvimento - Impactos da descontinuação da API do e-estado
3.1.
A
3.2. Complexidade de cada funcionalidade
A API a ser migrada do E-estado não possui o cenário de testes, principalmente o de carga que pode medir o desempenho da mesma, desta forma se faz necessário também os testes de API funcionais, que podem ajudar neste cenário onde está ocorrendo problemas de desempenho, principalmente se o mesmo problema vim na API nova que será migrada do E-estado.
Testes de API funcionais são equivalentes a testes de unidade para software: uma maneira de garantir que a API retorne a saída desejada para uma determinada entrada, situação esta que ainda não possui nos projetos que o TITÃS mantém. Esses testes podem ser executados em todos os ambientes, desde o computador pessoal de um desenvolvedor até ambientes de teste até o sistema de produção final.
É recomendável executá-los para verificar se a implantação não interrompe a funcionalidade. Quando a implantação funciona, os testes devem retornar os mesmos resultados em todos os lugares. Já os testes de API de carga, por outro lado, normalmente são executados em produção ou em um sistema equivalente. Isso ocorre porque as restrições não funcionais, como confiabilidade e capacidade de resposta, parecem diferentes sob várias condições do mundo real. O teste de API funciona de maneira semelhante ao teste de site, embora os testes de site possam incluir o comportamento do navegador do lado do cliente, enquanto os testes de API enviam apenas solicitações de rede.
3.3. Possíveis problemas
Quando uma API falha ou possui problemas de desempenho, essa falha reflete na SETIC. Os usuários finais e clientes provavelmente não reconhecerão que um terceiro pode ser o culpado. E dependendo da importância dessa API para um processo de transação, essa falha pode afetar seus resultados imediatamente. Encontrar problemas de desempenho apenas algumas semanas antes da data de lançamento de um sistema em produção de uma API de aplicativo, é uma ocorrência comum. Um tempo de alta resolução é preciso até frações de milissegundos. Essa precisão o torna ideal para produzir medições precisas de tempo. Cada medição medida na Performance API é um tempo de alta resolução. A API de alto desempenho faz parte da API de tempo de alta resolução. À medida que o aplicativo aumenta, ele pode enfrentar problemas de desempenho. Portanto, é melhor ter testes de carga/desempenho desde o início. A maioria das empresas de desenvolvimento de software tem equipes de teste dedicadas que realizariam testes de integração para garantir que não haja gargalos.
3.4. Valor agregado
A melhoria de desempenho em API está sendo amplamente utilizada na indústria de software para permitir a integração de múltiplas aplicações de forma eficiente. Embora os aplicativos tenham sido submetidos a muitos testes manuais e automatizados antes do lançamento, é possível que surjam problemas na produção. Neste estudo técnico, vimos os problemas comuns encontrados, seguidos pelas práticas para minimizar os problemas.