Ir para o conteúdo

Subconsulta Vs. Objeto de Negócios

Este artigo discutirá Subconsultas e Objetos de Negócios na Camada de Lógica de Negócios, em App Builder. Primeiro, veremos uma definição de alto nível desses dois objetos e, em seguida, veremos cada objeto em detalhes.

  • Subconsultas são consultas que residem dentro de consultas e são usadas por Objetos de Negócios e outras Regras (por exemplo, CRUD). Subconsultas por si só não são expostas à Camada de IU do Aplicativo.
  • Objetos de Negócios são objetos que são aproveitados para construir a Camada de IU do Aplicativo. Objetos de Negócios podem usar Subconsultas.

Subconsulta

Subconsultas são usadas como intermediárias entre uma tabela e seus Objetos de Negócios, e são consultas que residem dentro de consultas. Regras de Subconsulta são usadas para executar um cálculo ou fazer um ajuste em dados (normalmente numéricos por natureza), apenas para fins de exibição ou para serem repassados e usados por outra Regra. Por padrão, Subconsultas têm todas as configurações de CRUD desabilitadas, e serão executadas mais rapidamente por causa disso. Em geral, você deseja manter um objeto Subconsulta o mais simplificado possível, em termos de sua lógica. Ter uma Subconsulta que seleciona Colunas em excesso pode, às vezes, levar a problemas de desempenho.

Um exemplo de uma Regra de Subconsulta é se quisermos criar um objeto para encontrar o OrderID máximo da tabela Order e adicionar um a ele. Podemos chamar essa Subconsulta de Order (OrderID + 1). Essa Subconsulta pode então ser usada por uma Regra de Inserção CRUD, cuja funcionalidade é copiar um Order e gerar um novo OrderID exclusivo ao fazer isso.

Exemplo de subconsulta para Order (OrderID + 1)

  1. Navegue no seu aplicativo até a página Pedidos
  2. Vá para o App Workbench > + Rule
  3. Atribua o Nome. Por exemplo: Ordem (Ordem + 1)
  4. Defina o Propósito como Subconsulta
  5. Defina a tabela Target como Order
  6. Clique em Salvar
  7. Clique na aba Colunas
  8. Clique em + Coluna e adicione a Expressão Max(OrderID) + 1
  9. Atribua um Alias. Por exemplo: MaxOrderID
  10. Clique no botão Validate e certifique-se de que não há erros

Neste ponto, você tem uma Subconsulta funcionando. Para aproveitar esta Subconsulta de um aplicativo, ela precisaria ser conectada ou usada por outra Regra, como uma Regra de Inserção CRUD.

Objeto de Negócios

Objetos de Negócios são os blocos de construção da Camada de Lógica de Negócios e são usados para construir a Camada de IU do Aplicativo em App Builder. Na maioria das vezes, qualquer coisa apresentada na Application UI Layer vem de um Business Object associado. Business Objects podem ter informações associadas a eles, como Eventos e Alcance. Business Objects também podem se conectar e usar Subconsultas. Dependendo de sua finalidade, Business Objects podem ser objetos muito simples, como objetos Source e List, ou muito complexos, dependendo de sua finalidade.

No exemplo, daremos uma olhada na criação de um Business Object Source simples para uma tabela Order na fonte de dados Northwind. Existem algumas maneiras diferentes de criar objetos Source, a Introdução a App Builder o manual de treinamento discute as diferentes opções disponíveis. Aqui, usaremos o método de atalho disponível na Tabela na Camada de Dados.

Exemplo de objeto de negócios para pedido (fonte)

  1. Navegue em seu aplicativo até a página App Workbench
  2. Clique no ficha Tabelas
  3. Localize a tabela Order
  4. Clique no botão Abrir registro
  5. Clique no botão Publicar na camada comercial

    • Clique em Continuar
    • Se App Builder já criou um Objeto de Negócio de Origem para a tabela, você não verá este botão disponível
  6. Após a criação do objeto de Origem, clique no botão Voltar

  7. O novo objeto Order (Origem) agora aparecerá com as Regras de Negócio
  8. Clique no botão Design no objeto Order (Origem) para revisar o SQL de Negócio subjacente
  9. Clique no botão Validar para executar o objeto e confirmar que não há erros