Catalogue de données métiers : architecture
Le catalogue de données métiers est un service partagé Microsoft Office SharePoint Server 2007. Il stocke des informations sur les applications métiers existantes en dehors d'Office SharePoint Server 2007 et permet aux fonctionnalités de données métiers et aux solutions personnalisées d'utiliser ces informations pour afficher des données métiers sur le site portail sans nécessiter de code supplémentaire.
Composants du catalogue de données métiers
Le catalogue de données métiers est composé d'une base de données de métadonnées et d'un modèle objet qui fournissent une interface de programmation orientée objet simple et cohérente pour la logique métier existante dans les différentes applications métiers.
La figure suivante est un diagramme d'architecture de niveau supérieur du catalogue de données métiers, illustrant l'interaction entre les sources de données métiers, la base de données de métadonnées et les fonctionnalités et solutions de données métiers.
Architecture de niveau supérieur du catalogue de données métiers
Notes
Vous pouvez utiliser le catalogue de données métiers pour vous connecter à une application d'entreprise principale via des services Web ou des bases de données.
La figure suivante illustre l'architecture de niveau inférieur du catalogue de données métiers, notamment l'interaction entre la base de données de métadonnées et les modèles objet d'exécution et d'administration.
Architecture de niveau inférieur du catalogue de données métiers
Base de données de métadonnées
Le catalogue de données métiers utilise des métadonnées pour décrire les API des applications métiers. Une fois la description de l'API étrangère enregistrée dans le catalogue de données métiers, elle fournit des connexions d'accès aux données dynamiques aux données principales sans nécessiter de code supplémentaire. Par exemple, pour afficher les données de la base de données AdventureWorks dans vos listes SharePoint et composants WebPart, définissez les métadonnées des requêtes SQL utilisées pour accéder aux données de la base de données AdventureWorks.
L'auteur des métadonnées définit les métadonnées de chaque source de données en spécifiant les entités métiers avec lesquelles les applications interagissent et les méthodes disponibles dans les applications métiers. Dans l'exemple AdventureWorks, vous pouvez décider de définir les métadonnées pour les entités suivantes : Customer, SalesOrder et Product. Pour chaque entité que vous souhaitez rendre disponible dans le catalogue de données métiers, définissez les métadonnées des méthodes qui seront utilisées pour extraire les données de l'application serveur principale.
Le modèle métadonnées extrait les sources physiques sous-jacentes et fournit un modèle simple et cohérent pour les auteurs de métadonnées qui utilisent différents types d'applications métiers.
Le modèle métadonnées simplifie l'utilisation des métadonnées en définissant des métadonnées sémantiques telles que les entités et les relations qui ajoutent une signification à l'API. Une fois les métadonnées écrites, les développeurs chargés de la programmation de solutions personnalisées à l'aide du catalogue de données métiers n'ont pas besoin de comprendre l'API principale, mais peuvent utiliser les modèles objet du catalogue de données métiers à la place. Par exemple, le modèle objet d'exécution fournit des appels tels que System.Entity, Entity.FindFiltered et Entity.FindAssociated, qui rendent l'obtention des données principales dont vous avez besoin très intuitive. Cette conception facilite l'utilisation des applications métiers qui disposent généralement d'API complexes par les auteurs de métadonnées et les développeurs.
Le catalogue de données métiers stocke les métadonnées dans la base de données de métadonnées. Étant donné qu'Office SharePoint Server 2007 implémente le catalogue de données métiers comme un service partagé, la base de données de métadonnées se trouve dans la base de données SharedServices#DB dans un déploiement Office SharePoint Server 2007. La base de données des services partagés est une base de données relationnelle Microsoft SQL Server standard. Elle contient plusieurs tables spécifiques au catalogue de données métiers qui stockent différents éléments du modèle métadonnées.
Notes
La base de données de métadonnées ne contient pas de données métiers ; elle contient des métadonnées relatives à l'application métier uniquement.
Pour plus d'informations, voir Catalogue de données métiers : modèle de métadonnées.
Modèle objet d'exécution
Le modèle objet d'exécution est conçu pour être utilisé par les applications et les clients du catalogue de données métiers. Il a deux fonctions principales.
Il offre une interface orientée objet intuitive qui extrait les sources de données sous-jacentes. Le modèle objet d'exécution évite aux clients d'apprendre des paradigmes de codage spécifiques aux applications et les autorise à accéder aux applications métiers de façon unique et simplifiée. Avec ce modèle, l'appel d'une méthode sur une application SAP est semblable à l'appel d'une méthode sur une application Siebel ou à l'exécution d'une requête SQL.
Notes
Le catalogue de données métiers n'exécute pas la méthode actuelle ou le transfert principal. Il délègue simplement l'invocation client au fournisseur ADO.NET approprié pour les bases de données et proxy de services Web.
Il permet de lire les objets de métadonnées dans la base de données de métadonnées et d'exécuter la logique métier décrite ici. Le modèle objet d'exécution est rapide du fait qu'il est dans le cache. Par conséquent, les clients qui doivent seulement interroger la base de données de métadonnées pour obtenir des informations sur les métadonnées utilisent ce modèle.
Le modèle objet d'exécution est défini dans les espaces de noms suivants dans le fichier Microsoft.SharePoint.Portal.dll :
Il existe deux objets clés dans l'espace de noms d'exécution :
IEntityInstance. Par défaut, vous pouvez imaginer une instance d'entité en tant qu'une seule ligne de données retournées dans le catalogue de données métiers à partir d'une application métier principale. L'interface IEntityInstance extrait les sources de données sous-jacentes et évite aux clients de devoir apprendre des paradigmes de codage spécifiques aux applications et les autorise à accéder aux données métiers d'une façon unique et simplifiée. Grâce à l'interface IEntityInstance vous pouvez utiliser une ligne de données d'une base de données de la même façon qu'avec une structure .NET complexe retournée par un service Web.
Une instance d'entité dans le catalogue de données métiers est liée à une sémantique spécifique. Par exemple, elle permet de savoir quel champ de la ligne représente l'identificateur de l'instance d'entité et d'appeler des méthodes telles que GetAssociated(), GetIdentifierValues() et Execute() sur cette instance d'entité.
IEntityInstanceEnumerator. Les énumérateurs peuvent être utilisés pour lire les données d'une collection, mais ils ne permettent pas de modifier la collection sous-jacente. IEntityInstanceEnumerator prend en charge la diffusion en continu et par conséquent est très utile lorsque le serveur principal retourne une grande quantité de données.
Modèle objet Administration
Le modèle objet Administration vous permet de créer, lire, mettre à jour et supprimer des objets de métadonnées dans la base de données des services partagés. Il implique une latence relativement importante et un délai maximal d'une minute est nécessaire avant la mise à jour du cache sur tous les serveurs Web frontaux et serveurs d'applications du déploiement. Les modifications sont immédiates sur le serveur sur lequel vous les effectuez.
Les développeurs et les utilisateurs de l'interface utilisateur d'administration du catalogue de données métiers utilisent le modèle objet Administration pour créer et modifier des métadonnées.
Notes
Le modèle objet d'exécution vous permet de lire les objets métadonnées uniquement dans la base de données de métadonnées. Il est rapide du fait qu'il est dans le cache. Par conséquent, les clients qui doivent seulement interroger la base de données de métadonnées pour obtenir des informations sur les métadonnées doivent utiliser ce modèle.
Le modèle objet Administration est défini dans l'espace de noms Microsoft.Office.Server.ApplicationRegistry.Administration dans le fichier Microsoft.SharePoint.Portal.dll.
Composant Infrastructure
Comme illustré précédemment dans le diagramme de l'architecture de niveau inférieur du catalogue de données métiers, le modèle objet d'exécution repose sur le composant Infrastructure du catalogue de données métiers pour créer et gérer les connexions à la source de données physique. Ce composant permet de gérer les connexions au moment de l'exécution et fournit des services de sécurité partagée pour les clients du catalogue de données métiers.
Le composant Infrastructure est défini dans l'espace de noms Microsoft.Office.Server.ApplicationRegistry.Infrastructure dans le fichier Microsoft.SharePoint.Portal.dll.
Exécution de méthodes : flux de contrôle dans une solution de données métiers
Pour comprendre comment les fonctionnalités de données métiers et les solutions personnalisées utilisent le catalogue de données métiers, envisagez le scénario suivant. Supposons que vous souhaitez utiliser un composant WebPart de données métiers pour afficher des informations d'une application SAP. Pour cela, ce composant doit disposer d'informations sur les méthodes qu'il va invoquer et les paramètres qui seront acceptés par les méthodes principales. Pour obtenir ces informations, le composant WebPart utilise le modèle objet d'exécution pour interroger la base de données de métadonnées dans laquelle le catalogue de données métiers stocke les informations BAPI. Le composant WebPart utilise le modèle objet d'exécution pour invoquer les informations BAPI et afficher les données sur la page.
La figure suivante illustre le flux de contrôle de niveau supérieur qui se produit lors de l'exécution d'une méthode.
Flux de contrôle lors de l'exécution d'une méthode
Mise en cache de métadonnées
Pour optimiser les performances, le catalogue de données métiers met en cache les objets de métadonnées. De cette façon, il matérialise les objets de métadonnées du cache et leur fournit le modèle objet d'exécution en une seule fois, plutôt que d'effectuer des parcours circulaires vers la base de données pour chaque appel de méthode. La mise en cache des métadonnées permet aux clients d'accéder plus rapidement aux objets de métadonnées qu'ils appellent.
Notes
Le modèle objet vous permet d'activer ou de désactiver la mise en cache à un niveau objet de métadonnées individuel ; par conséquent, les objets rarement utilisés n'ont pas besoin d'être mis en cache.
Le catalogue de données métiers met en cache les objets lorsqu'ils sont chargés pour la première fois. Un minuteur en cours d'exécution sur chaque serveur recherche les modifications apportées aux objets de métadonnées toutes les minutes. S'il détecte une modification, il efface le cache et le recharge. Par conséquent, après avoir modifié des métadonnées, vous devez patienter pendant une minute pour que les modifications soient propagées sur tous les serveurs de la batterie. Les modifications sont immédiates sur le serveur sur lequel vous les effectuez.
La figure suivante illustre un diagramme de déploiement pour le catalogue de données métiers et le fonctionnement de la mise en cache.
Déploiement et mise en cache dans le catalogue de données métiers
Voir aussi
Autres ressources
Catalogue de données métiers : modèle de métadonnées
Exemple SQL Server 2000 AdventureWorks
Procédure : mise en route de l'utilisation du modèle objet Administration
Procédure : utiliser le modèle objet Runtime
Forum aux questions : catalogue de données métiers
Catalogue de données métiers : glossaire
Catalogue de données métiers