Отличия между использованием соединителя сборки .NET и написанием настраиваемого соединителя
Дата последнего изменения: 7 июля 2010 г.
Применимо к: SharePoint Server 2010
В этой статье
Использование соединителя сборки .NET
Написание настраиваемого соединителя
Преимущества и недостатки соединителя сборки .NET в сравнении с настраиваемым соединителем
Причина использования соответствующего подхода
В этом разделе описывается, когда следует использовать соединитель сборки .NET, предоставленный с Microsoft Business Connectivity Services (BCS), и когда необходимо написать настраиваемый соединитель для подключения к внешним системам, который не поддерживается явно Business Connectivity Services.
Настраиваемый соединитель написан без учета внешних типов контента, которые подключаются к внешним системам (например, ко всем базам данным или веб-службам), где каждая сборка подключения .NET относится к определенному внешнему типу контента. Кроме того, настраиваемый соединитель, в отличие от сборки подключения .NET, обеспечивает интеграцию пользовательского интерфейса администрирования.
Использование соединителя сборки .NET
При использовании соединителя сборки .NET вместо настраиваемого соединителя требуется выполнить следующие действия.
Запишите код в виде классов Microsoft .NET Framework и скомпилируйте классы в основную библиотеку DLL и несколько зависимых библиотек DLL.
Опубликуйте библиотеки DLL в базе данных подключения к бизнес-данным (BDC).
Используйте Microsoft SharePoint Designer для обнаружения сборки подключения .NET и создания модели.
Сопоставьте каждую сущность с классом в библиотеке DLL и сопоставьте каждую операцию BDC в этой сущности с методом в этом "классе".
Во время выполнения, если пользователь запускает операцию BDC, выполняется соответствующий метод в основной библиотеке DLL.
Написание настраиваемого соединителя
При написании настраиваемого соединителя вместо использования сборки подключения .NET требуется выполнить следующие действия.
Реализуйте интерфейсы ISystemUtility, IConnectionManager и ITypeReflector (только ISystemUtility является обязательным). Также можно переопределить диспетчер подключения по умолчанию и интерфейсы EntityInstance. Кроме того, реализация IAdministrableSystem предоставляет поддержку управления свойствами пользовательского интерфейса администрирования, а реализация ISystemPropertyValidator предоставляет возможность проверки времени импорта свойств LobSystem (не на клиенте Microsoft Office).
Скомпилируйте код на этапе 1 в библиотеку DLL и разместите ее в кэше глобальных сборок на сервере и клиентах.
Создайте XML-модель для настраиваемого источника данных (SharePoint Designer 2010 не поддерживает создание моделей для настраиваемых соединителей).
Во время выполнения, если пользователь запускает операцию 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. Для этого, в свою очередь, требуется повторная компиляция и развертывание сборки и моделей.
Если внутренние интерфейсы изменяются часто, рекомендуется применять настраиваемый соединитель. При использовании этого подхода требуется изменять только модель.