[JFPE] Sprint 08
- por Gabriel Medeiros
- em Diário de Atividades
- on 17 de novembro de 2023
Período: 19/10/2023 – 14/11/2023
Sprint 08
Para a Sprint 08, continuamos com a divisão do projeto em três áreas de foco. Exploramos mais os testes com OCR fazendo uma comparação entre as ferramentas, de forma mais equilibrada, com a finalidade de definir um modelo para seguirmos com a aplicação no projeto; Continuamos os avanços no desenvolvimento do backend, objetivando a aplicação do LDAP JFPE, como piloto para a futura aplicação do contexto regional e por fim, trabalhamos também na implementação dos novos modelos de PLN dentro do serviço no MVP.
S08M01 – Escalar o Apache Tika
Esta tarefa foi uma continuação das investigações realizadas nas duas sprints anteriores. Esta missão resultou em avanços expressivos. Foi criada uma máquina virtual Lubuntu 18.04 com fim de padronizar o ambiente de execução das tecnologias, foi criado um dockerfile para imagens de extração de OCR. Também foram criados os arquivos manifestos para criação de pods e orquestração dos serviços e containers usando Kubernetes.
Podemos também destacar os resultados dos testes realizados:
S08M02 – Continuar aprimoramento do back-end
Esta missão teve como objetivo a continuação do desenvolvimento do back-end. Tinha como objetivo realizar a validação dos requisitos Rest para que a aplicação possa ser considerada RESTful. Primeiro foi realizada uma análise de quais requisitos mais importantes ainda estavam pendentes. Foram destacados quatro:
- HATEOAS: Hypermedia as the Engine of Application State. Com o objetivo de disponibilizar hipermídia no corpo da resposta, para reduzir o número de requests necessários para alcançar um objeto.
- Tratamento de Exceção. Com o objetivo de capturar erros que ocorrem no back-end e devolve-los de maneira organizada, sem causar problemas.
- CORS policy. É um mecanismo padrão que permite que chamadas JavaScript XMLHttpRequest (XHR) executadas em uma página da web interajam com recursos de domínios não originais. CORS é uma solução comumente implementada para a política de mesma origem aplicada por todos os navegadores.
- Validação de Modelo. Para validar a estrutura do back-end.
Foi então identificado que o ponto mais crítico para a aplicação era o HATEOAS. Por isso, foi a que recebeu maior prioridade, resultando na implementação completa:
S08M03 – Avaliar implementação de autenticação por LDAP
Outra frente explorada foi a de segurança e autenticação. Foi sugerida a ideia de implementar autenticação através do LDAP da JFPE para login no back-end. Foi criada a infraestrutura para isso, no entanto não foi possível ainda conctar-se com o LDAP, pois houveram problemas de infraestrutura que atrasaram a conexão. No entanto, a implementação do back-end está preparada para recebe-la, e foi feito o teste com um LDAP local, que já está funcionando.
S08M04 – Implantar novos modelos no MVP
Por fim, a última frente de desenvolvimento explorada foi a da solução de aprendizado de máquina. Desta vez, foram realizados testes com dados sintéticos nos mesmo modelos. Na matriz de confusão temos os melhores resultados encontrados.
S08M01 – Escalar o Apache Tika
- Pesquisar como escalar aplicações com o Kubernetes
- Configurar um container do Tika com o Kubernetes
- Testar o Tika com nossos algoritmos da sprint anterior
- Testar a escalabilidade dos containers
- Realizar validação interna
- Realizar comparações de desempenho entre Tesseract.js e Tika
- Aplicação do Tesseract.js e Tika no MVP
- Reunião de apresentação/validação com o LabiFervo
S08M02 – Continuar aprimoramento do back-end
- Validar requisitos de Rest
- HATEOAS
- Tratamento de exceção
- CORS policy
- Validação de modelo
S08M03 – Avaliar implementação de autenticação por LDAP
- Estudar LDAP. Sugestões
- Solicitar dados para comunicação com o LDAP da JFPE
- Realizar teste de comunicação
- Implementar código no MVP
S08M04 – Implantar novos modelos no MVP
- SVM
- Redes Neurais
- Modelos Clássicos de ML
- Modelos de aprendizado de supervisão fraca (Matéria do professor Elias)
- Implementação no MVP
- Testar os endpoints da API python para validar se está usando o modelo de ML
- Validar geração da nuvem de palavras
S08M01 – Escalar o Apache Tika
- Pesquisar como escalar aplicações com o Kubernetes ✓
- Configurar um container do Tika com o Kubernetes ✓
- Testar o Tika com nossos algoritmos da sprint anterior ✓
- Testar a escalabilidade dos containers ✓
- Realizar validação interna ✓
- Realizar comparações de desempenho entre Tesseract.js e Tika ✓
- Aplicação do Tesseract.js e Tika no MVP
- Reunião de apresentação/validação com o LabiFervo
S08M02 – Continuar aprimoramento do back-end
- Validar requisitos de Rest
- HATEOAS ✓
- Tratamento de exceção
- CORS policy
- Validação de modelo
S08M03 – Avaliar implementação de autenticação por LDAP
- Estudar LDAP. Sugestões ✓
- Solicitar dados para comunicação com o LDAP da JFPE ✓
- Realizar teste de comunicação
- Implementar código no MVP
S08M04 – Implantar novos modelos no MVP
- SVM ✓
- Redes Neurais ✓
- Modelos Clássicos de ML ✓
- Modelos de aprendizado de supervisão fraca (Matéria do professor Elias) ✓
- Implementação no MVP
- Testar os endpoints da API python para validar se está usando o modelo de ML
- Validar geração da nuvem de palavras
Tags: JFPE2