Procédure : mise en route de l'utilisation du modèle objet Administration
Bien que vous puissiez utiliser le format XML pour créer vos métadonnées, le catalogue de données métiers propose un modèle objet Administration qui permet de créer, modifier et supprimer des métadonnées. La fonction principale de ce modèle objet est de vous permettre d'écrire des outils qui facilitent la création et la gestion des métadonnées.
Le modèle objet Administration suit le modèle de métadonnées. Il définit les 13 objets de métadonnées et fournit des méthodes qui vous permettent de :
créer et supprimer des objets de métadonnées ;
effectuer par programme d'autres tâches d'administration liées aux métadonnées, telles que leur importation dans le catalogue de données métiers et la configuration de la sécurité sur les objets de métadonnées.
Le modèle objet Administration est défini dans l'espace de noms Microsoft.Office.Server.ApplicationRegistry.Administration du fichier Microsoft.SharePoint.Portal.dll.
Important
Le modèle objet Exécution définit également les objets de métadonnées, mais il permet uniquement de les lire, et non pas de les créer, de les modifier ni de les supprimer. Par conséquent, utilisez plutôt le modèle objet Administration lorsque vous souhaitez modifier les métadonnées. Utilisez le modèle objet Exécution si vous souhaitez simplement lire les métadonnées, cette opération étant rapide du fait qu'elles sont dans le cache. À l'inverse, le modèle objet Administration implique une latence relativement importante et un délai de quelques secondes avant que le catalogue de données métiers mette à jour le cache sur tous les serveurs Web frontaux (Serveur Web frontal) et sur les serveurs d'applications du déploiement.
Voici les trois tâches principales que vous pouvez effectuer avec le modèle objet Administration :
Création d'un système, d'une entité et d'une méthode métier.
Création de listes de contrôle d'accès et définition de la sécurité pour les objets de métadonnées.
Importation de métadonnées dans le catalogue de données métiers.
Dans cette section, nous expliquons l'écriture d'applications console simples Microsoft Visual Studio 2005 en Microsoft Visual C# utilisant le modèle objet Administration pour effectuer ces trois tâches.
ApplicationRegistry est l'objet de plus haut niveau du modèle objet Administration. Sa propriété Instance statique représente le point d'entrée du catalogue de données métiers et agit comme tel. Cette propriété vous permet de créer, lire, mettre à jour et supprimer tous les objets de métadonnées, y compris les systèmes, les entités et les méthodes métiers.
Notes
La fonction du catalogue de données métiers s'appelait initialement Registre d'application, mais elle se nomme désormais Catalogue de données métiers. C'est pour cette raison que vous trouverez le terme ApplicationRegistry dans le modèle objet : rappelez-vous alors qu'il fait référence au catalogue de données métiers.
Exemple
Comme vous le savez probablement déjà, le catalogue de données métiers est mis en œuvre en tant que service partagé de Microsoft Office SharePoint Server 2007, par le biais d'un fournisseur de services partagés. Par conséquent, avant d'utiliser l'objet ApplicationRegistry, vous devez référencer le fournisseur de services partagés associé au catalogue de données métiers.
L'exemple de code suivant indique comment définir le fournisseur de services partagés à utiliser avec le catalogue de données métiers.
Une fois que vous avez spécifié le fournisseur de services partagés, vous pouvez utiliser l'objet ApplicationRegistry pour créer et gérer les objets LobSystemInstance inscrits dans le catalogue de données métiers. La méthode CreateLobSystemAndInstance indique comment utiliser le modèle objet pour créer une instance LobSystem.
Conditions préalables requises
Assurez-vous qu'un fournisseur de services partagés est déjà créé.
Dans le code, remplacez la valeur constante EnterYourSSPNameHere par le nom de votre fournisseur de services partagés.
Références de projet
Ajoutez les références de projet suivantes dans votre projet de code d'application console avant d'exécuter cet exemple :
Microsoft.SharePoint
Microsoft.SharePoint.Portal
Microsoft.Office.Server
using System;
using System.Collections.Generic;
using System.Text;
using Microsoft.Office.Server.ApplicationRegistry.Administration;
using Microsoft.Office.Server.ApplicationRegistry.Infrastructure;
using WSSAdmin = Microsoft.SharePoint.Administration;
using OSSAdmin = Microsoft.Office.Server.Administration;
namespace Microsoft.SDK.SharePointServer.Samples
{
class GetStartedAndCreateSystem
{
const string yourSSPName ="EnterYourSSPNameHere";
static void Main(string[] args)
{
SetupBDC();
CreateLobSystemAndInstance();
Console.WriteLine("Press any key to exit...");
Console.Read();
}
static void SetupBDC()
{
SqlSessionProvider.Instance().SetSharedResourceProviderToUse(yourSSPName);
}
static void CreateLobSystemAndInstance()
{
LobSystem system = ApplicationRegistry.Instance.LobSystems.Create("AdventureWorksSampleFromCode", true, "Microsoft.Office.Server.ApplicationRegistry.SystemSpecific.Db.DbSystemUtility", "Microsoft.Office.Server.ApplicationRegistry.SystemSpecific.Db.DbConnectionManager", "Microsoft.Office.Server.ApplicationRegistry.SystemSpecific.Db.DbEntityInstance");
LobSystemInstance sysInstance = system.LobSystemInstances.Create("AdventureWorksSampleFromCode", true);
sysInstance.Properties.Add("AuthenticationMode", (Int32)Microsoft.Office.Server.ApplicationRegistry.SystemSpecific.Db.DbAuthenticationMode.PassThrough);
sysInstance.Properties.Add("DatabaseAccessProvider", (Int32)Microsoft.Office.Server.ApplicationRegistry.SystemSpecific.Db.DbAccessProvider.SqlServer);
sysInstance.Properties.Add("RdbConnection Data Source", "YourAdvWorks2000ServerNameHere");
sysInstance.Properties.Add("RdbConnection Initial Catalog", "AdventureWorks2000");
sysInstance.Properties.Add("RdbConnection Integrated Security", "SSPI");
sysInstance.Properties.Add("RdbConnection Pooling", "false");
sysInstance.Properties.Add("WildCardCharacter", "%");
sysInstance.Update();
Console.WriteLine("Created a system instance successfully.");
}
}
}