Visão geral do Dataverse e do Common Data Model
O Dataverse permite armazenar e gerenciar com segurança os dados usados pelos aplicativos de negócios. O Dataverse armazena os dados da aplicativo empresarial em um conjunto de tabelas (anteriormente designados por entidades). Uma tabela é um conjunto de linhas (anteriormente chamadas de registros) e colunas (anteriormente chamadas de campos/atributos). Cada coluna da tabela armazena um determinado tipo de dados, por exemplo, nome, idade, salário etc. O Dataverse inclui um conjunto base de tabelas padrão que cobrem cenários típicos e você também pode criar tabelas personalizadas específicas para sua organização e preenchê-las com dados usando o Power Query. Os criadores de aplicativos podem então usar o Power Apps para criar aplicativos de usuário final que usam esses dados.
Benefícios do Dataverse
O Dataverse baseia-se em vários recursos de armazenamento de dados do Azure, incluindo Azure SQL, Cosmos DB e armazenamento do Azure. O Dataverse abstrai as tecnologias subjacentes para fornecer um conjunto unificado de recursos que permitem que você crie definições focadas nos negócios dos dados e processos de negócios da sua organização em vários aplicativos. Como os dados e os metadados estão armazenados na nuvem, os aplicativos são simples de gerenciar e administrar. Há também um modelo de segurança interno que permite controlar o acesso a tabelas e funcionalidades com base em funções do usuário na sua organização.
A Microsoft criou vários aplicativos próprios no Dataverse, inclusive Dynamics 365 for Sales, Service, Field Service e Customer Insights - Journeys. Criando seus aplicativos na mesma plataforma do Dataverse, você pode estender outros aplicativos ou interagir com os dados no Dataverse.
Trabalhar com qualquer tipo de dados
O Dataverse foi projetado para funcionar com os tipos de dados mais comuns e incorpora todas as principais categorias de tecnologias de dados que sua organização precisa: relacional, não relacional, arquivo, imagem, pesquisa e data lake. Normalmente, isso exige que os desenvolvedores trabalhem com várias APIs de diferentes mecanismos de dados. O Dataverse fornece uma API unificada na frente de todos os dados, garantindo a execução consistente de qualquer lógica de negócios personalizada que estenda o comportamento padrão.
O Dataverse inclui um conjunto de designers visuais para criar, editar e interagir com dados e modelos de dados. Os designers facilitam a definição rápida de tabelas, relacionamentos, regras de negócios, formulários, exibições e fluxos de trabalho que representam sua empresa. Os desenvolvedores também podem usar a API para interagir programaticamente com os metadados da plataforma, como criar tabelas e colunas.
O Dataverse também oferece suporte a tabelas virtuais. As tabelas virtuais mapeiam dados em uma fonte de dados externa para que pareça que existe no Dataverse. As tabelas virtuais permitem que o Dataverse execute operações de dados em tempo real na fonte de dados externa. Os desenvolvedores podem criar provedores de dados usando código para facilitar a conexão com fontes de dados externas. Mais informações: Crie e edite tabelas virtuais contendo dados de uma fonte de dados externa.
Trabalhar com qualquer tipo de aplicativo
Quando uma organização deseja criar um novo aplicativo, ela pode obter outros ganhos de produtividade usando o Dataverse com o Power Apps. O Power Apps entende os metadados avançados incluídos no Dataverse e os usa de várias formas para ajudá-lo a criar rapidamente aplicativos atraentes que são seguros e escalonáveis, e os disponibilizam em desktops, Web, dispositivos móveis e Microsoft Teams.
Para desenvolvedores que desejam integrar dados do Dataverse em aplicativos existentes ou escrever novos aplicativos usando código personalizado, o Dataverse fornece uma API com base em REST para facilitar a integração. Essa API REST oferece cobertura total de recursos do Dataverse, fornecendo um modelo de extensibilidade irrestrito para criar experiências totalmente personalizadas.
Modelo de segurança interno
Como um desenvolvedor que cria um aplicativo, você está acostumado a criar seu próprio modelo de segurança para o aplicativo. O Dataverse inclui um conjunto predefinido de construções para permitir a configuração de um modelo de segurança de aplicativo. O Dataverse usa segurança com base em funções para reunir um conjunto de privilégios que abrangem tanto o acesso a dados com granularidade ao nível da linha como funções empresariais que podem abranger várias tabelas. Esses direitos de acesso podem ser associados diretamente a usuários ou a equipes e unidades de negócios do Dataverse.
Como o controle em nível de linha do acesso pode não ser suficiente em alguns cenários de negócios, o Dataverse tem um recurso de segurança em nível de coluna para permitir um controle mais granular da segurança em nível de coluna.
O Dataverse também inclui duas medidas de segurança que podem ser usadas em hierarquias: a hierarquia de gerentes e a hierarquia de cargos. Com a hierarquia de gerentes, para ter acesso a dados do relatório, um gerente deve estar na mesma unidade de negócios que o relatório, ou na divisão primária da unidade de negócios do relatório. A hierarquia de cargos permite o acesso aos dados em unidades de negócios. Isso pode ser útil na criação de modelos de segurança mais complexos.
Os desenvolvedores também podem automatizar tarefas de segurança usando a API.
Quando escrever código
Como desenvolvedor do Power Platform, você precisa compreender as lacunas que existem entre o que pode ser realizado por meio da configuração versus código. Às vezes, os recursos existentes podem não fornecer a funcionalidade necessária para atender a um requisito e o Dataverse fornece vários pontos de extensão em que os desenvolvedores podem estender a funcionalidade comum usando código.
Para identificar lacunas em que ainda não existem recursos, é essencial que todos os desenvolvedores do Power Platform se familiarizem com os recursos do Dataverse. Se você não estiver familiarizado com a criação de aplicativos com o Power Apps que utilizam o Dataverse, recomendamos que você conclua o roteiro de aprendizagem Criar um aplicativo baseado em modelo no Power Apps e o passo a passo Criar um aplicativo de tela do zero usando o Microsoft Dataverse na documentação do fabricante do Power Apps.
Tipos de extensibilidade
Em geral, qualquer atividade de personalização baseada em código é referenciada como "estender" um aplicativo. Portanto, se observar termos como extensibilidade, isso geralmente significa código em termos de desenvolvimento do Power Apps. No modelo de extensibilidade, as atividades são agrupadas em dois conjuntos mais amplos: estender a experiência do usuário e estender a plataforma ou o próprio Dataverse.
Estender a experiência do usuário do Power Apps
Para ampliar a experiência do usuário de um aplicativo do Power Apps, você pode usar o PCF (Power Apps Component Framework) para criar componentes de código que são usados em todos os tipos de Power Apps. O Power Apps baseado em modelo também expõe uma API de cliente JavaScript que permite interagir com páginas de aplicativo para implementar a lógica comercial nos formulários do aplicativo.
Embora os aplicativos de tela não ofereçam recursos de script, sua lógica é criada usando o Microsoft Power Fx. O Power Fx é a linguagem de pouco código que será usada no Microsoft Power Platform. Ela é uma linguagem de programação de uso geral, fortemente tipada, declarativa e funcional. Desenvolvedores de plataforma proficientes devem se sentir confortáveis ao usar a linguagem, editá-la em arquivos de origem, se necessário, e conseguir depurar os aplicativos com uma ferramenta como o Monitor. Para obter mais informações, consulte Visão geral do Power Apps com Monitor.
TypeScript é uma linguagem recomendada para uso em vários cenários de script. Como o TypeScript é transcompilado para JavaScript, ambas as linguagens são generalizadas no termo "script de cliente". Com o script de cliente, você pode configurar manipuladores de eventos de formulário da mesma forma que faria com um elemento de formulário HTML. Você também pode chamar funções de script por meio de uma barra de comandos (faixa) e pode consumir recursos da Web de script de cliente por recursos HTML da Web.
Os recursos da Web em HTML são o antecessor de componentes de código de PCF e também são usados para exibir a lógica de apresentação personalizada em um formulário em aplicativos baseados em modelo quando existem requisitos mais avançados que não podem ser alcançados usando os formulários padrão prontos para uso. Você poderá encontrá-los ao trabalhar com aplicativos criados antes da disponibilização de componentes de código de PCF.
Estender o Dataverse
É preciso estender a plataforma do Dataverse sempre que é necessário um certo nível de automação ou comportamento sem suporte dos recursos existentes. Esses tipos de pontos de extensibilidade operam como código do servidor por meio de uma medida chamada um plug-in. O Power Automate e outras opções permitem a automação e a lógica assíncronas, mas não conseguiram fazer tudo o que plug-ins podem fazer em termos de comportamento síncrono. Quando há requisitos para operações síncronas em um aplicativo, os plug-ins ainda são necessários. O processamento síncrono por plug-ins permite que qualquer modificação do Dataverse seja tratada como uma única unidade de trabalho em uma transação.
Os desenvolvedores também podem usar o recurso de API personalizada para criar suas próprias APIs no Dataverse. Você pode consolidar uma ou mais operações em uma API personalizada que pode ser chamada de código, aplicativos de tela do Power Apps ou Power Automate.
O desenvolvimento de plug-ins é uma habilidade essencial e uma tarefa comum que um desenvolvedor do Power Platform executa.
Soluções do Dataverse
Um dos conceitos fundamentais ao desenvolver e estender o Dataverse é a construção de soluções. As soluções do Dataverse são contêineres para aplicativos e outros componentes, como mapas de sites, tabelas, processos, recursos da Web, escolhas, fluxos e muito mais. As soluções são usadas para transportar aplicativos e componentes de um ambiente para outro ou aplicar um conjunto de personalizações a aplicativos existentes. As soluções também são como os aplicativos próprios da Microsoft e aplicativos de fornecedores independentes de software são instalados no seu ambiente.
As soluções são o mecanismo para implementar o ALM (gerenciamento do ciclo de vida do aplicativo) no Power Platform. Para obter informações detalhadas sobre os conceitos da solução, consulte Soluções no Power Apps na documentação do Dataverse. As Power Platform Build Tools podem ser usadas com o Azure DevOps ou o GitHub para automatizar as operações do Power Platform ALM. Para obter mais informações sobre como as soluções são usadas para o gerenciamento do ciclo de vida do aplicativo, consulte Visão geral do ALM com o Microsoft Power Platform no guia ALM do Microsoft Power Platform.
Visão geral do Common Data Model
A Microsoft publicou um Common Data Model composto por uma coleção extensível de esquemas que representam conceitos de negócios comuns. Usando um esquema comum em todos os aplicativos de negócios, como contatos, clientes potenciais, contas ou produtos, a interoperabilidade de dados é bem simplificada.
O infográfico a seguir representa o estado atual fornecido pelos esquemas básicos do Common Data Model. O Common Data Model é um ecossistema em evolução; muitos outros surgirão com o passar do tempo.
Consumir o Common Data Model
O Common Data Model é influenciado por esquemas de dados presentes no Dynamics 365, abrangendo diversas áreas de negócios. Se você é um cliente ou parceiro que usa o Dynamics 365, já está usando o Common Data Model. O Dataverse implementa as entidades padrão do Common Data Model, como Conta e Contato. Algumas entidades padrão no Common Data Model são incorporadas em cada banco de dados do Dataverse. Outras entidades padrão são instaladas como parte de uma solução, inclusive aplicativos próprios (como o Dynamics 365 Field Service) ou aceleradores de soluções do setor (como o Dynamics 365 Automotive Accelerator).
O Common Data Model é mantido no GitHub. Os esquemas são mantidos como arquivos JSON. Uma referência de entidade inteira pode ser encontrada na Visão geral do applicationCommon. A Microsoft também fornece um Visual Entity Navigator que permite que os usuários naveguem visualmente em entidades do Common Data Model.
Ao criar com base no Common Data Model, você precisa entender a abordagem de camadas usada para criar o esquema do aplicativo personalizado. Na base de um aplicativo do Common Data Model, reside um esquema principal que contém entidades comumente usadas como conta e contato. Desse ponto, você pode criar uma função de camada ou modelos específicos do setor para acelerar ainda mais o desenvolvimento de seu próprio aplicativo personalizado. Depois, você poderá criar seus próprios modelos.