Compartir a través de


Diferencias entre el uso del Conector de ensamblado .NET y la escritura de un conector personalizado

Última modificación: miércoles, 07 de julio de 2010

Hace referencia a: SharePoint Server 2010

En este artículo
Uso del Conector de ensamblado .NET
Escritura de un conector personalizado
Ventajas y desventajas del Conector de ensamblado .NET frente al conector personalizado
Cuándo usar cada enfoque

En este tema se indica cuándo usar el Conector de ensamblado .NET incluido en Servicios de conectividad empresarial (BCS) de Microsoft y cuándo escribir un conector personalizado para conectarse a sistemas externos que Servicios de conectividad empresarial no admite directamente.

Un conector personalizado se escribe para que sea independiente de los tipos de contenido externos que se conectan a un tipo de sistema externo (por ejemplo, todas las bases de datos o todos los servicios web), mientras que los ensamblados de conectividad .NET son específicos de un tipo de contenido externo. A diferencia de un ensamblado de conectividad .NET, un conector personalizado también proporciona integración de la interfaz de usuario de administración.

Uso del Conector de ensamblado .NET

Si va a usar el Conector de ensamblado .NET en lugar de escribir un conector personalizado, realice los siguientes pasos:

  1. Escriba código como clases de Microsoft .NET Framework y compile las clases en una DLL principal y varias DLL dependientes.

  2. Publique las DLL en la base de datos de Servicio de conectividad de datos profesionales (BDC).

  3. Use Microsoft SharePoint Designer para detectar el ensamblado de conectividad .NET y crear un modelo.

  4. Asigne cada entidad a una clase de la DLL y asigne cada operación de BDC de esa entidad a un método dentro de esa "clase".

En tiempo de ejecución, cuando un usuario ejecuta una operación de BDC, se ejecuta el método correspondiente en la DLL principal.

Escritura de un conector personalizado

Si va a escribir un conector personalizado en lugar de usar el Conector de ensamblado .NET, realice los siguientes pasos:

  1. Implemente las interfaces ISystemUtility, IConnectionManager y ITypeReflector (solo ISystemUtility es obligatoria). Posiblemente se pueden invalidar también las interfaces predeterminadas de administrador de conexiones y EntityInstance. Además, la implementación de IAdministrableSystem permite la administración de propiedades de la interfaz de usuario de administración, mientras que la implementación de ISystemPropertyValidator proporciona validación de tiempo de importación de las propiedades LobSystem (no en el cliente de Microsoft Office).

  2. Compile el código del paso 1 en una DLL y colóquelo en la memoria caché global de ensamblados en el servidor y los clientes.

  3. Cree el XML del modelo para el origen de datos personalizado (SharePoint Designer 2010 no admite una experiencia de creación de modelos de conectores personalizados).

  4. En tiempo de ejecución, cuando un usuario ejecuta una operación de BDC, se invoca el método Execute en la clase ISystemUtility. Por lo tanto, la responsabilidad de la ejecución del método back-end real se asigna al método Execute (tal como lo implementa el conector personalizado).

Ventajas y desventajas del Conector de ensamblado .NET frente al conector personalizado

En la siguiente tabla se enumeran las ventajas y desventajas de usar el Conector de ensamblado .NET en lugar de un conector personalizado.

Conector de ensamblado .NET

Conector personalizado

La DLL que implementa la lógica de negocios se guarda en el almacén de BDC. Por lo tanto, no es necesario colocar la DLL por separado en la memoria caché global de ensamblados en el cliente y el servidor.

Los archivos binarios que implementan un conector personalizado se deben colocar en la memoria caché global de ensamblados en el cliente y el servidor.

La DLL de .NET Framework que implementa la lógica de negocios se implementa en los equipos de cliente pesado a través de la implementación de Servicios de conectividad empresarial basada en ClickOnce.

Para instalar los archivos binarios que implementan un conector personalizado, se necesita un proceso de instalación independiente.

No se necesitan privilegios de administrador en el equipo cliente para la implementación.

Se necesitan privilegios de administrador en el equipo cliente para colocar el ensamblado en la memoria caché global de ensamblados.

La desconexión de las listas externas funcionará sin problemas, porque los ensamblados necesarios se implementan a través de ClickOnce.

La desconexión de las listas externas se interrumpe si el programa de instalación del cliente no pone el ensamblado en la memoria caché global de ensamblados.

Proporciona un enfoque útil si la lógica de negocios se puede exponer a través de API estáticas que cambian con poca frecuencia.

Proporciona un enfoque útil cuando las interfaces back-end cambian con frecuencia (son dinámicas).

No ofrece la posibilidad de invalidar el elemento TypeReflector predeterminado (un componente de Servicios de conectividad empresarial que interpreta los tipos como tipos de .NET Framework).

Ofrece la posibilidad de invalidar el elemento TypeReflector predeterminado e implementar un elemento TypeReflector personalizado.

Se requiere la asignación uno a uno de la entidad de BDC y la clase .NET Framework. Por lo tanto, si una entidad de BDC debe agregar varias clases, se debe escribir un contenedor. Esto requiere volver a compilar e implementar el ensamblado de conectividad .NET.

No existen estas restricciones.

Las interfaces de DLL funcionan como un back-end para Servicios de conectividad empresarial. Por lo tanto, el back-end real se extrae totalmente de la pila de Servicios de conectividad empresarial. Debido a que la DLL del ensamblado de .NET Framework se carga en el proceso con Servicios de conectividad empresarial, no hay requisitos de seguridad. Siempre se considerará como "Passthrough".

En el enfoque de conector personalizado, se pueden usar distintos tipos de mecanismos de seguridad que Servicios de conectividad empresarial ofrece, incluido un mecanismo de seguridad personalizado (Servicios de conectividad empresarial admite de forma nativa RevertToSelf, Passthrough, Credentials y WindowsCredentials).

Servicios de conectividad empresarial incorpora herramientas compatibles con el Conector de ensamblado .NET de SharePoint Designer (detección) y de Visual Studio 2010 (desarrollo e implementación de la DLL y el modelo).

No hay herramientas compatibles con los conectores personalizados.

Cuándo usar cada enfoque

El Conector de ensamblado .NET y el conector personalizado son mecanismos de extensibilidad de conectividad de Servicios de conectividad empresarial muy valiosos que Servicios de conectividad empresarial proporciona.

Si el sistema externo es estático, se recomienda el enfoque de Conector de ensamblado .NET. De lo contrario, por cada cambio en el back-end, deberá realizar cambios en la DLL del ensamblado de conectividad .NET. A su vez, esto requiere volver a compilar e implementar el ensamblado y los modelos.

Si las interfaces del back-end cambian con frecuencia, se recomienda el enfoque de conector personalizado. Al usar este enfoque, solo es necesario realizar cambios en el modelo.