Integrações Delphi/React
Daniel Jácome Xavier / França
#ChamaNoTeams
Por quê?
Por que existe esta necessidade?
Quando migramos, ou criamos, uma funcionalidade nem sempre é possível desenvolver tudo que está ligado a ela com as tecnologias SAJ6 (.Net / ReactJS)
Motivos comuns:
- Regras obscuras ou mal definidas
- Complexidade do banco de dados
- Rotinas envolvidas
- Relatórios afetados
Na teoria:
Por que existe esta necessidade?
Porque os times Delphi estão lutando contra os bugs/evoluções e não conseguem nos apoiar tanto em demandas como esta
Na prática:
Porque o prazo é apertado e não é possível desenvolver tudo como gostaríamos
Porque criando soluções novas, diminuimos o esforço de manutenção
Como?
Como resolver isto?
Criando uma solução que mescla coisas dos sistemas legados (PG5 / SG5) com as novas tecnologias web
Na teoria:
DB
Server
Client
React
Como resolver isto?
Criando uma solução que mescla coisas dos sistemas legados (PG5 / SG5) com as novas tecnologias web e mais algumas coisas
Na prática:
DB
React
Server
Client
.Net
RabbitMQ
O quê?
O que fizemos?
Cadastro de Cessão:



Veja o código: [Precatórios] Front End React
O que fizemos?
Abertura da tela através do PG5:

O que fizemos?
Autenticação:

- React: Trata o token recebido como parâmetro a URL
- .Net: Verifica se o token é valido e retorna as informações
- React: Armazena as informações e libera as telas
O que fizemos?
CRUD:



Padrão REST (React / .Net)
O que fizemos?
A tela de Cadastro de Cessão precisa dos valores de um cálculo do PG5, que foi exposto em uma fila do RabbitMQ e tratado por um endpoint .Net
O cálculo é síncrono, porém pode demorar alguns minutos!
Como tratar isto na tela React?
O que fizemos?
A cereja do bolo

Quando o cálculo demora para retornar, a tela é bloqueado e o usuário tem que aguardar o resultado!
Considerações finais
- Entenda o cenário como um todo antes de pensar na tela, que é só o fim da história
- Pense no que é melhor pro usuário e negocie
- Não mude de tecnologia, crie um sistema melhor em todos os sentidos (performance, usabilidade e etc)
- Não tenham preconceito com o Delphi, estamos aqui por causa deste legado!
Perguntas?
Obrigado!

Integrações Delphi/React
By Softplan Planejamento e Sistemas
Integrações Delphi/React
- 113