Tabela Vs. Objeto de Negócios
Este artigo descreverá as diferenças entre uma tabela e um Objeto de Negócios em App Builder, bem como fornecer recomendações de melhores práticas sobre quais usar ao consultar dados da Camada de IU do aplicativo.
Para contexto, App Builder os principais componentes do aplicativo incluem:
- Camada de Dados = onde você cria e define a Fonte de Dados do aplicativo (tabelas e relacionamentos de tabelas) que serve como base de um aplicativo.
- Camada de Negócios = onde você cria e define Regras de Negócios, incluindo Objetos de Negócios, que definem a lógica usada ao acessar a Camada de Dados da Camada de IU.
- Camada de IU = onde você projeta a aparência do aplicativo. Esta camada é o que os Usuários finais veem e interagem por meio de um navegador da web.
Mesa
As tabelas residem em App Builder camada de Dados como parte de uma Fonte de Dados que serve como base de um aplicativo. Tabelas são uma coleção de dados relacionados e são compostas de linhas e colunas. App BuilderAssistente de tabela recurso em App Builder suporta a construção de tabelas manualmente ou por meio de uma planilha do Excel.
Um diagrama de Esquema de Banco de Dados está disponível na Camada de Dados para representar visualmente todas as tabelas para a fonte de dados selecionada, definir relacionamentos entre as tabelas e ajudar a documentar como os dados são armazenados e recuperados.
Objeto de Negócios
Objetos de negócios residem em App Builder business Layer e são usados principalmente para construir a camada de IU do aplicativo. Os Business Objects são um tipo de regra de negócios que permite controlar os dados aos quais um usuário tem acesso. O nível de acesso pode ser controlado no nível de tabela, linha ou coluna.
Os Business Objects geralmente fazem referência a uma tabela, geralmente contêm todas as colunas da tabela e não devem incluir nenhum filtro. Os Business Objects podem ser usados quando você precisa criar uma expressão ou função nos dados subjacentes para apresentá-los na camada de IU do aplicativo.
Tabela Vs. Objeto de Negócios para Consultar a Camada de Dados
Como desenvolvedor, quando você cria a Camada de IU do aplicativo, você associa um painel em uma página a uma Fonte de Painel, que representa os dados e informações subjacentes associados. Uma Fonte de Painel, por sua vez, pode ser uma tabela ou um Objeto de Negócio, e como desenvolvedor do aplicativo, você tem a opção de escolher qual opção usar.
Nos estágios iniciais do desenvolvimento do aplicativo, às vezes pode ser desconhecido se os dados precisarão ser filtrados, restringidos ou modificados pela lógica na Camada de IU. Por esse motivo, usar um Business Object como Panel Source é uma solução mais à prova do futuro.
Os seguintes motivos comerciais são exemplos de por que você escolheria um Objeto Comercial em vez de uma tabela como a Origem do Painel:
- Para fornecer controle de acesso
- Para executar lógica de negócios
- Para simplificar as visualizações dos dados subjacentes (subconjunto de campos)
- Para renderizar visualizações mais complexas de dados subjacentes (unindo-se a outras tabelas e usando Group By)
Para ilustrar esse conceito, o diagrama a seguir mostra um exemplo de uma tabela Employee e duas visualizações diferentes (Non HR Data e HR Data) que você pode fornecer da UI Layer. Essas visualizações são realizadas usando Business Objects.
Poder alavancar tabelas pode ser útil ao construir consultas complicadas na Camada de Negócios, mas não é recomendado como a Fonte do Painel para painéis de aplicativos padrão.
Recursos
- Veja a Folha de dicas de regras de negócios para uma visão geral de todas as Regras de Negócios disponíveis em App Builder