Инфраструктура модели подключения к бизнес-данным
Дата последнего изменения: 27 июля 2010 г.
Применимо к: SharePoint Server 2010
В этой статье
Что такое метаданные?
Модель метаданных подключения к бизнес-данным
Основы модели подключения к бизнес-данным
Рекомендации
При разработке и проектировании подключения к бизнес-данным (BDC) перед нами была поставлена следующая основная задача — позволить разработчикам предоставлять доступ к данным из различных внешних систем, таких как CRM, ERP и баз данных в приложениях Microsoft Office 2010 и Microsoft SharePoint Server 2010, прилагая минимум усилий к написанию кода. Для достижения этого BDC предоставляет единообразный доступ к используемым источникам данных с помощью декларативной модели метаданных подключения к бизнес-данным, предоставляющей согласованную и упрощенную клиентскую объектную модель.
В рамках этой модели опытные пользователи или разработчики вводят данные о внешней системе в каталог метаданных, используя такие средства, как SharePoint Designer или Visual Studio. Затем пользователи, бизнес-аналитики и разработчики приложений взаимодействуют с этим компонентом опосредованно, используя компоненты и объектную модель Microsoft Business Connectivity Services (BCS).
В этом разделе SDK SharePoint 2010 показана иерархия объектов в рамках модели метаданных, описаны члены и приведены примеры их использования.
Что такое метаданные?
Метаданные — это данные об интерфейсах API внешних систем. Для каждой внешней системы метаданные определяют бизнес-сущности, с которыми взаимодействует приложение, и методы, доступные в этом приложении. Опытные пользователи и разработчики определяют метаданные, используя SharePoint Designer или Visual Studio. BDC хранит метаданные в хранилище метаданных службы подключения к бизнес-данным.
Метаданные — это данные о внешней системе, а не сами внешние данные. Внешние данные существуют только во внешней системе (хотя кэшированная копия существует в клиентском кэше службы BCS, если внешние списки получены для автономного использования).
Модель метаданных подключения к бизнес-данным
Модель метаданных подключения к бизнес-данным — это ядро BDC. Структуры данных, такие как Entity (внешний тип контента) и Method, абстрагирующие сложные структурные элементы внешних систем, совокупно называются MetadataObjects и образуют модель метаданных подключения к бизнес-данным. Эта модель для внешней системы, по сути, является XML-файлом. Он создается автоматически при создании внешнего типа контента в SharePoint Designer. После создания и передачи модели в хранилище метаданных службы подключения к бизнес-данным на сервере, на котором работает SharePoint Server, внешние типы контента, определенные в модели, можно использовать в любое время в SharePoint Server и в приложениях Microsoft Office (например, в Microsoft Outlook, Microsoft SharePoint Workspace и Microsoft Word), чтобы показать внешние данные в контексте, используя компоненты представления Business Connectivity Services и пользовательские решения.
На схеме ниже показана иерархия объектов метаданных.
Рисунок 1. Иерархия объектов метаданных
Просмотреть модель подключения к бизнес-данным можно в любой момент, используя параметр Экспорт на странице службы приложения подключения к бизнес-данным в центре администрирования SharePoint Server или используя параметр Экспорт для внешнего типа контента в SharePoint Designer.
LobSystem
LOBSystem представляет собой внешнюю службу или программную систему, обычно состоящую из определенной бизнес-логики обработки данных (данные могут находиться в реляционном хранилище или другом постоянном хранилище данных). Бизнес-логика представлена интерфейсами API. Эти интерфейсы API определяют разрешенные операции и предопределенные ограничения.
В модели BDC обычно элемент LobSystem содержит сведения о подключении к конкретному типу Type внешней системы, набор сущностей Entities (внешние типы контента), связанный с этой же внешней системой, и определение того, как работать с внешней системой и как "обертывать" возвращаемые ей значения.
LobSystemInstance
LobSystemInstance — это конкретная реализация того или иного LobSystem. Например, веб-служба, описывающая конкретный WSDL, — это LobSystem, а URL-адрес, по которому она размещена, является экземпляром этого объекта LobSystem. Понятие LobSystemInstance помогает при моделировании нескольких экземпляров конкретного объекта LobSystem.
Entity
Entity (представляющий собой внешний тип контента) описывает структуру бизнес-сущности. Концептуально эта структура сопоставляется с реальными бизнес-объектами, такими как клиент, заказ и возможная сделка. Entity соответствует внешнему типу контента в Business Connectivity Services. Тип сущности BDC состоит, по крайней мере, из одного или нескольких методов. Поля (называемые TypeDescriptors в модели BDC) сущности определяются набором сложных типов, возвращаемых одним или несколькими методами внешней системы. Таким образом, сущность BDC состоит из набора методов, а во время выполнения структура экземпляра этой сущности определяется из значений, возвращенных тыловым методом или методами. В большинстве случаев у типа сущности есть удостоверение — набор скаляров, значения которых однозначно определяют экземпляр сущности в коллекции экземпляров сущностей. Каждое скалярное значение, являющееся частью удостоверения сущности, называется Identifier. Поля сущности могут относиться к простому или сложному типам. SimpleType представляет собой скалярные (или атомарные) типы (например, integer, string), а ComplexType представляет собой структурированные поля (например, адрес). ComplexType состоит из 0 или более полей, которые могут быть скалярного или сложного типов. На каждом уровне объекта метаданных BDC поддерживаются пользовательские свойства, и каждое свойство состоит из пар "имя-значение", которые могут использоваться приложениями для расширения модели.
Methods и MethodInstances
Methods в модели метаданных — это абстрактные описания тыловых интерфейсов API. Они являются неисполняемыми элементами, MethodInstances же представляют собой исполняемые экземпляры Methods. BDC получает значения по умолчанию, определенные в модели, и соответствующие данные, поступающие из приложений во время выполнения, определяет тыловой API, основываясь на Method и MethodInstance, и выполняет его. MethodInstances созданы по образу и подобию предопределенных операций BDC, таких как Create, Update, ReadSingle ( SpecificFinder в рамках этого объекта), ReadMultiple (Finder в рамках этого объекта), Delete и т. д. В BDC определено 20 стереотипов. Все они основаны на известных шаблонах изменения данных, используемых в таких системах, как базы данных и веб-службы. Основной причиной использования стереотипов — предоставление нейтрального относительно домена и сервера интерфейса доступа к данным, который может использоваться лицами, не знакомыми со сложными структурными особенностями тыловых систем. С помощью значений по умолчанию и стереотипов можно сильно упростить вызов обширных и сложных тыловых интерфейсов API для обычного сотрудника, занимающегося обработкой информации, который не хочет досконально изучать сложные системы.
Associations
Associations в BDC представляет собой отношения между сущностями (внешними типами контента). Но, так как BDC стремится предоставить единообразный интерфейс для различных видов тыловых систем, Association нельзя моделировать как отношение реляционной базы данных. Association в BDC указывает на определенную бизнес-логику (или интерфейс API) тыловой системы, получающую набор экземпляров сущности и возвращающую набор экземпляров другого типа сущности. В отличие от реляционных баз данных BDC не может гарантировать целостность ссылок, так как BDC не управляет логикой отношений, которой в явном виде управляет внешняя система.
Основы модели подключения к бизнес-данным
Изучите подразделы данного раздела, чтобы освоить основы моделей подключения к бизнес-данным.
Рекомендации
Метаданные, хранимые в хранилище метаданных в Microsoft SharePoint Server 2010, описывают структуру внешней системы. С помощью метаданных любой пользователь может обнаружить внешнюю систему и подключиться к ней. Поскольку метаданные предназначены для общего использования и могут загружаться с SharePoint Server и архивироваться на клиентских компьютерах, рекомендуется ограничить их объем. Например, следует избегать использования встроенных инструкций SQL в метаданных для внешних систем баз данных, так как они могут раскрывать сведения о структуре базы данных. Вместо этого в метаданных для внешних систем баз данных рекомендуется использовать хранимые процедуры.