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:

O que fizemos?

Abertura da tela através do PG5:

O que fizemos?

Autenticação:

  1. React: Trata o token recebido como parâmetro a URL
  2. .Net: Verifica se o token é valido e retorna as informações
  3. 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