alexferreiradev / alexferreiradev/cert_validator_java

Adicionar leitor de json em memória

Aberta
#21 0 comentários 0 reações 1 responsável Reivindicada por @alexferreiradev Ver no GitHub
Linguagem predominante
Groovy
Estrelas
0
Forks
0
Métricas de merge de PRs
Nenhum PR com merge em 30d

Descrição

# Avaliação de cenários
- Com banco de dados:
Teremos que manter infraestrutura, utilizar um ORM e irá demorar mais para entregar. Além disso, teria que ter uma integração com o sistema de geração de certificado, ou seja, teria que ter o leitor de JSON da mesma forma
- Sem banco:
Não será utilizado banco de dados, ao gerar um certificado será gerado um arquivo Json com os respectivos tokens. Toda vez, o administrador terá que pegar o arquivo json e adicionar ao servidor e reiniciar o servidor. O servidor ao iniciar, irá verificar todos arquivos json e irá importar tudo em memória como um singleton.

## Vantagens e desvantagens
O banco de dados torna mais escalável, mas não elimina a necessidade do Json ser importado. Futuramente, poderá ser criado um gerador de certificados online que integra diretamente com o validador.

# Adicionar na wiki
A cada adição de novos certificados, o servidor deverá ser reiniciado para carregar os novos certificados.

# Detalhes de implementação
- Crie testes de unidade para todas funções e de sistema para testar a importação incorreta e a finalização do servidor
- O leitor ficará disponível para os services como um service com scope singleton criado ao dar boot na aplicação.
- O arquivo Json será definido de acordo com os objetos exportados pelo gerador. Portanto, a cada versão major do gerador, deve verificar compatibilidade do validador.
- Deverá ser utilizado uma lib de transformação de json em Objetos como a Gson.
- Caso ocorra erro na importação, servidor deve informar o erro e finalizar. Não pode iniciar sem ter importado todos arquivos
- Os arquivos Json devem ter uma chave no início, indicando que o arquivo é válido e foi gerado pelo nosso gerador e não é implantado
- Ao final da importação, deve indicar quanto de memória foi utilizado de maneira humana. Utilize uma lib para transformação para maneira humana
- O acesso aos dados importados deverão ser feitos somente pelo service, mas somente como leitura, evitando problemas de concorrência.

Guia de contribuição

Nenhum guia de contribuição indexado para este repositório

Avaliação

Esta issue ainda não foi avaliada.

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.