Обзор объектной модели службы Business Connectivity Services
Microsoft Business Connectivity Services (BCS) предоставляет обширные и расширяемые объектные модели, позволяющие создавать пользовательские решения, основанные на существующих компонентах Business Connectivity Services.
Дата последнего изменения: 15 июля 2010 г.
Применимо к: SharePoint Server 2010
В этой статье
Объектные модели подключения к бизнес-данным
Объектная модель среды подключения к бизнес-данным
Объектная модель администрирования подключения к бизнес-данным
Объектная модель кэширования службы BCS
Объектная модель упаковки решений службы BCS
В этом разделе приведен краткий обзор следующих объектных моделей Business Connectivity Services, доступных на сервере с работающим пакетом Microsoft SharePoint Foundation 2010 или Microsoft SharePoint Server 2010 либо на клиенте с работающим набором Microsoft Office 2010:
объектные модели BDC;
объектная модель среды выполнения BDC для сервера и клиента;
объектная модель администрирования BDC для сервера и объектная модель клиента администрирования подключения к бизнес-данным для клиента;
объектная модель кэширования службы BCS для клиента;
объектная модель упаковки решений службы BCS для сервера, на котором работает SharePoint Server 2010.
Примечание
Эта объектная модель недоступна в SharePoint Foundation 2010.
Кроме объектных моделей Business Connectivity Services, для работы с внешними списками можно также использовать объектную модель списка SharePoint и клиентскую объектную модель, доступные в SharePoint Foundation 2010. Дополнительные сведения см. в разделе Использование объектных моделей списка и клиента SharePoint с внешними списками и в документации по объектным моделям в библиотеке классов службы Business Connectivity Services (Возможно, на английском языке).
Объектные модели подключения к бизнес-данным
Для описания интерфейсов API внешних систем подключения к бизнес-данным (BDC) использует метаданные. Когда описание интерфейса API внешней системы зарегистрировано в BDC, BDC предоставляет подключения динамического доступа к внешним данным, не требуя написания дополнительного кода. Например, чтобы отобразить данные из веб-службы AdventureWorks в списках и веб-частях SharePoint, опытный пользователь или разработчик определяют метаданные, определяя бизнес-сущности и методы, доступные в веб-службе. В случае с AdventureWorks может понадобиться определить метаданные для следующих внешних типов контента: Customer и SalesOrder. Это можно легко осуществить с помощью Microsoft SharePoint Designer 2010. Внешние типы контента представлены в объектной модели объектами Entity. Для каждого внешнего типа контента, который нужно сделать доступным в BDC, можно определить метаданные методов, которые будут использоваться для извлечения данных из внешней системы.
Модель метаданных BDC абстрагирует используемые физические источники, предоставляя простую и непротиворечивую модель авторам метаданных, работающим с различными видами внешних систем. Иерархия объектов метаданных показана на рисунке 1.
Рисунок 1. Иерархия объектов метаданных
Модель BDC определяет семантические метаданные, такие как внешние типы контента и связи, добавляющие смысл в интерфейс API. После импорта модели в хранилище метаданных BDC разработчикам, программирующим пользовательские решения с помощью BDC, не нужно изучать внешние интерфейсы, они могут использовать упрощенные объектные модели BDC. Например, объектная модель среды выполнения BDC предоставляет такие вызовы, как System.Entity, Entity.FindFiltered и Entity.FindAssociated, которые упрощают получение нужных внешних данных. Такой подход упрощает для разработчиков работу с внешними системами, обычно обладающими сложными интерфейсами API.
Модели BDC хранятся в реляционной базе данных и перед собственной интерпретацией средой выполнения BDC загружаются в память. Набор таблиц и хранимых процедур базы данных для хранения, чтения и изменения модели BDC образует компонент хранилища метаданных BDC. Этот компонент существует только в развертываниях Business Connectivity Services на серверах. Вместо непосредственного изменения базы данных для редактирования элементов модели BDC следует использовать объектную модель администрирования, редактировать базу данных нельзя. На клиенте этот компонент заменяется переходной, выполняемой в памяти десериализацией модели BDC в базе данных Microsoft SQL Server 2005 Compact Edition.
Низкоуровневая архитектура BDC показана на рисунке 2.
Рисунок. 2. Низкоуровневая архитектура подключения к бизнес-данным
![]() |
---|
Хранилище метаданных службы подключения к бизнес-данным не содержит внешних данных, в нем хранятся только метаданные о внешней системе. |
При работе с объектными моделями BDC следует знать о следующих возможностях обратной совместимости с объектной моделью каталога бизнес-данных и о доступности объектных моделей в изолированных решениях.
Обратная совместимость с каталогом бизнес-данных
Объектная модель подключения к бизнес-данным в Microsoft SharePoint 2010 не совместима с объектной моделью каталога бизнес-данных в Microsoft Office SharePoint Server 2007, хотя эти две модели и очень похожи. SharePoint 2010 же содержит устаревшую объектную модель каталога бизнес-данных, и, следовательно, существующие приложения, использующие эту объектную модель, будут работать в новой версии SharePoint 2010. Чтобы использовать все богатство функциональных возможностей продукта, рекомендуется применять в SharePoint 2010 объектную модель подключения к бизнес-данным. Также рекомендуется перевести существующие приложения на использование объектной модели подключения к бизнес-данным, чтобы гарантировать будущую совместимость и использовать новые возможности. Дополнительные сведения об обновлении до SharePoint Server 2010 см. в разделе Планирование обновления до Business Connectivity Services (SharePoint Server 2010).
Объектная модель подключения к бизнес-данным недоступна в изолированных решениях
Из изолированного решения нельзя напрямую обращаться к объектной модели подключения к бизнес-данным. Дополнительные сведения об изолированных решениях в SharePoint см. в разделе Изолированные решения. При этом интерфейсы API подключения к бизнес-данным совместимы с моделью безопасности Microsoft .NET Framework, и их может вызывать код, работающий с частичным доверием .NET Framework. Дополнительные сведения об управлении доступом для кода в .NET Framework см. в разделе Управление доступом для кода. Даже когда интерфейсы API подключения к бизнес-данным вызываются кодом с частичным доверием, любой внешний код, выполняемый в результате вызова, будет выполняться с полным доверием, включая прокси веб-служб, сборки соединителей .NET, пользовательские соединители, пользовательские отражатели типов и обработчики.
Объектная модель среды подключения к бизнес-данным
Как показано на схеме архитектуры BDC, у общего интерфейса BDC есть два набора интерфейсов API. Это объектная модель среды выполнения и объектная модель администрирования.
Объектная модель времени выполнения предназначена для использования клиентами и приложениями BDC. Ее основная функция — предоставить интуитивно понятный объектно-ориентированный интерфейс, абстрагирующий используемые источники данных. Объектная модель времени выполнения изолирует клиентские приложения от необходимости использовать специфические для конкретной внешней системы парадигмы кодирования и предоставляет клиентам доступ ко всем внешним системам с помощью одного единообразного интерфейса. Благодаря объектной модели времени выполнения вызов метода для приложения SAP очень похож на вызов метода для приложения Siebel или выполнение запроса к Microsoft SQL Server. С помощью объектной модели времени выполнения приложения могут считывать и записывать внешние данные, а также изменять их.
![]() |
---|
BDC делегирует фактический вызов метода соответствующему поставщику ADO.NET (для баз данных), прокси веб-служб (для веб-служб) и сборке .NET Framework (для сборок .NET Framework). |
Так как объектная модель среды выполнения используется метаданные, кэшированные в памяти, она работает быстро. В клиентах, которые должны запрашивать информацию о метаданных из хранилища метаданных, следует использовать объектную модель среды выполнения.
Пространство имен Runtime содержит три основных объекта.
IEntity. Представляет собой бизнес-сущность во внешней системе, такую как Customer (заказчик) или Order (заказ), обычно называемую внешним типом контента.
IEntityInstance. Концептуально, экземпляр сущности — это один элемент, возвращаемый из внешней системы в BDC. Интерфейс IEntityInstance абстрагирует используемые источники данных и изолирует клиентов от необходимости использовать специфические для конкретного приложения парадигмы кодирования, предоставляя клиентам доступ ко всем бизнес-данным единым упрощенным образом. С помощью интерфейса IEntityInstance со строкой данных из базы данных можно работать точно так же, как и со сложной структурой .NET Framework, возвращаемой веб-службой.
С экземпляром сущности в BDC связана особая семантика. Например, она позволяет узнать, какие поля в строке представляют собой идентификатор экземпляра сущности, и вызывать для этого экземпляра сущности такие методы, как GetAssociated, GetIdentifierValues и Execute.
IEntityInstanceEnumerator. Перечислители можно использовать для считывания данных из коллекций, но их нельзя использовать для изменения базовой коллекции. IEntityInstanceEnumerator поддерживает потоковую передачу и поэтому очень полезен, когда внешняя система возвращает большие объемы данных.
Объектная модель администрирования подключения к бизнес-данным
Объектную модель администрирования можно использовать для создания, чтения, изменения и удаления объектов в хранилище метаданных BDC. Она обладает относительно высокой задержкой — до одной минуты может пройти, прежде чем BDC обновит кэш на всех интерфейсных веб-серверах и серверах приложений в развертывании. Этот компонент существует в развертываниях Business Connectivity Services на серверах. На клиенте существует клиентская версия объектной модели администрирования.
Объектная модель кэширования службы BCS
Microsoft Business Connectivity Services (BCS) предоставляет общую объектную модель, пространство имен Microsoft.BusinessData.Offlining, для программного обновления клиентского кэша службы BCS, изменения подписок на кэш, а также для обнаружения и разрешения ошибок.
В объектной модели среды выполнения BDC, на уровне экземпляра метода, Business Connectivity Services позволяет передавать режим работы, который сообщает среде выполнения нужно ли использовать кэш, и если нужно, то как. Business Connectivity Services поддерживает два следующих режима использования кэша:
Online (оперативный). Если приложение работает в оперативном режиме, кэш не используется. Все вызовы ко внешней системе, такие как Read и Update, направляются средой выполнения подключения к бизнес-данным (BDC) прямо во внешнюю систему.
Cached (кэшированный). Если для приложения выбран кэшированный режим, используется кэш. Кэш заполняется экземплярами сущностей из внешней системы во время развертывания, и данные обновляются из внешней системы через заданные промежутки. Операции направляются сначала не во внешнюю систему, а в кэш. Кэш помещает эти операции в очередь операций и выполняет их по одной.
Объектная модель упаковки решений службы BCS
Декларативное решение — это решение, выполняющееся в Microsoft Outlook 2010. Декларативное решение декларативно использует обширные возможности клиентской среды выполнения Business Connectivity Services. Можно создать несколько XML-файлов, например для модели BDC, манифеста решения (OIR.config), подписки, ленты и макетов, и передать их в Business Connectivity Services во время упаковки. Business Connectivity Services упакует и развернет решение в Outlook и будет выполнять его в соответствии с конфигурацией, заданной в XML-файлах. В таком решении можно ссылаться на пользовательские части внешних данных, настраиваемые действия, области задач и ленты, а также использовать их.
Business Connectivity Services предоставляет общую объектную модель для упаковки декларативного решения в Outlook. Созданный пакет развертывается на клиенте как пакет надстройки разработки Office в Visual Studio 2010. Двоичный файл надстройки не является частью пакета, он предоставляется Business Connectivity Services как часть управляемых библиотек DLL, которые в настоящее время размещаются в глобальном кэше сборок во время установки Microsoft Office.
См. также
Концепции
Установка контекста для использования объектных моделей BDC
15 классов объектной модели BCS верхнего уровня
Использование объектных моделей списка и клиента SharePoint с внешними списками
Что такое внешние типы контента?
Инфраструктура модели подключения к бизнес-данным
Службы Business Connectivity Services: практические инструкции и пошаговые руководства
Службы Business Connectivity Services: образец XML-файла и примеры кода