DataService – LightREST
O componente LightREST oferece, além da possibilidade de implantar Web Services em REST, um sistema de mais alto nível chamado DataService.
Frequentemente, é necessário publicar várias tabelas de um banco de dados em rotas diferentes. Pode então se tornar trabalhoso declarar cada rota e desenvolver procedimentos REST muito semelhantes, com a única diferença de que não distribuem dados da mesma tabela do banco de dados.
O DataService (que é uma "camada adicional" do LightREST) permite ativar, sem nenhum desenvolvimento de procedimento REST, rotas "conectadas" a tabelas ou consultas e distribuí-las através de um Web Service REST, no formato JSON. Naturalmente, um controle completo sobre os dados distribuídos, os destinatários e os métodos REST autorizados está incluído. Como o DataService utiliza o LightREST, todas as características e vantagens deste são mantidas.
Segurança de Dados
Como indicado na documentação do LightREST, as boas práticas de segurança proíbem a divulgação aberta de identificadores do banco de dados a terceiros externos. O DataService oferece, portanto, criptografia/descriptografia automática dos IDs automáticos numéricos, o que permite proteger os dados sem nenhuma intervenção do desenvolvedor. Os IDs do tipo inteiro são substituídos por UUIDs quando enviamos dados por um Web Service. Se um UUID é recebido como parâmetro de uma requisição, o DataService o descriptografa automaticamente e permite acessar o registro correspondente.
Callbacks e Hooks
Controle Completo com Callbacks
Para manter um controle completo sobre a execução dos processos do DataService, o desenvolvedor pode declarar procedimentos que serão executados automaticamente antes e depois de cada chamada. Esses procedimentos podem, por exemplo:
- Controlar o direito de acesso a um dado
- Verificar a coerência de um registro antes da inserção ou modificação
- Recusar a atualização de um dado
- Forçar valores padrão
- Completar, apagar ou modificar dados antes do envio do resultado
- E muito mais...
Fontes de Dados Suportadas
Com o DataService, o desenvolvedor pode publicar sem esforço dados provenientes de diferentes fontes:
Tabela de Banco de Dados
Tabela de banco de dados (ou arquivo no HyperfileSQL)
Objeto: dsTable
Consulta WinDev
Consulta WinDev (.wdr)
Objeto: dsRequeteWD
Consulta SQL
Consulta SQL em formato texto
Objeto: dsRequeteTXT
Recursos Adicionais
Paginação
O DataService gerencia opcionalmente a paginação na distribuição dos dados, para que o solicitante possa, por exemplo, exibir dados volumosos de forma otimizada.
Distribuição de Imagens
O DataService também sabe distribuir automaticamente em REST as imagens memos armazenadas em um banco de dados HyperfileSQL, com possibilidade de redimensionamento em tempo real.