> # Programación de Catalogos de Datos Profesionales

> Para trabajar programáticamente con el Catalogo de Datos, el Modelo de Objetos de SharePoint incluye todas las clases, métodos y propiedades necesarias.

> El Catalogo tiene dos tipos de clases en el Modelo de Objetos:

> - Modelo de Objetos de tiempo de ejecución. Es para ser utilizado solamente en modo de lectura, y provee toda la infraestructura para mostrar datos de Catalogos en aplicaciones cliente. Provee una API (Application Programming Interface) que permite acceder a los datos de las entidades, y la posibilidad de leer y consultar los metadatos de la Base de Datos. Las clases se encuentran en el ensamblado Microsoft.SharePoint.Portal.dll, y están contenidas en los NameSpaces "Microsoft.Office.Server.ApplicationRegistry.MetadataModel" y "Microsoft.Office.Server.ApplicationRegistry.Runtime"

> - El Modelo de Objetos Administrativo permite crear, leer, editar y eliminar metadatos. Se encuentra en el mismo ensamblado, y utiliza el NameSpace "Microsoft.Office.Server.ApplicationRegistry.Administration"

> ### Figura 1: El Explorador de Objetos de Visual Studio con los métodos de la clase Entidad

> ## WebParts

> El Modelo de Objetos permite acceder a los datos de fuentes externas, permitiendo la creación de WebParts especializadas, pero MOSS instala por defecto cinco WebParts genéricas:

> Nombre | Descripción
> Lista de Datos Profesionales | Muestra una Lista o Entidad de un Catalogo registrado en el sistema. Por ejemplo, permite mostrar todos los records que una consulta de SQL entrega desde una Base de Datos
> Elemento de Datos Profesionales | Muestra los detalles de una Entidad. Por ejemplo, se pueden mostrar los campos de un solo elemento devuelto por una consulta de SQL. La WebPart de detalles se puede conectar con la WebPart de Lista de Catalogo para mostrar los detalles que la Lista no puede mostrar
> Lista Relacionada con Datos Profesionales | Muestra una lista de Entidades asociadas en un Catalogo. Por ejemplo, puede mostrar los reportes para un grupo determinado de usuarios
> Acciones para Datos Profesionales | Muestra las acciones asociadas a una Entidad, tal como están definidas en el Catalogo. Las acciones permiten crear vínculos hacia paginas web dentro de SharePoint mismo o vínculos a paginas externas
> Filtros de Catalogo de Datos | Muestra una lista de los Filtros asociados a un método, tal como ha sido definido en el Catalogo.

> ### Figura 2: WebParts para el Catalogo de Datos Profesionales

> ## Autenticación

> El Catalogo de Datos soporta dos tipos de autenticación: Subsistema de Confianza ("Trusted Subsystem") y Impersonalización y Delegación.

> En modelo de "Subsistema de Confianza", el servidor de IIS autentica el sistema remoto como una identidad fija. Típicamente este modelo se escoge porque necesita menos conexiones con la Base de Datos, reduce los costos de licencias en los sistemas remotos y es menos complejo de implementar. En este modelo, el Administrador de los servidores con el sistema remoto le da acceso a una cuenta, que es la que el Catalogo utilizara.

> En el modelo de Impersonalizacion y Delegación, el cliente delega la autenticación al sistema remoto, lo que impersonaliza al cliente y lo autentica en el sistema remoto. Este modelo se puede escoger para asegurar la auditoria del usuario en el sistema remoto cada vez que utilice el sistema y si es necesario que el sistema remoto conozca quien es el usuario (para que entregue datos personalizados, por ejemplo).

> Modos de autenticación que se pueden utilizar para conectar con un sistema remoto:

> Nombre | Descripción
> Pass-through | El Catalogo de Datos soporta autenticacion pass-through para conexiones con Bases de Datos y WebServices. Cuando se utiliza autenticación pass-through, el Catalogo simplemente se autentica como la identidad del proceso en que el Catalogo esta ejecutando
> RevertToSelf | Si un usuario utiliza Windows Autenticación, IIS impersonaliza la cuenta particular. Cuando IIS ejecuta bajo la identidad del Grupo de Aplicaciones, impersonaliza el usuario actual, y la solicitud se ejecuta bajo la impersonalizacion antes de ser pasada al sistema remoto
> WindowsCredentials | Microsoft Office SharePoint Server 2007 autentica la solicitud usando credenciales de Microsoft Windows del servicio single sign-on (SSO)
> DatabaseCredentials | (solamente para sistemas de Bases de Datos) Office SharePoint Server 2007 autentica la solicitud usando credenciales de la Base de Datos de su servicio SSO por defecto. Porque las credenciales son transmitidas sin encripción, se debe utilizar SSL or IPSec o ambos para asegurar la comunicación entre el servidor de Base de Datos y el servidor que ejecuta el Catalogo de Datos
> Credentials | (solamente para WebServices) Office SharePoint Server 2007 autentica WebServices usando credenciales diferentes a las obtenidas desde el servicio SSO por defecto. Estas credenciales son usadas para autenticación básica o "digest", dependiendo de la configuración del servidor de WebServices. Porque autenticación básica y digest no protegen adecuadamente a las credenciales, se debe utilizar SSL o IPSec o ambas para asegurar la comunicación

> ## Video

> Modificar y manipular un Catalogo de Datos Profesionales programáticamente es posible utilizando el Modelo de Objetos de SharePoint. En el video se muestra como cambiar programáticamente la consulta y los parámetros de salida del Catalogo creado en el capitulo anterior
> Duración: 18:03 minutos