Pull to refresh

SharePoint 2010: Business Connectivity Services

Reading time4 min
Views5.2K

Введение


В данной статье я хочу рассказать об одной из самых, на мой взгляд, полезных возможностях в SharePoint 2010. Речь пойдёт о BCS: Business Data Conectivity Services. BCS с точки зрения вариантов использования представляет собой некоторый аналог того, что было известно в MOSS 2007 как BDC (Business Data Catalog). Однако в новой версии SharePoint эти сервисы намного повзрослели. Так в чём же концептуальная разница:

  1. BDC предоставлял лишь read-only возможности
  2. BCS предоставляет двусторонний доступ с более глубокой интеграцией в SharePoint и Office
  3. BCS предоставляет механизм “внешних типов содержимого”, что позволяет описать внутренние взаимосвязи источника данных и абстрагировать их за интерфейсом пользователя (и объектной моделью) SharePoint либо Office

Так чем же всё таки хороши BCS?


"BCS — это эволюция возможностей Business Data Catalog (BDC) в SharePoint 2007, которая помогла улучшить возможности SharePoint как платформы разработки составных приложений. В этом решении содержатся готовые функциональные возможности, службы и средства, которые позволяют улучшить интеграцию с внешними данными и службами. BCS предоставляет возможность подключать SharePoint 2010 и приложения Office 2010 к любой внешней системе, будь то бизнес-приложения (например, Microsoft Dynamics, Oracle или Siebel), служба Web 2.0 или приложение собственной разработки".
Брэд Стивенсон, ведущий руководитель группы по разработке в Microsoft

Полная поддержка CRUDQ операций для внешних систем, т.е. SharePoint (далее подразумевается в паре с Office) может выступать в качестве “богатого клиента” для практически любых источников данных, а так же предоставлять гибкие возможности по интеграции систем вашего предприятия.
Единообразие доступа, т.е. вы можете пользоваться только SharePoint в качестве точки входа для ваших данных.
Упрощенная модель соединения включает в себя возможности декларативного описания подключения, что под силу не только разработчику, но и IT-специалисту, в некоторых случаях даже опытному пользователю. В помощь этим операциям приходят два инструмента: Visual Studio 2010 (о ней речь подробнее чуть позже в данной статье), а так же бесплатный инструмент Office SharePoint Designer 2010.
Глубокая интеграция здесь я имею ввиду доступ для сторонних систем ко всем возможностям SharePoint как платформы, будь то корпоративный поиск, политики прав доступа, администрирование источников данных.
Управление жизненным циклом приложений, построенных на BCS, т.е. любое ваше решение, пусть даже небольшая настройка, будет доступна в виде приложения, которое можно будет распространять для развертывания на серверной, либо клиентской стороне, позже обновлять при необходимости. Это очень полезные, часто используемые возможности.

Механизмы работы BCS


Для понимания механизмов работы необходимо разобраться с двумя понятиями:
  1. Business Data Connectivity Service
  2. BCS Client Runtime

Прочесть о их работе вкратце можно здесь: http://msdn.microsoft.com/en-us/library/ee559650(office.14).aspx

Источники данных для BCS


Следующий важный момент в разговоре о BCS – это типы источников данных. Таковыми могут являться следующие:
  1. Базы данных (доступные через ADO)
  2. WCF либо другие веб-сервисы (Для Oracle, SAP и Seibel так же есть WCF адаптеры)
  3. .NET-типы (т.е. делаем свою асбтракцию доступа к данным, скрываем её за IRepository и наслаждаемся)
  4. Другие источники, для которых потребуется либо дополнительные провайдеры доступа, либо просто декларативное описание методов доступа. (почитать подробности можно здесь: http://msdn.microsoft.com/en-us/library/ee554911(office.14).aspx)

Нужен пример


Думаю что с теорией достаточно, теперь необходимо показать, как же это делается в жизни (имеется ввиду девелоперская жизнь из окошечка Visual Studio). Работа с BCS из Visual Studio 2010 несколько напоминает работу с Entity Framework 4, вы можете создать свою модель данных и отобразить все связи на имеющиеся у вас источники.

Пользуясь гибкими возможностями расширения Visual Studio 2010 (MEF) многие разработчики уже успели облегчить себе жизнь, так же и для SharePoint разработки. Одно из данных решений называется BCS Meta Man (разрабатывается Lighting Tools).
Суть данной утилиты заключается в помощи генерации сущностей предметной области и сервисов доступа к данным по их источникам. Другими словами – вам остается только перетащить (изящность не в этом)табличку из server explorer и определить отображение данных, как  в вашем приложении сгенерируются соответствующие POCO объекты, и сервисы доступа к данным для них, и это безусловно очень удобно.
Видео работы с данной утилитой доступно здесь:



Так же пример работы с данной утилитой можно найти по адресу: http://docs.lightningtools.com/display/bcsmetaman/BCS+Meta+Man+-+Getting+Started
Использование .NET сборки в качестве источника данных описано здесь: http://www.lightningtools.com/blog/archive/2009/10/30/bcs-shims-ndash-.net-assembly-as-a-data-source-for.aspx

Ресурсы по BCS


BCS Team Channel http://blogs.msdn.com/bcs/
Video on Channel9 http://channel9.msdn.com/learn/courses/SharePoint2010Developer/ServicesArchitecture/
BCS Overview from SPConf 2009 http://www.youtube.com/watch?v=82xzNsG0d5A
Tags:
Hubs:
-1
Comments2

Articles