Поделиться через


Отличия между использованием соединителя сборки .NET и написанием настраиваемого соединителя

Дата последнего изменения: 7 июля 2010 г.

Применимо к: SharePoint Server 2010

В этой статье
Использование соединителя сборки .NET
Написание настраиваемого соединителя
Преимущества и недостатки соединителя сборки .NET в сравнении с настраиваемым соединителем
Причина использования соответствующего подхода

В этом разделе описывается, когда следует использовать соединитель сборки .NET, предоставленный с Microsoft Business Connectivity Services (BCS), и когда необходимо написать настраиваемый соединитель для подключения к внешним системам, который не поддерживается явно Business Connectivity Services.

Настраиваемый соединитель написан без учета внешних типов контента, которые подключаются к внешним системам (например, ко всем базам данным или веб-службам), где каждая сборка подключения .NET относится к определенному внешнему типу контента. Кроме того, настраиваемый соединитель, в отличие от сборки подключения .NET, обеспечивает интеграцию пользовательского интерфейса администрирования.

Использование соединителя сборки .NET

При использовании соединителя сборки .NET вместо настраиваемого соединителя требуется выполнить следующие действия.

  1. Запишите код в виде классов Microsoft .NET Framework и скомпилируйте классы в основную библиотеку DLL и несколько зависимых библиотек DLL.

  2. Опубликуйте библиотеки DLL в базе данных подключения к бизнес-данным (BDC).

  3. Используйте Microsoft SharePoint Designer для обнаружения сборки подключения .NET и создания модели.

  4. Сопоставьте каждую сущность с классом в библиотеке DLL и сопоставьте каждую операцию BDC в этой сущности с методом в этом "классе".

Во время выполнения, если пользователь запускает операцию BDC, выполняется соответствующий метод в основной библиотеке DLL.

Написание настраиваемого соединителя

При написании настраиваемого соединителя вместо использования сборки подключения .NET требуется выполнить следующие действия.

  1. Реализуйте интерфейсы ISystemUtility, IConnectionManager и ITypeReflector (только ISystemUtility является обязательным). Также можно переопределить диспетчер подключения по умолчанию и интерфейсы EntityInstance. Кроме того, реализация IAdministrableSystem предоставляет поддержку управления свойствами пользовательского интерфейса администрирования, а реализация ISystemPropertyValidator предоставляет возможность проверки времени импорта свойств LobSystem (не на клиенте Microsoft Office).

  2. Скомпилируйте код на этапе 1 в библиотеку DLL и разместите ее в кэше глобальных сборок на сервере и клиентах.

  3. Создайте XML-модель для настраиваемого источника данных (SharePoint Designer 2010 не поддерживает создание моделей для настраиваемых соединителей).

  4. Во время выполнения, если пользователь запускает операцию BDC, вызывается метод Execute в классе ISystemUtility. Таким образом, ответственность за выполнение фактического внутреннего метода лежит на методе Execute (что реализовано в настраиваемом соединителе).

Преимущества и недостатки соединителя сборки .NET в сравнении с настраиваемым соединителем

В следующей таблице перечислены преимущества и недостатки использования соединителя сборки .NET по сравнению с настраиваемым соединителем.

Сборка подключения .NET

Настраиваемый соединитель

Библиотека DLL, которая реализует бизнес-логику, содержится в хранилище BDC. Поэтому не требуется размещать библиотеку DLL отдельно в кэше глобальных сборок.

Двоичные файлы, которые реализуют настраиваемый соединитель, требуется разместить в кэше глобальных сборок на клиенте и сервере.

Библиотека DLL платформы .NET Framework, которая реализует бизнес-логику, развертывается на "толстых" клиентских компьютерах с помощью ClickOnce на основе развертывания Business Connectivity Services.

Для установки двоичных файлов, которые реализуют настраиваемый соединитель, необходим отдельный процесс установки.

Для развертывания на клиентском компьютере не требуются права администратора.

Права администратора необходимы на клиентском компьютере для размещения сборки в кэше глобальных сборок.

Перевод внешних списков в автономный режим работы будет работать нормально, так как нужные сборки развертываются с помощью ClickOnce.

Перевод внешних списков в автономный режим работы не будет работать, если во время установки на клиенте сборка не была размещена в кэше глобальных сборок.

Предоставляет удобный способ, если есть возможность получения доступа к бизнес-логике с помощью статических API, которые редко изменяются.

Предоставляет удобный способ, если внутренние интерфейсы часто изменяются (являются динамическими).

Не предоставляет средств для переопределения компонента TypeReflector по умолчанию (компонент Business Connectivity Services, который интерпретирует типы как типы .NET Framework).

Предоставляет средства для переопределения компонента TypeReflector по умолчанию и реализации настраиваемого компонента TypeReflector.

Необходимо однозначное сопоставление сущности BDC и класса .NET Framework. Таким образом, если одна сущность BDC должна объединять несколько классов, требуется написать оболочку. Для этого необходимо повторно скомпилировать и развернуть сборку подключения .NET.

Таких ограничений нет.

Интерфейсы DLL работают как внутренний интерфейс для Business Connectivity Services, поэтому фактический внутренний интерфейс полностью абстрагирован от стека Business Connectivity Services. Так как библиотека DLL сборки .NET Framework загружается в процессе с Business Connectivity Services, никаких требований к безопасности нет. Всегда используется сквозной режим ("Passthrough").

При применении настраиваемого соединителя можно использовать различные механизмы безопасности, предоставляемые Business Connectivity Services, в том числе настраиваемый механизм безопасности (Business Connectivity Services обеспечивает собственную поддержку RevertToSelf, Passthrough, Credentials и WindowsCredentials).

В Business Connectivity Services есть средства, поддерживающие соединитель сборки .NET в SharePoint Designer (обнаружение) и в Visual Studio 2010 (разработка и развертывание библиотеки DLL и модели).

Нет поддержки настраиваемых соединителей.

Причина использования соответствующего подхода

Соединитель сборки .NET и настраиваемый соединитель — это удобные механизмы расширения возможностей подключения Business Connectivity Services, поддерживаемые Business Connectivity Services.

Рекомендуется использовать соединитель сборки .NET, если внешняя система является статической. В противном случае при каждом изменении внутреннего интерфейса требуется изменять библиотеку DLL сборки подключения .NET. Для этого, в свою очередь, требуется повторная компиляция и развертывание сборки и моделей.

Если внутренние интерфейсы изменяются часто, рекомендуется применять настраиваемый соединитель. При использовании этого подхода требуется изменять только модель.