Procedimiento para empezar a usar el modelo de objetos Administración
Aunque puede usar XML para crear los metadatos, el Catálogo de datos profesionales ofrece un modelo de objetos de administración que puede usar para crear, editar y eliminar metadatos. El propósito principal del modelo de objetos de administración es permitirle escribir herramientas que faciliten la creación y administración de los metadatos.
El modelo de objetos de administración sigue el modelo de metadatos del Catálogo de datos profesionales. Define los 13 objetos de metadatos y proporciona métodos que permiten hacer lo siguiente:
Crear y eliminar objetos de metadatos.
Realizar mediante programación otras tareas administrativas relacionadas con los metadatos, como importación de metadatos en el Catálogo de datos profesionales y configuración de seguridad en los objetos de metadatos.
El modelo de objetos Administración se define en el espacio de nombres Microsoft.Office.Server.ApplicationRegistry.Administration en Microsoft.SharePoint.Portal.dll.
Importante
El modelo de objetos en tiempo de ejecución también define los objetos de metadatos, pero sólo permite leerlos, no crearlos, editarlos o eliminarlos. Por lo tanto, debe usar el modelo de objetos de administración cuando desee modificar los metadatos. Use el modelo de objetos en tiempo de ejecución si sólo desea leer los metadatos, ya que se almacena en caché y es rápido. Por el contrario, el modelo de objetos de administración tiene una latencia relativamente alta y un retraso de unos segundos antes de que el Catálogo de datos profesionales actualice la memoria caché en todos los servidores web front-end (servidor web front-end) y servidores de aplicaciones de la implementación.
A continuación se muestran las tres tareas principales que se pueden realizar con el modelo de objetos de administración:
Crear un sistema, una entidad y un método de LOB.
Crear listas de control de acceso (ACL) y configurar la seguridad de los objetos de metadatos.
Importar metadatos en el Catálogo de datos profesionales.
En esta sección, veremos cómo escribir aplicaciones simples de consola Microsoft Visual Studio 2005 en Microsoft Visual C# que usan el modelo de objetos de administración para realizar las tres principales tareas.
ApplicationRegistry es el objeto de nivel superior en el modelo de objetos de administración. Su propiedad Instance estática representa el punto de entrada en el Catálogo de datos profesionales y actúa como tal. Esta propiedad permite crear, leer, actualizar y eliminar todos los objetos de metadatos, incluidos los sistemas, las entidades y los métodos de LOB.
Nota
La característica Catálogo de datos profesionales se denominó originalmente Registro de aplicación, Application Registry en inglés, pero ahora se denomina Catálogo de datos profesionales. Por este motivo, aparece el término ApplicationRegistry en el modelo de objetos. Cuando vea este término, recuerde que hace referencia al Catálogo de datos profesionales.
Ejemplo
Como ya sabe, el Catálogo de datos profesionales se implementa como un servicio compartido de Microsoft Office SharePoint Server 2007 y se comparte en todo un proveedor de servicios compartidos. Por lo tanto, para poder usar el objeto ApplicationRegistry, debe hacer referencia al proveedor de servicios compartidos asociado al Catálogo de datos profesionales.
En el ejemplo de código siguiente se muestra cómo establecer el proveedor de servicios compartidos para su uso con el Catálogo de datos profesionales.
Después de especificar el proveedor de servicios compartidos, puede usar el objeto ApplicationRegistry para crear y administrar los objetos LobSystemInstance registrados en el Catálogo de datos profesionales. El método CreateLobSystemAndInstance muestra cómo usar el modelo de objetos para crear una instancia LobSystem.
Requisitos previos
Asegúrese de que el proveedor de servicios compartidos ya está creado.
Reemplace el valor constante EnterYourSSPNameHere en el código por el nombre del proveedor de recursos compartidos.
Referencias del proyecto
Antes de ejecutar este ejemplo, agregue las siguientes referencias de proyecto al proyecto de código de aplicación de consola:
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.");
}
}
}