Garantir a integridade do documento assinado
OBJETIVO
Analisar a melhor abordagem para garantir a integridade do documento assinado no projeto Portal do Cidadão conforme a User Story: “Eu como vingadores, preciso realizar um estudo de caso sobre garantir a integridade do documento assinado" presente na Sprint número 100 do time Vingadores.
JUSTIFICATIVA
Tendo em vista que o Portal do Cidadão precisa integrar a assinatura avançada do assine aqui, o qual irar levar o usuário para outra tela, fora do aplicativo. Destarte, foi pensado na criação desse estudo para garantir a melhor abordagem para essa integração garantindo a integridade dos sistemas.
RESULTADOS ESPERADOS
Levantar casos de uso adequados para a realização da integração, mantendo a integridade e melhor experiencia para o usuário poder assinar suas solicitações.
ENVOLVIDOS:
Gustavo Felix Gomes (Dev team)
Rafael Passos dos Santos (Dev team)
Emanuel Rufino Alcantara de Lima (Dev team)
Lucas de Souza e Sousa (Dev team)
André Honório de Andrade Silva (Dev team)
Alef Carvalho (Dev team)
Euriane Nogueira Frota (Product Owner)
1 - INTRODUÇÃO
Como o portal do cidadão precisará implementar a assinatura digital do Gov.br, foi desenvolvido a assinatura avançada do assine aqui, o qual torna possível os sistemas da SETIC assinarem com o Sauron ou Gov.br, a assinatura será realizada no Portal do Cidadão quando o mesmo solicitar um serviço.
2 - FUNCIONAMENTO
Com o novo assine aqui será possível assinar com o Gov.br, para assinar será necessário selecionar a opção "entrar com o Gov.br", ele pedirá seu usuário e senha do Gov.br e em seguida mostrará as informações do documento e do assinante.
Após carregar a tela, ele pedirá seu CPF para gerar um código de confirmação com validade de 5 minutos que será enviado para seu e-mail cadastrado no Gov.br, assim que receber o código de confirmação no seu e-mail, é só inseri-lo no seu respectivo campo, também é possível reenviar o código caso seja necessário, depois de informado o código é só clicar em assinar e uma tela confirmando a assinatura irá aparecer.
Segundo as informações disponíveis para implementar assinatura será necessário:
- Id do documento que deseja assinar;
- Nome do documento que deseja assinar;
- Id do sistema cliente (ClientId) que fará a integração;
- String do corpo do documento que deseja assinar
Com essas informações é possível criar a URL da assinatura, onde serão enviado os parâmetros
3 - IMPLEMENTAÇÃO
Quando o usuário for realizar a assinatura, abrirá um pop-up, que é uma nova pagina em outra aba do navegador, o time vingadores acha que tal abordagem não seja a melhor, pois tira o cidadão do App, quebrando sua experiencia de usuário com a aplicação.
Diante disso, o time vingadores encontrou duas possíveis cenários para realização da assinatura.
O primeiro era a implementação da API do assine aqui e o Gov.br integrado com o Portal do cidadão, nessa opção não abrira outra aba do navegador e a assinatura seria realizada em uma tela dentro do próprio portal do Cidadão, com o layout do Portal.
Toda via, o assine aqui com Gov.br não usa a API do assine aqui, o projeto é somente web, e tal abordagem se tornou inviável em vista que é obrigatório por decreto o uso do assine aqui, com seu layout, para o cidadão ter total entendimento que está usando o sistema.
A outra abordagem é mais simples, usando o assine aqui, entretanto em vez de abri a nova aba quando o Cidadão for assinar, o portal ira redirecionar pro assine aqui através da tag html:
<a class="btn btn-primary" href="link do assine aqui">Assinar</a>
e o time TAMBAKISS ficando responsável pelo redirecionamento de voltar pro Portal do cidadão após a realização da assinatura, tal atividade já foi concordada com o PO do time, entrando na sua sprint atual.
4 - IMPLEMENTAÇÃO E HISTÓRIAS DE USUÁRIO
HISTÓRIA |
PONTUAÇÃO |
Integração do |
|
Criar um documento com as informações da solicitação | 5 |
Obter o hash do documento criado no Portal do cidadão | |
Realizar a assinatura enviando o hash do documento por parametro | 3 |
|
|
TOTAL |
|
5 - POSSÍVEIS PROBLEMAS NA UTILIZAÇÃO
Existem algumas preocupações com possíveis problemas na utilização do Solr, algumas delas são:
- Problemas de performance;
- Custo de tempo/processamento até se tornar viável;
- Problemas conhecidos com modificações na indexação;
- No caso do Alpha, talvez não seja o mais apropriado, já que o mesmo não realiza tantas pesquisas;
- O que faria bastante sentido em sistemas como o Sei ou Gov.doc;
6 - PRINCIPAIS ALTERNATIVAS
Redis - Free/OpenSource
Elasticsearch – Freemium/Proprietário
Melisearch – Free/OpenSource
Apache Spark - Free/OpenSource
7 - VALOR AGREGADO
A utilização de ferramentas como o Solr agrega muito valor aos softwares que os integram devido a sua praticidade e abordagem para resolução de grandes problemas empresariais, no entanto deve-se analisar muito bem antes de se implementar este tipo de solução aos produtos.
8 - CONCLUSÃO
A ferramenta de busca Apache Solr se mostra satisfatoriamente rápida para busca/análise de texto devido à sua estrutura de indexação. Sua documentação é abrangente e sua estrutura consistente. Grandes companhias AT&T, Amazon e Netflix a utilizam para diversas soluções de larga escala, porém - até onde foi analisado, não haveria muito ganho na utilização desta ferramenta no Alpha.
9 - REFERÊNCIAS