Se você atua no universo do TOTVS Protheus, especialmente a partir da versão 2410, já deve ter percebido uma transformação significativa nas novas telas do sistema, que estão sendo desenvolvidas em PO-UI. Para aproveitar todo o potencial dessas interfaces modernas, é fundamental compreender como funciona a arquitetura REST.
Este artigo, aborda de forma detalhada o que é REST e os princípios que regem essa arquitetura e como ela está sendo aplicada no TOTVS Protheus para otimizar o desenvolvimento ERP.
O que é API? Entendendo a Comunicação entre Sistemas
Antes de aprofundar no REST, é essencial compreender o conceito de API, que vem da sigla em inglês Application Programming Interface, ou Interface de Programação de Aplicações. As APIs são responsáveis por permitir a comunicação entre diferentes componentes de software, podendo ocorrer dentro do mesmo computador ou entre sistemas remotos.
Imagine duas pessoas que falam idiomas diferentes — um brasileiro e outro alemão. Para que eles se comuniquem, é necessário um tradutor que converta as informações entre os idiomas. Da mesma forma, uma API atua como esse tradutor entre programas desenvolvidos de formas distintas, permitindo que eles troquem informações de maneira eficiente.
APIs Locais e Remotas
As APIs podem ser classificadas em dois tipos principais:
- APIs Locais: São utilizadas dentro do mesmo ambiente de execução, sem necessidade de conexão externa. Um exemplo prático no TOTVS Protheus é o DBAccess, que permite que o sistema se comunique diretamente com bancos de dados como SQL Server ou Oracle, facilitando a integração e o armazenamento das informações.
- APIs Remotas: Também conhecidas como Web Services ou Web APIs, essas APIs operam via rede, geralmente pela internet, utilizando protocolos como HTTP e HTTPS para comunicação entre sistemas fisicamente separados. Exemplos comuns incluem as APIs do Facebook, PayPal e Google Maps.
Web Service: Uma API Acessível pela Internet
O termo Web Service refere-se a um tipo específico de API acessível pela internet, cujo principal objetivo é permitir a comunicação padronizada entre sistemas em diferentes plataformas e locais geográficos.
As tecnologias mais comuns para construir Web Services são o REST e o SOAP. Enquanto o REST é uma arquitetura mais simples e leve, o SOAP (Simple Object Access Protocol) é um protocolo mais rígido e estruturado, que utiliza mensagens XML encapsuladas para garantir a troca de informações segura e confiável.
Como Funciona o SOAP?
Uma mensagem SOAP é composta por:
- Envelope: Estrutura raiz que encapsula toda a mensagem.
- Header (Cabeçalho): Opcional, contém informações de controle e segurança.
- Body (Corpo): Contém a carga útil, ou seja, os dados solicitados ou enviados.
- Fault (Falha): Opcional, usado para reportar erros durante o processamento.
Essas mensagens trafegam através de protocolos como HTTP, HTTPS, SMTP, TCP e JMS, garantindo flexibilidade na comunicação entre sistemas.
Exemplos de Uso do SOAP
Apesar de ser um protocolo mais antigo, o SOAP ainda é utilizado em sistemas legados e em grandes plataformas corporativas, como SAP, Oracle, integrações interbancárias, serviços de avaliação de crédito (Serasa) e sistemas governamentais.
REST: A Arquitetura Essencial para o Desenvolvimento Moderno
Agora que você já entende o que são APIs e Web Services, vamos focar no REST, que é a arquitetura predominante para o desenvolvimento de APIs web atualmente.
REST significa Representational State Transfer (Transferência de Estado Representacional) e é um estilo arquitetural que utiliza o protocolo HTTP/HTTPS para comunicação cliente-servidor.
Uma aplicação RESTful segue regras claras e simples, facilitando o desenvolvimento, escalabilidade e manutenção dos sistemas.
Princípios Fundamentais da Arquitetura REST
Para que uma API seja considerada RESTful, ela deve contemplar seis princípios importantes, dos quais alguns são obrigatórios:
- Cliente-Servidor: Separação clara entre a interface do usuário (cliente) e o armazenamento de dados e lógica de negócio (servidor). Isso permite que ambos evoluam independentemente.
- Stateless (Sem Estado): Cada requisição do cliente deve conter todas as informações necessárias para o servidor processar a solicitação. O servidor não armazena estado entre requisições, o que torna o sistema mais escalável.
- Cacheable (Armazenável em Cache): As respostas do servidor podem ser marcadas como cacheáveis ou não, permitindo que o cliente reutilize dados antigos para requisições idênticas, melhorando a performance.
- Interface Uniforme: Padroniza a interação com os recursos do sistema, independentemente da implementação no servidor. Usa comandos HTTP (GET, POST, PUT, DELETE) para manipular recursos.
- Sistema em Camadas: A arquitetura pode ser composta por camadas hierárquicas, onde o cliente interage apenas com a camada imediata, melhorando a segurança e escalabilidade.
- Código sob Demanda (Opcional): Permite que o servidor envie código executável (como JavaScript) para o cliente, ampliando funcionalidades dinamicamente.
Requisições HTTP no REST
O REST utiliza os métodos HTTP para definir as ações sobre os recursos:
- GET: Recupera dados do servidor.
- POST: Cria novos dados no servidor.
- PATCH: Atualiza parcialmente um recurso existente.
- PUT: Atualiza completamente um recurso.
- DELETE: Remove dados do servidor.
Essas operações são simples e seguem o padrão universal de comunicação web, facilitando o desenvolvimento e integração entre sistemas.
Como o REST é Aplicado no TOTVS Protheus
No TOTVS Protheus, especialmente nas versões mais recentes, o desenvolvimento das novas telas em PO-UI se apoia fortemente na arquitetura REST para comunicação entre o frontend e o backend.
O PO-UI atua como o frontend, onde o foco é a criação de interfaces visuais e usadas pelo usuário, enquanto o backend é responsável pelo armazenamento e manipulação dos dados, que são trafegados via APIs REST.
Para salvar ou recuperar informações do banco de dados do Protheus, é necessário construir APIs REST que façam essa ponte de forma eficiente e segura. Isso torna o conhecimento em REST fundamental para desenvolvedores que desejam se destacar no mercado e acompanhar as tendências do sistema ERP da TOTVS.
Conclusão
O REST é uma arquitetura essencial para o desenvolvimento atual no TOTVS Protheus, especialmente a partir da versão 2410, uma vez que a partir dessa versão o uso do REST se torna obrigatório devido ao WEB Smarclient e as novas telas em PO-UI.
Compreender seus princípios, métodos de comunicação e diferenças em relação as APIs e Web Services é fundamental para qualquer profissional que queira se destacar no universo ERP.
Aplicando o REST corretamente, é possível criar uma melhor experiência para os usuários através de interfaces modernas feitas em PO-UI.
Se você está buscando se tornar um desenvolvedor completo no Protheus, dominar REST, PO-UI e as demais tecnologias relacionadas ao Protheus, não fique de fora da nossa turma de alunos, clique aqui para mais detalhes.
Considerações Finais
Esse foi um breve resumo sobre a introdução a arquitetura REST, recomendamos que assista o nosso vídeo completo no início da página pois nele apresentamos uma explicação completa de cada ponto apresentado nesse artigo.
Sobre nós:
A RFB Sistemas é uma consultoria e escola há mais de 15 anos no mercado e já atuamos em diferentes setores e portes de empresas ajudando a implantar a melhor solução para gerenciar os seus negócios, o que possibilita que sua empresa consiga tomar decisões mais rápidas, assertivas e claro otimizando resultados. Além disso já capacitamos mais de 1.600 profissionais a utilizarem as ferramentas, como: TOTVS Protheus e RM, Microsoft Power BI e Excel