Catálogo de datos profesionales: arquitectura

El Catálogo de datos profesionales es un servicio compartido de Microsoft Office SharePoint Server 2007. Guarda información sobre las aplicaciones empresariales que existen fuera de Office SharePoint Server 2007 y permite que las características de datos profesionales y las soluciones personalizadas usen esa información para presentar los datos profesionales en el sitio del portal sin un código adicional.

Componentes del Catálogo de datos profesionales

El Catálogo de datos profesionales contiene una base de datos de metadatos y un modelo de objetos que proporciona una interfaz de programación orientada a objetos simple y coherente, para la lógica empresarial que reside en las diferentes aplicaciones empresariales.

La siguiente ilustración es un diagrama de arquitectura de alto nivel del Catálogo de datos profesionales, que muestra la interacción entre orígenes de datos profesionales, la base de datos de metadatos y las características y soluciones de los datos profesionales.

Arquitectura de alto nivel del Catálogo de datos profesionales

Arquitectura de alto nivel del Catálogo de datos profesionales

Nota

Puede usar el Catálogo de datos profesionales para conectar con cualquier aplicación empresarial back-end a través de servicios web o bases de datos.

En la siguiente ilustración se muestra la arquitectura de bajo nivel del Catálogo de datos profesionales, incluida la interacción entre la base de datos de metadatos y los modelos de objetos de tiempo de ejecución y de administración.

Arquitectura de bajo nivel del Catálogo de datos profesionales

Arquitectura de bajo nivel del Catálogo de datos profesionales

Base de datos de metadatos

El Catálogo de datos profesionales usa los metadatos para describir las API de las aplicaciones empresariales. Una vez registrada la descripción de la API externa en el Catálogo de datos profesionales, proporciona las conexiones de acceso dinámico de datos a los datos back-end sin necesidad de código adicional. Por ejemplo, para mostrar datos de la base de datos AdventureWorks en sus listas de SharePoint y elementos web, puede definir los metadatos de las consultas SQL que se usan para tener acceso a datos desde la base de datos AdventureWorks.

El autor de los metadatos define los metadatos para cada origen de datos mediante la definición de las entidades empresariales con las que interactúan las aplicaciones y los métodos disponibles en las aplicaciones empresariales. En el ejemplo AdventureWorks, es posible que decida definir los metadatos de las siguientes entidades: Customer, SalesOrder y Product. Para cada entidad que desee que esté disponible en el Catálogo de datos profesionales, defina los metadatos de los métodos que se usarán para recuperar los datos de la aplicación back-end.

El modelo de metadatos resume los orígenes físicos subyacentes y proporciona un modelo coherente y sencillo para los autores de metadatos que trabajen con diferentes tipos de aplicaciones empresariales.

El modelo de metadatos simplifica el uso de los metadatos mediante la definición de los metadatos semánticos, tales como las entidades y las relaciones que agregan significado a la API. Una vez que se escriben los metadatos, no es necesario que los programadores que programan las soluciones personalizadas mediante el uso del Catálogo de datos profesionales comprendan la API back-end, sino que pueden usar los modelos de objetos simplificados del Catálogo de datos profesionales. Por ejemplo, el modelo de objetos de tiempo de ejecución proporciona las llamadas, como System.Entity,Entity.FindFiltered y Entity.FindAssociated, las cuales hacen que sea muy intuitivo poder obtener los datos back-end que necesita. Este diseño facilita a los autores de metadatos y a los programadores el trabajo con las aplicaciones de línea de negocio (LOB) que normalmente tienen API complejas.

El Catálogo de datos profesionales almacena los metadatos en la base de datos de metadatos. Dado que Office SharePoint Server 2007 implementa el Catálogo de datos profesionales como un servicio compartido, la base de datos de metadatos es la base de datos SharedServices#DB en una implementación de Office SharePoint Server 2007. La base de datos de servicios compartidos es relacional y es una base de datos estándar de Microsoft SQL Server. La base de datos de servicios compartidos contiene varias tablas específicas para el Catálogo de datos profesionales que almacenan los distintos elementos del modelo de metadatos.

Nota

La base de datos de metadatos no contiene los datos profesionales; sólo contiene los metadatos sobre la aplicación empresarial.

Para obtener más información, consulte Catálogo de datos profesionales: modelo de metadatos.

Modelo de objetos de tiempo de ejecución

El modelo de objetos de tiempo de ejecución está diseñado para que lo usen los clientes y las aplicaciones del Catálogo de datos profesionales. El modelo de objetos de tiempo de ejecución tiene dos funciones principales.

  • Ofrece una interfaz intuitiva y orientada a objetos que resume los orígenes de datos subyacentes. El modelo de objetos de tiempo de ejecución aísla al cliente del aprendizaje de los paradigmas de codificación específicos de cada aplicación, y permite a los clientes obtener acceso a todas las aplicaciones empresariales de una forma única y simplificada. Debido al modelo de objetos de tiempo de ejecución, llamar a un método en una aplicación SAP es muy similar a llamar a un método en Siebel o ejecutar una consulta en SQL.

    Nota

    El Catálogo de datos profesionales no lleva a cabo la ejecución real del método ni se encarga de la instalación back-end. Simplemente delega la llamada del cliente al proveedor de ADO.NET adecuado para las bases de datos y al proxy de los servicios web para los servicios web.

  • Le permite leer los objetos de metadatos de la base de datos de metadatos y ejecutar la lógica empresarial descrita aquí. El modelo de objetos de tiempo de ejecución está almacenado en memoria caché y es rápido; por lo tanto, los clientes sólo necesitan consultar la base de datos de metadatos para que la información de los metadatos use el modelo de objetos de tiempo de ejecución.

El modelo de objetos de tiempo de ejecución está definido en los siguientes espacios de nombres de Microsoft.SharePoint.Portal.dll:

Hay dos objetos clave en el espacio de nombres Runtime. Son los siguientes.

  • IEntityInstance. Desde el punto de vista conceptual, puede considerar una instancia de entidad como una única fila de datos devueltos desde una aplicación empresarial back-end en el Catálogo de datos profesionales. La interfaz IEntityInstance resume los orígenes de datos subyacentes y evita que los clientes tengan que aprender los paradigmas de codificación específicos de la aplicación y les permite tener acceso a todos los datos profesionales de una forma única y sencilla. La interfaz IEntityInstance es la que permite trabajar con una fila de datos de la base de datos exactamente de la misma manera que se trabajaría con una estructura de .NET compleja devuelta por un servicio web.

    Una instancia de entidad en el Catálogo de datos profesionales tiene una semántica especial asociada a ella. Por ejemplo, tiene la capacidad de saber qué campos de la fila representan al identificador para la instancia de entidad y permite llamar a métodos como GetAssociated(), GetIdentifierValues() y Execute() en esa instancia de entidad.

    Instancia de entidad del Catálogo de datos profesionales

  • IEntityInstanceEnumerator. Los enumeradores pueden usarse para leer los datos de la colección, pero no para modificar la colección subyacente. IEntityInstanceEnumerator admite la transmisión por secuencias y es, por lo tanto, muy útil cuando el back-end devuelve grandes cantidades de datos.

    Modelo de objetos de tiempo de ejecución del Catálogo de datos profesionales

Modelo de objetos de administración

El modelo de objetos de administración le permite crear, leer, actualizar y eliminar objetos de metadatos en la base de datos de servicios compartidos. Tiene una latencia relativamente alta y una demora de hasta un minuto antes de que el Catálogo de datos profesionales actualice la memoria caché en todos los servidores cliente web y servidores de aplicaciones en la implementación. Los cambios son inmediatos en el servidor en el que se realiza el cambio.

Los programadores y los usuarios de la interfaz de usuario de administración del Catálogo de datos profesionales usan el modelo de objetos de administración para crear y editar los metadatos.

Nota

El modelo de objetos de tiempo de ejecución le permite leer los objetos de metadatos sólo de la base de datos de metadatos. Como está almacenado en la memoria caché y es rápido, los clientes que sólo necesitan consultar la base de datos de metadatos para obtener información de los metadatos deben usar el modelo de objetos de tiempo de ejecución.

El modelo de objetos de administración se define en el espacio de nombres Microsoft.Office.Server.ApplicationRegistry.Administration en Microsoft.SharePoint.Portal.dll.

Componente de infraestructura

Como se muestra anteriormente en el diagrama de arquitectura de bajo nivel del Catálogo de datos profesionales, el modelo de objetos de tiempo de ejecución depende del componente de la infraestructura del Catálogo de datos profesionales para crear y administrar las conexiones con el origen de datos físicos. El componente de la infraestructura proporciona administración de la conexión en tiempo de ejecución y servicios de seguridad compartidos para los clientes del Catálogo de datos profesionales.

El componente de infraestructura se define en el espacio de nombres Microsoft.Office.Server.ApplicationRegistry.Infrastructure en Microsoft.SharePoint.Portal.dll.

Ejecución de métodos: flujo de control en una solución de datos profesionales

Para comprender de qué manera el Catálogo de datos profesionales y las soluciones personalizadas usan el Catálogo de datos profesionales, tenga en cuenta el siguiente escenario. Supongamos que desea un elemento web de datos profesionales que muestre información de una aplicación SAP. Para ello, el elemento web debe tener información sobre los métodos que invocará y los parámetros que aceptarán los métodos back-end. Para obtener dicha información, el elemento web usa el modelo de objetos de tiempo de ejecución para consultar la base de datos de los metadatos en la que el Catálogo de datos profesionales almacena la información de BAPI. Nuevamente, el elemento web usa el modelo de objetos de tiempo de ejecución para invocar las BAPI y mostrar los datos en la página.

En la siguiente ilustración se muestra el flujo de alto nivel de control que se produce cuando se ejecuta un método.

Flujo de control al ejecutar un método

Flujo de control al ejecutar un método

Almacenamiento en la memoria caché de metadatos

Para proporcionar un mejor rendimiento, el Catálogo de datos profesionales almacena en la memoria caché todos los objetos de metadatos. De este modo, materializa todos los objetos de metadatos de la memoria caché y los proporciona al modelo de objetos de tiempo de ejecución al mismo tiempo, en lugar de realizar acciones de ida y vuelta a la base de datos de metadatos para cada llamada al método. El almacenamiento en la memoria caché de los metadatos proporciona un acceso más rápido a los objetos de metadatos para los clientes que los están llamando.

Nota

Mediante el modelo de objetos, puede activar o desactivar el almacenamiento en la memoria caché en un nivel de objeto de metadatos individual; por lo tanto, los objetos usados raramente no necesitan ser almacenados en la memoria caché.

El Catálogo de datos profesionales almacena en la memoria caché los objetos cuando se cargan por primera vez. Un temporizador que se ejecuta en cada servidor busca los cambios realizados en los objetos de metadatos una vez cada minuto. Si se detecta un cambio en un objeto de metadatos, se borra y se vuelve a cargar la memoria caché. Como consecuencia, después de cambiar los metadatos, debe esperar hasta un minuto a que los cambios se propaguen a todos los servidores de la granja de servidores. Los cambios son inmediatos en el servidor donde se realiza el cambio.

La siguiente ilustración es un diagrama de implementación para el Catálogo de datos profesionales y muestra cómo funciona el almacenamiento en la memoria caché.

Implementación y almacenamiento en memoria caché en el Catálogo de datos profesionales

Distribución y almacenamiento en caché en el Catálogo de datos profesionales

Vea también

Otros recursos

Catálogo de datos profesionales: modelo de metadatos
Ejemplo de SQL Server 2000 de AdventureWorks
Procedimiento para empezar a usar el modelo de objetos Administración
Procedimiento para familiarizarse con el uso del modelo de objetos Runtime
Preguntas más frecuentes sobre el Catálogo de datos profesionales
Catálogo de datos profesionales: glosario
Catálogo de datos profesionales