Skip to content
mobius1qwe edited this page Oct 7, 2026 · 1 revision

Home > O que é o PascalRAL

O que é o PascalRAL

Nível: iniciante · não precisa saber Pascal

Em uma frase: um conjunto de componentes para Delphi e Lazarus que faz um programa responder pedidos pela rede (servidor) ou fazer pedidos a outro programa (cliente), no formato que a web usa: HTTP e REST.

Para que serve

  • Um sistema de balcão que consulta o estoque guardado num servidor.
  • Um aplicativo de celular que envia pedidos para a empresa.
  • Um site ou outro sistema (em qualquer linguagem) que lê dados do seu programa.
  • Um programa que chama a API de outro serviço (pagamento, nota fiscal, CEP...).

Em todos, um lado pergunta (cliente) e o outro responde (servidor). O RAL faz os dois lados.

Como as peças se encaixam

 Cliente (TRALClient)                        Servidor (TRALServer)
 ┌──────────────────┐   GET /clientes/7   ┌─────────────────────────────────┐
 │ seu programa     │ ──────────────────▶ │ motor (Indy, mORMot2, ...)      │
 │ + motor          │                     │   ↓                             │
 │                  │ ◀────────────────── │ plugins (segurança, CORS, ...)  │
 └──────────────────┘   200 {"nome":...}  │   ↓                             │
                                          │ rotas e módulos → seu código    │
                                          └─────────────────────────────────┘
  1. O cliente monta o pedido e o motor dele envia pela rede.
  2. O motor do servidor recebe e entrega ao RAL.
  3. Os plugins checam o pedido (senha, IP, tamanho...). Se algo estiver errado, respondem com erro e param ali.
  4. A rota certa chama o seu código, que preenche a resposta.
  5. A resposta volta pelo mesmo caminho.

Glossário

Termo O que é
IDE o programa onde você escreve e compila: Delphi ou Lazarus
Componente uma peça pronta que você arrasta para o formulário ou cria no código (TRALServer, TRALClient...)
Pacote (.bpl/.dpk no Delphi, .lpk no Lazarus) um conjunto de componentes que se instala na IDE
Library path a lista de pastas onde a IDE procura os fontes; o RAL precisa estar nela
Unit um arquivo de código Pascal (.pas); uses diz quais units o seu código usa
HTTP a "língua" da web: pedidos com um método, um endereço e, às vezes, um corpo
Método (ou verbo) o tipo de pedido: GET (ler), POST (criar), PUT/PATCH (alterar), DELETE (apagar)
Rota o endereço que o servidor atende, como /clientes, ligado ao código que responde
Status o número da resposta: 200 ok, 401 sem login, 403 proibido, 404 não existe, 500 erro no servidor
JSON o formato de texto mais usado para trocar dados: {"nome": "Ana", "idade": 30}
REST / API um jeito organizado de expor dados por rotas HTTP; "API" é o conjunto dessas rotas
Motor (engine) a biblioteca que de fato conversa com a rede (Indy, mORMot2, Sagui, fpHTTP, NetHTTP...). O seu código não muda quando você troca de motor
Módulo um componente que traz um grupo de rotas pronto: banco de dados (TRALDBModule), site (TRALWebModule), documentação (TRALSwaggerModule)
Plugin 🚧 1.3: um componente que adiciona um recurso ao servidor (compressão, CORS, login...), ver Plugins
DBWare a parte do RAL que leva consultas e tabelas de banco de dados pela rede
Porta o número que identifica o programa servidor na máquina (8000, 443...)
HTTPS / TLS / certificado a versão cifrada do HTTP; o certificado prova quem é o servidor
Thread uma linha de execução; o servidor atende vários pedidos ao mesmo tempo, cada um numa thread

Versões

Versão Situação Branch
1.1 lançada em 19/09/2026 master
1.2 🚧 em desenvolvimento dev
1.3 🚧 em desenvolvimento 1.3-plugin

Tudo o que a wiki marca com 🚧 ainda não saiu numa versão lançada e pode mudar.

Próximo passo

Instalação, depois Primeiro servidor e cliente.

Clone this wiki locally