ORDA – Do Principiante ao Perito

ORDA, que significa Object Relational Data Access, é um método de acesso a dados que combina as vantagens da programação orientada a objetos com as das bases de dados relacionais, permitindo aos programadores concentrarem-se na resolução de problemas empresariais em vez de gerirem o acesso a dados.

Quer seja novo na ORDA ou já esteja familiarizado com ela e deseje expandir os seus conhecimentos, considere este blogue como um roteiro para o guiar através do processo de aprendizagem.

Este post no blogue inclui o seguinte:

Então vamos ao que interessa!

Porque é que eu deveria preocupar-me com ORDA?

Antes de passar aos detalhes técnicos, vamos enumerar alguns dos benefícios da ORDA:

Tudo é um Objecto

ORDA é um mundo onde tudo é um objeto, incluindo o banco de dados.

Esta abordagem permite acessar todo o banco de dados 4D utilizando uma abordagem orientada para o objeto, o que facilita o trabalho com os dados e pode ajudar a reduzir a complexidade do código. ORDA mapeia os dados para conceitos do mundo real, para que a utilização dos dados se torne simples e elimine a necessidade de uma compreensão profunda da estrutura relacional.

Código orientado para os negócios com classes

A ORDA vem com aulas dedicadas ao modelo de dados. Graças às classes, a complexidade da implementação física dos dados pode ser escondida, e a aplicação pode facilmente expor serviços, ser mais manejável, mais fácil de manter, e integrar-se perfeitamente com outras aplicações.

Desempenho Out-of-the-box

A ORDA pode ajudar a melhorar o desempenho das aplicações fornecendo várias técnicas de otimização, tais como contextos e carga diferida (lazy loading). Estas técnicas podem ajudar a reduzir o número de consultas a bases de dados que precisam de ser executadas, levando a tempos de resposta mais rápidos das aplicações. A melhor parte? É tudo automático; ao contrário do SQL ou de uma ferramenta ORM, não é necessária qualquer programação.

Aumento da Escalabilidade

A ORDA pode ajudar a tornar as aplicações mais escaláveis, suportando arquiteturas de bases de dados distribuídas. Isto significa que os dados podem ser espalhados por múltiplos servidores de bases de dados, o que pode ajudar a melhorar o desempenho e a lidar com quantidades mais significativas de dados.

Aberto e extensível

ORDA permite a criação de uma integração perfeita entre diferentes sistemas. Pode ser combinado com o servidor REST para expor a lógica empresarial com uma API controlada (através das suas classes) para outras ferramentas, tais como frameworks web como Angular ou React.

Depois de aprender alguns dos benefícios da ORDA e como esta tecnologia pode afetar positivamente a sua aplicação, vamos mergulhar nos detalhes técnicos.

Visão global de ORDA

Este esquema mostra uma visão global de toda a utilização da ORDA:

  • ORDA fornece APIs para trabalhar com os seus dados e uma camada de abstração robusta que será exposta como APIs de negócios.
  • Um sistema completo de permissões está disponível para filtrar o acesso aos seus dados.
  • Com ORDA, pode trabalhar com o Servidor REST usando armazéns de dados remotos ou as APIs REST.
  • Pode usar ORDA se trabalhar em modo Cliente-Servidor.
  • O código ORDA também pode ser usado numa aplicação web (4DACTION, etiquetas 4D).

Este diagrama deve dar-lhe uma visão geral de como ORDA se liga a diferentes partes 4D. Quando a ideia estiver clara, siga os passos abaixo para iniciar a sua viagem de aprendizagem.

Que comece o percurso de aprendizagem!

passo 1 – Conceitos principais

Os principais conceitos da ORDA podem ser descobertos aqui.

Primeiro, familiarizar-se com os termos datastore, dataclass, entidade, e seleção de entidades. Compreenda o significado desses conceitos, como os verá frequentemente ao trabalhar com a ORDA.

passo 2 – ORDA APIs

Em segundo lugar, olhar para as APIs ORDA orientadas para objetos e descobrir como pode tratar os seus dados com essas APIs.

Por exemplo, a API mais frequentemente utilizada é a consulta() para executar uma consulta na sua base de dados.

Para o ajudar a descobrir cada API, aqui está uma lista de posts de blogs com aplicações de demonstração com as quais pode jogar.

  1. Consulta da sua base de dados com uma abordagem orientada para objetos
  2. Ir e vir entre as seleções atuais para a ORDA
  3. Ações do CRUD
  4. Operações lógicas
  5. Manejar entidades
  6. Trabalho com objetos e coleções
  7. Estatísticas computorizadas
  8. Encomendar por fórmula
  9. Consulta com fórmulas
  10. Titulares de lugares nomeados para os caminhos de atributo
  11. Titulares de lugares nomeados
  12. Seleção da entidade: métodos extract() e refresh()
  13. Métodos dos membros para obter informações estruturais
  14. Comparar duas seleções de entidades
  15. Mecanismos de bloqueio ótimos
  16. Entidades de bloqueio
  17. Escrever código genérico
  18. Exemplo de código genérico
  19. Folha de fraude ORDA

descobrir o poder das relações com a orda

Como dissemos anteriormente, ORDA é um método de acesso a dados que combina a programação orientada para objetos com as vantagens das bases de dados relacionais.

Se quiser ir mais longe e descobrir todas as vantagens que pode retirar das relações usando ORDA, aqui está uma série de demonstrações onde aprenderá a guardar muitas linhas de código e a construir uma interface de fácil utilização.

    1. Episódio 1
    2. Episódio 2
    3. Episódio 3
    4. Episódio 4

Ligá-lo com o código 4D clássico

Se ainda usar o clássico código 4D (que todos nós conhecemos e adoramos), pode misturá-lo com o código ORDA, se necessário.

Isto é útil para introduzir progressivamente os conceitos ORDA na sua aplicação.

Consulte este post do blogue para mais detalhes.

Passo 3 – Camada de abstração ORDA.

Para ir mais longe com a ORDA, aproveite a camada de abstração.

Nesta camada, implementará toda a sua lógica de negócio através das classes do Modelo de Dados ORDA.

As classes de manipulação vão um passo além na programação orientada a objetos. Cada classe pode levar a lógica de negócio em funções.

Descubra o benefício de atributos computadorizados e pseudônimos. É fácil configurar um atributo computorizado definindo a sua fórmula de cálculo e toda a sua lógica de negócio. Ou defina um alias/apelido como qualquer outro atributo no seu modelo de dados.

Portanto, os programadores irão consumir esta camada de abstração em vez de lidarem com a camada de implementação física.

  1. Bem-vindo ao mundo das classes ORDA
  2. Classes ORDA para tratar o seu modelo de dados
  3. ORDA Classes de modelos de dados e REST
  4. DICAS com classes de modelos de dados ORDA
  5. Um espetáculo de magia com atributos computorizados
  6. Dizer olá a pseudónimos

 

passo 4 – Trabalhar à distância

Agora é a hora da parte divertida 🙂

cliente-servidor

Pode utilizar a ORDA em modo cliente-servidor. Use o comando ds para obter o objeto datastore e começar a trabalhar com os seus dados.

Aqui estão mais detalhes sobre características específicas para trabalhar em C/S.

  1. A palavra-chave local
  2. Atualizar a seleção de entidades

datastore remoto

Se trabalhar no Client Server, está limitado à base de dados atual, o que requer uma ligação permanente à rede.

Graças ao datastore remoto, uma aplicação pode obter dados de outra base de dados 4D remota exposta num servidor 4D!

Muitos casos de utilização são cobertos por esta funcionalidade:

  • organize as suas aplicações para trabalhar offline e só sincronize os dados locais quando os dados remotos forem acessíveis
  • publicar os seus dados em múltiplos servidores e mudar de um para o outro conforme necessário
  • Divida o seu modelo de dados por diferentes bases de dados (por exemplo, dados locais, dados internacionais). Depois pode ter os seus dados distribuídos em diferentes locais e ainda acessíveis através de um único código de cliente 4D (métodos de projeto e objetos de formulário).

 

Leia esses posts no blogue para saber mais:

  1. Múltiplas fontes de dados 4D, interessado?
  2. Datastores remotos, um caso de uso prático

REST APIs

As APIs do servidor REST confiam nos conceitos ORDA.

Aqui estão alguns posts valiosos no blog para aprender a utilizar as APIs REST.

    1. 4D Servidor de descanso e carteiro
    2. 4D Servidor de descanso e ReactJs
    3. ORDA Classes de modelos de dados e REST
    4. A palavra-chave exposta

passo 5 – solicita otimização

Quando se trabalha remotamente com ORDA, os pedidos de atenção são automaticamente otimizados para pedir ao servidor apenas os atributos necessários. Além disso, pode também personalizar as suas próprias regras de optimização para melhorar o desempenho.

Para saber mais sobre o passo a passo, aqui está uma lista de posts em blogs.

  1. Use ORDA para melhorar o desempenho
  2. Controlo total sobre os pedidos de REST
  3. Solicita otimização e uma demonstração
  4. Pedidos de registo

 

E aqui está uma demonstração vídeo ao vivo que foi feita durante a Cimeira 2020

passo 6 – Sistema de permissões para filtrar o acesso aos dados

O acesso com filtro aos dados é uma característica obrigatória para evitar o acesso malicioso à sua aplicação.

Desde a v19R8, beneficia de um sistema poderoso e totalmente personalizável para proteger os seus dados contra utilizadores não autorizados. É um sistema para proteger os seus dados, dependendo de quem está acessando os mesmos e quais os dados a que tem acesso.

Abrange todos os processos da web, tais como pedidos REST, pedidos recebidos numa datastore remota, e processos da web como 4DACTION ou etiquetas 4D.

Leia este post do blog para saber mais.

Passo 7 – partilha de dados entre processos

Poderá ter trabalhado com objetos partilhados e coleções partilhadas. Também pode partilhar seleções de entidades entre vários processos, aumentando o desempenho.

Leia esses posts no blogue para saber mais:

  1. Partilhar a seleção de uma entidade entre processos
  2. Mover-se para seleções de entidades partilháveis sem percalços

aplicação web

Também se pode utilizar isto quando se trabalhar com sessões web escaláveis. Podem tratar de vários processos em modo preemptivo. Isto significa que as sessões escaláveis da web podem levar vários pedidos de agentes do utilizador ao mesmo tempo.

Estas novas sessões escaláveis da web podem partilhar dados entre estes processos, mesmo seleções de entidades.

Estes posts no blogue ajudá-lo-ão se trabalhar com seleções de entidades em processos web.

    1. Sessões web escalonáveis para aplicações web avançadas
    2. A partilha leva ao desempenho
    3. ORDA looping fácil com etiqueta 4D

Para concluir

Lembre-se, ORDA é uma ferramenta poderosa que pode tornar o seu processo de desenvolvimento e acesso aos dados mais rápido e mais eficiente.

Esperamos que este post no blog o tenha ajudado. Não hesite em fazer perguntas no fórum.

Teremos todo o prazer em ajudá-lo com a ORDA!

Avatar
• Proprietário do produto - Marie-Sophie Landrieu -Yvert entrou ao time 4D Product como Proprietária do Produto em 2017. Como tal, está a cargo de escrever as histórias dos usuários e depois traduzi-las em especificações funcionais. Seu papel também é garantir que a implementação da funcionalidade entregue cumpra com as necessidades do cliente. Marie-sophie se formou na Escola de Engenharia de ESIGELEC e começou sua carreira como engenheira da IBM em 1995. Participou em vários projetos (de manutenção e criação) e trabalhou como desenvolvedora de Cobol. Depois trabalhou como designer de UML e desenvolvedora de Java. Suas principais funções foram analisar e redigir requisitos funcionais, coordenar os times de negócio e de desenvolvimento.