Información general de Dataverse y Common Data Model
Dataverse le permite almacenar y administrar de forma segura los datos que utilizan las aplicaciones empresariales. Dataverse almacena los datos empresariales en un conjunto de tablas (anteriormente denominadas entidades). Una tabla es un conjunto de filas (anteriormente denominadas registros) y columnas (anteriormente denominadas campos o atributos). Cada columna de la tabla almacena un determinado tipo de datos, por ejemplo, nombre, edad, salario, etc. Dataverse incluye un conjunto básico de tablas estándar que abarca una variedad de escenarios frecuentes, aunque también puede crear tablas personalizadas específicas de su organización y luego introducir datos en ellas mediante Power Query. Posteriormente, los creadores de aplicaciones usan Power Apps para crear aplicaciones de usuarios finales que empleen estos datos.
Ventajas de Dataverse
Dataverse hereda muchas funciones de almacenamiento de datos de Azure, incluidos Azure SQL, Cosmos DB y Azure Storage. Dataverse extrae las tecnologías subyacentes para ofrecer un conjunto unificado de características que le permiten crear definiciones orientadas al negocio de los datos y los procesos empresariales de su organización dentro de varias aplicaciones. Gracias a que los datos y metadatos se almacenan en la nube, las aplicaciones son fáciles de gestionar y administrar. Además, un modelo de seguridad incorporado le permite controlar el acceso a las tablas y la funcionalidad basadas en roles del usuario dentro de su organización.
Microsoft ya ha creado varias aplicaciones propias en Dataverse, como Dynamics 365 for Sales, Service, Field Service y Customer Insights - Journeys. Al crear todas las aplicaciones sobre la misma plataforma de Dataverse, puede ampliar otras aplicaciones o interactuar con sus datos dentro de Dataverse.
Trabajar con cualquier tipo de datos
Dataverse está diseñado para trabajar con los tipos de datos más habituales e incorpora todas las categorías principales de tecnologías de datos que su organización necesita: relacional, no relacional, archivo, imagen, búsqueda y lago de datos. Por lo general, esto exigiría que los desarrolladores trabajen con varias API de diferentes motores de datos. Dataverse ofrece una API unificada frente a todos los datos que garantiza la ejecución coherente de cualquier lógica empresarial personalizada que amplíe el comportamiento predeterminado.
Dataverse incluye un conjunto de diseñadores visuales para crear, editar e interactuar con los datos y los modelos de datos. Los diseñadores facilitan la definición rápida de tablas, relaciones, reglas de negocio, formularios, vistas y flujos de trabajo que representan su negocio. Los desarrolladores también pueden usar la API para interactuar mediante programación con los metadatos de la plataforma, como la creación de tablas y columnas.
Dataverse también admite tablas virtuales. Las tablas virtuales asignan datos en un origen de datos externo para que parezca existir en Dataverse. Las tablas virtuales permiten que Dataverse ejecute operaciones de datos en tiempo real en el origen de datos externo. Los desarrolladores pueden crear proveedores de datos con código para facilitar la conexión a orígenes de datos externos. Más información: Crear y editar tablas virtuales que contengan datos de un origen de datos externo.
Trabajar con cualquier tipo de aplicación
Cuando una organización desea crear una nueva aplicación, puede obtener otras ganancias de productividad mediante el uso de Dataverse con Power Apps. Power Apps comprende los metadatos enriquecidos que se incluyen en Dataverse y los usa de varias formas para ayudarle a crear rápidamente aplicaciones atractivas que sean seguras y escalables, y que estén disponibles en equipos de escritorio, web, dispositivos móviles y Microsoft Teams.
Para desarrolladores que deseen integrar datos de Dataverse en aplicaciones existentes o escribir nuevas aplicaciones con código personalizado, Dataverse proporciona una API basada en REST para facilitar la integración. Esta API de REST proporciona una cobertura completa de las capacidades de Dataverse, de modo que brinda un modelo de extensibilidad sin restricciones para crear experiencias totalmente personalizadas.
Modelo de seguridad integrado
Como desarrollador que se dedica a crear aplicaciones, está acostumbrado a tener que diseñar y crear su propio modelo de seguridad para las aplicaciones. Dataverse incluye un conjunto de creaciones predefinidas para permitir la configuración de un modelo de seguridad de la aplicación. Dataverse emplea la seguridad basada en roles para reunir una colección de privilegios que cubren tanto el acceso a los datos con granularidad en el nivel de fila como las funciones empresariales que pueden abarcar varias tablas. Estos roles de seguridad pueden asociarse directamente con usuarios o con equipos y unidades de negocio de Dataverse.
Dado que el control de acceso en el nivel de fila puede no ser suficiente en algunos escenarios empresariales, Dataverse tiene una características de seguridad en el nivel de columna que permite un control más detallado de la seguridad en el nivel de columna.
Dataverse también incluye dos creaciones de seguridad que se pueden usar para las jerarquías: la jerarquía del gerente y la jerarquía del puesto. Con la jerarquía del gerente, un gerente debe encontrarse dentro de la misma unidad de negocio que el empleado directo, o en la unidad de negocio primaria de la unidad de negocio del empleado directo, para tener acceso a los datos de dicho empleado. La jerarquía del puesto permite el acceso a los datos en todas las unidades de negocio. Estos pueden resultar de utilidad para crear modelos de seguridad más complejos.
Los desarrolladores también pueden automatizar las tareas de seguridad mediante la API.
Cuándo escribir código
Como desarrollador de Power Platform, debe comprender las brechas que existen entre lo que se puede lograr a través de la configuración en comparación con el código. A veces, es posible que las características existentes no ofrezcan la funcionalidad necesaria para cumplir un requisito determinado, y Dataverse proporciona diversos puntos de extensión para que los desarrolladores puedan ampliar la funcionalidad común mediante el uso de código.
Con el fin de identificar las carencias para las que no existen todavía características, es preciso que todos los desarrolladores de Power Platform se familiaricen con las funciones de Dataverse. Si no está familiarizado con la creación de aplicaciones con Power Apps que usan Dataverse, le recomendamos que complete la ruta de aprendizaje Crear una aplicación basada en modelos en Power Apps y el recorrido Crear una aplicación de lienzo desde cero usando Microsoft Dataverse en la documentación del creador de Power Apps.
Tipos de extensibilidad
Por lo general, cualquier actividad de personalización basada en código se denomina "extender" (o ampliar) una aplicación. Por lo tanto, si observa términos como extensibilidad, generalmente hace referencia al código en términos de desarrollo de Power Apps. Dentro del modelo de extensibilidad, las actividades se agrupan en dos conjuntos más generales: ampliar la experiencia del usuario y ampliar la plataforma o el propio Dataverse.
Ampliar la experiencia de usuario de Power Apps
Para ampliar la experiencia de usuario de una aplicación Power Apps, puede usar Power Apps Component Framework (PCF) con el fin de crear componentes de código que se puedan usar en todos los tipos de Power Apps. Las Power Apps basadas en modelos también exponen una API de cliente de JavaScript que le permite interactuar con páginas de aplicaciones para implementar lógica de negocios en los formularios de solicitud.
Aunque las aplicaciones de lienzo no ofrecen capacidades de scripting, su lógica se crea con Microsoft Power Fx. Power Fx es el lenguaje con poco código que se usa en Microsoft Power Platform. Se trata de un lenguaje de programación funcional, declarativo, de tipo fuerte y de uso general. Los desarrolladores de plataformas expertos utilizan este lenguaje con facilidad, pueden editarlo en los archivos de origen si es necesario y depurar las aplicaciones con herramientas como Monitor. Para obtener más información, consulte Información general de Power Apps con Monitor.
TypeScript es un lenguaje recomendado para usar en muchos escenarios de scripting. Dado que TypeScript se transpila en JavaScript, ambos lenguajes se generalizan con el término "script de cliente". Con el script del cliente, puede configurar controladores de eventos de formulario de la misma manera que lo haría con un elemento de formulario HTML. También puede llamar a funciones de script desde una barra de comandos (cinta de opciones) y puede consumir recursos web de script del cliente desde recursos web HTML.
Los recursos web HTML son el predecesor de los componentes de código PCF y también se usan para mostrar la lógica de presentación personalizada dentro de un formulario en aplicaciones basadas en modelos cuando existen requisitos más avanzados que no se pueden lograr mediante el uso de los formularios estándar ya preestablecidos. Es posible que se los encuentre cuando trabaje con aplicaciones creadas antes de que los componentes de código de PCF estén disponibles.
Ampliar Dataverse
Será necesario ampliar Dataverse como plataforma siempre que se necesite cierto nivel de automatización o comportamiento que no admitan las características existentes. Estos tipos de puntos de extensibilidad se ejecutan como código orientado al servidor a través de una creación llamada complemento. Power Automate y otras opciones permiten la automatización y la lógica asincrónicas, pero no ofrecen toda la funcionalidad de los complementos en términos de comportamiento sincrónico. Cuando existen requisitos para operaciones sincrónicas dentro de una aplicación, todavía se requieren complementos. El procesamiento sincrónico por complementos permite que cualquier modificación de Dataverse se trate como una única unidad de trabajo en una transacción.
Los desarrolladores también pueden usar la capacidad de API personalizada para crear sus propias API en Dataverse. Puede consolidar una o más operaciones en una API personalizada a la que se puede llamar desde el código o desde las aplicaciones de lienzo de Power Apps o Power Automate.
El desarrollo de complementos es una capacidad esencial y una tarea habitual que realizan los desarrolladores de Power Platform.
Soluciones de Dataverse
Uno de los conceptos fundamentales a la hora de desarrollar y ampliar Dataverse es la creación de soluciones. Las soluciones de Dataverse son contenedores para las aplicaciones y otros componentes, como mapas del sitio, tablas, procesos, recursos web, opciones, flujos, etc. Las soluciones se utilizan para transportar aplicaciones y componentes de un entorno a otro o bien, para definir un conjunto de personalizaciones en las aplicaciones existentes. Las soluciones también son la forma en que se instalan en su entorno las aplicaciones propias de Microsoft y las aplicaciones de fabricantes de software independientes.
Las soluciones son el mecanismo para implementar la administración del ciclo de vida de las aplicaciones (ALM) en Power Platform. Para obtener información detallada sobre los conceptos de la solución, consulte Soluciones en Power Apps en la documentación de Dataverse. Power Platform Build Tools se pueden usar con Azure DevOps o GitHub para automatizar las operaciones de ALM de Power Platform. Para obtener más información sobre cómo se usan las soluciones para la administración del ciclo de vida de las aplicaciones, consulte Información general de ALM con Microsoft Power Platform en la guía de ALM de Microsoft Power Platform.
Información general de Common Data Model
Microsoft ha publicado un Common Data Model compuesto por una colección extensible de esquemas que representan conceptos empresariales comunes. Mediante el uso de un esquema común en todas las aplicaciones empresariales, como Contactos, Clientes potenciales, Cuentas o Productos, la interoperabilidad de datos se simplifica enormemente.
La siguiente infografía representa efectivamente el estado actual proporcionado de los esquemas básicos del Common Data Model. El Common Data Model es un ecosistema en evolución, y muchos otros surgirán a medida que pase el tiempo.
Usar el Common Data Model
Common Data Model está influenciado por los esquemas de datos que están presentes en Dynamics 365 y cubren una variedad de áreas empresariales. Si es cliente o partner que utiliza Dynamics 365, ya está utilizando Common Data Model. Dataverse implementa las entidades estándar de Common Data model, como Cuenta y Contacto. Algunas entidades estándar de Common Data Model están integradas en cada base de datos de Dataverse. Otras entidades estándar se instalan como parte de una solución, incluidas aplicaciones propias (como Dynamics 365 Field Service) o aceleradores de soluciones del sector (como Dynamics 365 Automotive Accelerator).
El Common Data Model se mantiene en GitHub. Los esquemas se mantienen como archivos JSON. Se puede encontrar una referencia de entidad completa en Descripción general de ApplicationCommon. Microsoft también proporciona un Visual Entity Navigator que permite a los usuarios navegar visualmente por las entidades del Common Data Model.
A la hora de crear con el Common Data Model, debe comprender el enfoque de capas adoptado para crear el esquema de su aplicación personalizada. En la base de una aplicación de Common Data Model reside un esquema central que contiene entidades de uso común como Cuenta y Contacto. A partir de ahí, puede aplicar capas a modelos específicos del sector para acelerar aún más el desarrollo de su propia aplicación personalizada, después de lo cual puede crear sus propios modelos.