Partager via


Architecture du service BDC

Dernière modification : jeudi 15 avril 2010

S’applique à : SharePoint Server 2010

Dans cet article
Modèle BDC et magasin de métadonnées BDC
Modèle objet d’exécution
Modèle objet d’administration
Composant Infrastructure
Connecteurs BDC et infrastructure du connecteur
Service Banque d’informations sécurisé et infrastructure de sécurité SharePoint
Mise en cache des métadonnées

Le Service BDC (Business Data Connectivity) succède au catalogue de données métiers qui était fourni dans Microsoft Office SharePoint Server 2007 ; dans cette version, BDC est fourni par le biais de Microsoft SharePoint Foundation 2010. BDC vous permet de modéliser de façon déclarative des systèmes externes afin d’exposer des données externes dans SharePoint 2010 (et dans les applications Microsoft Office par l’intermédiaire d’Extensions clientes enrichies des services Business Connectivity). BDC connectent les sites SharePoint et vos systèmes externes en vous permettant d’intégrer des données clés à partir de différents systèmes externes à des listes SharePoint via la nouvelle fonctionnalité de listes externes et des colonnes de données externes, des composants WebPart, la recherche, des profils utilisateur et des applications personnalisées.

BDC est implémenté en tant que service partagé dans Microsoft SharePoint Foundation 2010 et peut être activé par l’administrateur central. La fonction principale de BDC est de fournir la connectivité aux types de systèmes externes suivants :

  • bases de données ;

  • points de terminaison WCF (Windows Communication Foundation) ;

  • assemblys de connectivité .NET ;

  • sources de données personnalisées (BDC fournit une infrastructure dans laquelle les développeurs peuvent enficher des connecteurs pour de nouveaux types de systèmes externes afin de donner accès à ceux-ci via BDC)

L’un des principaux objectifs de BDC en termes de conception est de vous permettre d’accéder aux données métiers de divers systèmes externes de manière déclarative avec un effort de codage minimal. Pour atteindre cet objectif, BDC offre un accès homogène aux sources de données sous-jacentes avec un modèle de métadonnées qui fournit un modèle objet client cohérent et simplifié.

Microsoft Business Connectivity Services (BCS) prend en charge des outils dans Microsoft SharePoint Designer et Microsoft Visual Studio. Les utilisateurs expérimentés dont les compétences sont équivalentes à celles d’un développeur de base de données peuvent créer des types de contenu externe en décrivant l’API des applications métier à l’aide du Concepteur de type de contenu externe dans SharePoint Designer. Après que l’utilisateur a enregistré le type de contenu externe dans SharePoint Designer, les données dans le système externe sont immédiatement disponibles pour ses sites SharePoint via les autres fonctionnalités Business Connectivity Services dans SharePoint 2010 et le modèle objet BDC.

BDC se compose d’un magasin de métadonnées BDC et d’un modèle objet qui fournissent une interface de programmation orientée objet, simple et cohérente pour la logique métier qui réside dans les différentes applications métier.

La figure 1 montre une vue de haut niveau de l’architecture du service BDC.

Figure 1. Vue de haut niveau de l’architecture du service BDC

Vue d’ensemble de BDC

La figure 2 montre l’architecture de bas niveau du service BDC.

Figure 2. Vue de bas niveau de l’architecture du service BDC

Architecture bas niveau de BDC

Modèle BDC et magasin de métadonnées BDC

BDC utilise des métadonnées pour décrire les API des applications externes. Une fois que la description d’API d’une application externe a été enregistrée dans BDC, BDC fournit des connexions d’accès aux données dynamiques aux données externes sans qu’aucun code supplémentaire soit nécessaire. Par exemple, pour afficher les données de la base de données AdventureWorks dans vos composants WebPart et listes SharePoint, vous définissez les métadonnées pour les requêtes SQL qui accèdent aux données de la base de données AdventureWorks.

Un utilisateur expérimenté ou un développeur paramètre les métadonnées pour chaque source de données en définissant les entités métier avec lesquelles les applications métier interagissent et les méthodes qui sont disponibles dans les applications. Dans l’exemple AdventureWorks, vous souhaiterez peut-être définir les métadonnées pour les entités suivantes : Customer, SalesOrder et Product. Pour chaque entité que vous souhaitez rendre accessible dans le service BDC, vous devez définir des métadonnées pour les méthodes qui seront utilisées pour extraire les données à partir du système externe.

Le modèle de métadonnées fait abstraction des sources physiques sous-jacentes et fournit un modèle cohérent et simple pour les auteurs de métadonnées qui utilisent différents types d’applications métier.

Le modèle BDC définit des métadonnées sémantiques, telles que les types de contenu externe et les associations, qui ajoutent une signification à l’API. Après avoir écrit les métadonnées, les développeurs qui programment des solutions personnalisées à l’aide de BDC n’ont pas à se soucier de l’API principale, à la place de laquelle ils peuvent utiliser les modèles objet BDC simplifiés. Par exemple, le modèle objet d’exécution BDC fournit des appels tels que System.Entity, Entity.FindFiltered et Entity.FindAssociated, qui vous permettent obtenir très facilement les données principales dont vous avez besoin. Grâce à cette conception, il est plus facile pour les développeurs et les auteurs de métadonnées de travailler avec des systèmes externes qui ont généralement des API complexes.

Les modèles BDC sont stockés dans une base de données relationnelle et chargés ou matérialisés en mémoire avant d’être interprétés par le runtime BDC. L’ensemble des tables de base de données et des procédures stockées pour la conservation, la lecture et la modification du modèle BDC forme le composant Magasin de métadonnées BDC. Ce composant existe uniquement sur les déploiements de serveur de Business Connectivity Services. Il est nécessaire d’utiliser le modèle objet d’administration pour modifier les éléments d’un modèle BDC au lieu de modifier la base de données directement. Vous ne devez JAMAIS modifier la base de données. Sur le client, ce composant est remplacé par une désérialisation temporaire en mémoire du modèle BDC dans une base de données Microsoft SQL Server 2005 Compact Edition.

Notes

Le magasin de métadonnées BDC ne contient pas de données externes, mais uniquement des métadonnées relatives au système externe.

Pour plus d’informations, voir Infrastructure du modèle BDC.

Modèle objet d’exécution

Comme illustré dans le diagramme de bas niveau précédent, l’interface publique BDC possède deux ensembles d’API : le modèle objet d’exécution et le modèle objet d’administration.

Le modèle objet d’exécution est destiné à être utilisé par les clients et applications BDC. Il remplit les deux fonctions principales suivantes :

  • Fournir une interface intuitive orientée objet qui fait abstraction des sources de données sous-jacentes. Le modèle objet d’exécution évite aux applications clientes d’avoir à assimiler des paradigmes de codage spécifiques aux applications principales et permet aux clients d’accéder à tous les systèmes externes par le biais d’une interface unique et uniforme. Avec le modèle objet d’exécution, l’appel à une méthode sur une application SAP ressemble à l’appel à une méthode sur une application Siebel ou à l’exécution d’une requête sur Microsoft SQL Server. Grâce à ce modèle objet, les applications peuvent lire, écrire et mettre à jour des données principales.

    Notes

    BDC n’effectue pas à proprement parler l’exécution de la méthode. Il ne fait que déléguer l’appel client au fournisseur ADO.NET approprié pour les bases de données, au proxy de services Web pour les services Web et à l’assembly .NET Framework pour les assemblys .NET Framework.

  • Autoriser la lecture (uniquement) des objets de métadonnées à partir de la base de données de métadonnées et l’exécution de la logique métier qui y est décrite. Le modèle objet d’exécution utilise des métadonnées mises en cache et, par conséquent, est rapide. Les clients qui ont uniquement besoin d’interroger la base de données de métadonnées pour obtenir des informations sur les métadonnées utilisent le modèle objet d’exécution.

L’espace de noms Runtime possède deux objets principaux :

  • IEntityInstance. Du point de vue conceptuel, une instance d’entité est une ligne de données unique renvoyée à partir d’une application métier principale dans BDC. L’interface IEntityInstance fait abstraction des sources de données sous-jacentes et évite aux clients d’avoir à assimiler des paradigmes de codage spécifiques aux applications. Elle leur permet d’accéder à toutes les données métiers d’une manière unique et simplifiée. Grâce à l’interface IEntityInstance, vous pouvez travailler avec une ligne de données d’une base de données de la même façon qu’avec une structure .NET Framework complexe renvoyée par un service Web.

    Une instance d’entité dans le service BDC est associée à une sémantique spéciale. Par exemple, elle est en mesure de déterminer les champs de la ligne qui représentent l’identificateur de l’instance d’entité et vous permet d’appeler des méthodes telles que GetAssociated, GetIdentifierValues et Execute sur cette instance d’entité.

  • IEntityInstanceEnumerator. Les énumérateurs peuvent servir à lire les données dans la collection. Toutefois, ils ne permettent pas de modifier la collection sous-jacente. IEntityInstanceEnumerator prend en charge la diffusion par flux et est par conséquent très utile lorsque l’application principale renvoie de grandes quantités de données.

Modèle objet d’administration

Vous pouvez utiliser le modèle objet d’administration pour créer, lire, mettre à jour et supprimer des objets de métadonnées dans le magasin de métadonnées BDC. Il fournit une validation des métadonnées à part entière au moment de la publication et gère l’intégrité référentielle dans l’ensemble du magasin. Il utilise une mise en cache des métadonnées en mémoire à des fins de performances. Par conséquent, il offre une latence relativement élevée et il existe un délai pouvant aller jusqu’à une minute avant que le service BDC mette à jour le cache sur tous les serveurs Web frontaux et les serveurs d’applications dans le déploiement. Ce composant existe sur les déploiements de serveur de Business Connectivity Services. Une version cliente du modèle objet d’administration existe sur le client.

Composant Infrastructure

Le composant Infrastructure est défini dans l’espace de noms Microsoft.BusinessData.Infrastructure dans le fichier Microsoft.SharePoint.dll.

Comme indiqué précédemment dans le diagramme de l’architecture de bas niveau du service BDC, le modèle objet d’exécution s’appuie sur le composant Infrastructure pour créer et gérer les connexions à la source de données physique. Le composant Infrastructure fournit des services de sécurité partagés et de gestion des connexions au moment de l’exécution pour les clients BDC.

Connecteurs BDC et infrastructure du connecteur

Business Connectivity Services offre des connecteurs à tous les types de sources de données qu’il prend en charge. En outre, il fournit une extensibilité via un modèle de fournisseur. Les ISV et les partenaires peuvent développer des connecteurs BDC pour les types principaux non pris en charge en mode natif par BDC.

Service Banque d’informations sécurisé et infrastructure de sécurité SharePoint

Le service BDC fournit l’authentification aux systèmes principaux via une authentification intégrée ou une authentification unique dans Office SharePoint Server 2007. Dans SharePoint Server 2010, il prend également en charge l’authentification basée sur les revendications ou sur les jetons. L’authentification unique est remplacée par le service Banque d’informations sécurisé qui est également enfichable. Par conséquent, si une partie tierce n’envisage pas d’utiliser le service Banque d’informations sécurisé de SharePoint, mais une authentification unique personnalisée ou propre à un autre ISV, BDC la prend totalement en charge.

Mise en cache des métadonnées

Pour optimiser les performances, le service BDC met en cache tous les objets de métadonnées. Ainsi, il matérialise tous les objets de métadonnées à partir du cache et les fournit au modèle objet d’exécution en une seule opération, au lieu d’effectuer des aller-retour avec la base de données de métadonné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

Grâce au modèle objet, vous pouvez activer ou désactiver la mise en cache au niveau d’un objet de métadonnées spécifique. Par conséquent, vous n’avez pas besoin de mettre en cache les objets qui sont rarement utilisés.

Le service BDC met en cache les objets lors de leur premier chargement. Une fois par minute, un minuteur exécuté sur chaque serveur recherche les modifications éventuellement apportées aux objets de métadonnées. S’il constate qu’une modification a été apportée à un objet de métadonnées, il efface le cache, puis recharge l’objet. Par conséquent, après avoir modifié des métadonnées, vous devez patienter jusqu’à une minute pour que les modifications soient propagées à tous les serveurs de la batterie de serveurs. Les modifications prennent immédiatement effet sur le serveur sur lequel vous les effectuez.