Привлекательность SharePoint в определенной степени обусловлена возможностью его использования в качестве инфраструктуры для извлечения данных из различных источников. Хотите заменить устаревший диспетчер отчетов для SQL Server Reporting Services? Microsoft Office SharePoint Server 2007 (сокращенно MOSS) позволяет задействовать режим интеграции SharePoint для управления отчетами так же, как и другими библиотеками документов. Хотите подключиться к системе управления персоналом от PeopleSoft и отобразить данные о сотрудниках вместе с документами W2 и I9? MOSS редакции Enterprise позволяет использовать так называемый «каталог бизнес-данных» Business Data Catalog (BDC) для управления таким подключением. Работаете со слабоструктурированными данными? Службы InfoPath Forms могут оказаться подходящим решением. Пытаетесь управлять быстрым ростом количества электронных таблиц? Со службами Excel Services можно получать таблицы Excel непосредственно в окне веб-браузера без необходимости устанавливать полный клиент Office.
SharePoint предлагает богатый набор возможностей для пользовательских приложений и проектировщиков отчетов, однако не стоит забывать о подключениях к данным SharePoint Designer, а также о подключениях сторонних разработчиков и подключениях, сделанных по заказу. Давайте посмотрим, как обеспечивать защиту подключений, ориентированных как на пользователей, так и на разработчиков.
Библиотеки подключений к данным
Настройки, которые формируют подключение, такие как строки подключений и OLAP-запросы, могут быть сохранены в файле подключений к данным Office (файл с расширением .odc) или в универсальном файле подключений к данным (файле с расширением .udc). Эти файлы подключений к данным могут храниться отдельно от отчетов SSRS, книг Microsoft Excel и шаблонов форм InfoPath, которыми они используются. В MOSS реализованы так называемые «библиотеки подключений к данным» Data Connection Libraries (DCL), которые централизованно хранят эти подключения к данным, Office для повторного использования. Библиотеки DCL — новый тип библиотек SharePoint (аналогичные библиотекам документов), которые могут хранить файлы подключений и управлять ими. Можно использовать мастер подключений к данным, доступный в InfoPath 2007 и Excel 2007, для управления выгрузкой файлов .odc- и .udc в библиотеку DCL. На экране 1 показан пример библиотеки DCL с файлом .odc, используемым службами Excel, и файлом .odc, используемым службой InfoPath Forms, а также с удаленным подключением к данным (Remote Data Connection, RDC), который применяется службой отчетов SSRS. Подробнее об управлении подключениями к данным рассказано в статье «Plan data connection management», http://technet.microsoft.com/en-us/library/cc263151.aspx.
SharePoint предоставляет пользователям возможность управлять подключением к внешней системе независимо от отчетов и форм, которые могут задействовать это подключение. Данная возможность полезна и для служб Excel, и для служб InfoPath Forms, так как избавляет от необходимости использовать встроенные подключения, которые со временем устаревают и для которых становится труднее находить решения возникающих проблем.
Подключения к службам InfoPath Forms
InfoPath позволяет разрабатывать собственные (заказные) формы для ввода данных. Эти данные сохраняются в списке SharePoint, который затем разделяет отдельные поля списка и помещает их в базу данных SQL Server, где хранится контент SharePoint. Шаблоны форм служб InfoPath также получают выгоду от хранения файлов .udc в библиотеке DCL. Эти подключения могут быть использованы для первичных и вторичных подключений к данным, а также для пересылки подключений. Перечислим некоторые из преимуществ хранения подключений к данным служб InfoPath в библиотеках DCL.
- Можно создать подключение к данным однократно и использовать его на нескольких серверах в различных доменах как с шаблонами форм обычного клиента InfoPath, так и с шаблонами форм служб InfoPath Forms Services.
- Можно централизованно публиковать одобренные подключения к данным, изменять подключения к данным, не влияя на шаблоны форм, и определять, какие подключения безопасны для междоменного доступа.
На экране 2 показан пример формы InfoPath для извлечения имени и фамилии сотрудника из вторичного, используемого в режиме «только чтение» источника данных vEmployee.
Подключения к службам Excel
Аналогично формам InfoPath, книги Excel могут подключаться к внешним источникам данных. Эти подключения могут храниться либо в самой книге Excel, либо в файле .odc или .udc, что позволяет повторно использовать информацию о подключении и централизованно управлять параметрами подключения. В статье Microsoft «Plan external data connections for Excel Services» (http://technet2.microsoft.com/Office/f/? en-us/library/7e6ce086-57b6-4ef2-8117‑e725de18f2401033.mspx) более подробно рассказывается о подключениях и книгах Excel, а также службах Excel. На экране 3 показана таблица Excel, извлекающая данные из внешнего источника данных. Информация об этом подключении хранится в библиотеке DCL на сервере SharePoint.
Интеграция с SSRS
Служба отчетов SSRS содержит такое веб-приложение, как диспетчер отчетов, Report Manager, которое позволяет управлять доступом пользователей, подписками и централизованно управляемыми источниками данных. Почему бы не поработать над интеграцией SSRS и SharePoint? Примечательно, что SharePoint позволяет размещать отчеты в защищенной совместной рабочей среде с представлением деталей из других типов систем построения отчетов (например, служб Excel) и информацией из каталогов бизнес-данных. Перечислим некоторые дополнительные преимущества использования интегрированной среды SSRS и SharePoint.
- Подключения к данным SSRS хранятся в библиотеках DCL аналогично подключениям к данным служб InfoPath Forms и Excel, предоставляя централизованный список подключений.
- Поскольку отчеты хранятся в библиотеках документов SharePoint, они получают такие преимущества SharePoint, как осуществление процесса документооборота, реализация политик управления информацией и управление версиями.
- На отчеты распространяется та же модель безопасности, что и на остальной контент SharePoint, и нет необходимости поддерживать отдельные списки ACL для управления доступом на сервере отчетов.
- Отчеты SSRS могут встраиваться в панели мониторинга, которые используют веб-части SharePoint для предоставления динамического пользовательского интерфейса.
На экране 4 можно увидеть отчет SSRS с общим подключением к данным. Дополнительную информацию о выполнении задач службы SSRS в MOSS можно найти в статье «SSRS and MOSS 2007: Deploying the Power», http://www.sqlmag.com/Articles/ArticleID/97071/97071.html.
Статья Microsoft «Security Overview for Reporting Services in SharePoint Integration Mode» (http://technet.microsoft.com/en-us/library/bb283324.aspx) посвящена обеспечению безопасности SSRS в режиме интеграции с SharePoint. Механизм проверки подлинности SharePoint определяет, как устанавливаются подключения или выполняются запросы между SSRS и SharePoint. Если SharePoint настроен для использования проверки подлинности Windows с протоколом Kerberos, то SharePoint передает учетные данные пользователя серверу отчетов, который проверяет, какие разрешения имеет пользователь на доступ к объектам SQL Server, необходимым для отчета. Если SharePoint настроен для использования проверки подлинности Windows без Kerberos или для проверки подлинности на основе форм, в этом случае SharePoint будет подключаться к службе SSRS с учетной записью пула приложений IIS, в котором исполняется веб-приложение SharePoint.
Каталог бизнес-данных
SharePoint также представляет собой платформу для разработчиков: он позволяет задействовать каталоги бизнес-данных и программные интерфейсы SharePoint для создания гибко настраиваемых приложений, отображающих бизнес-данные в SharePoint. Каталог бизнес данных — это набор настраиваемых подключений к различным источникам данных, которые предоставляют разработчикам стандартный интерфейс к данным любых корпоративных бизнес-приложений, использующих подключения к базам данных или веб-службам. Каталог бизнес-данных позволяет разработчикам создавать интерфейс между их программным кодом и любым источником данных, доступным через компоненты ADO.NET или веб-службы. Корпоративные приложения, такие как ERP-системы, системы CRM и системы управления персоналом, чаще всего основные объекты для каталогов бизнес-данных. Фактически каталог бизнес-данных поставляется с готовым набором веб-частей, которые могут использоваться дизайнерами сайта для отображения данных из корпоративных приложений в портале без написания какого-либо кода, кроме создания необходимых для привязки к базам данных XML-файлов. В дополнение к отображению информации из приложений в веб-частях каталога бизнес-данных, этот каталог позволяет системе поиска MOSS выполнять обход и индексирование содержимого структурированных бизнес-данных, а также импортировать бизнес-данные в профили пользователей.
Относительно приложений каталога бизнес-данных важно помнить, что можно делать их подключения двусторонними (на чтение и запись информации), используя инструменты независимых разработчиков, такие как BDC Meta Man. Здесь существует опасность, что неаккуратные разработчики могут непреднамеренно нарушить (обойти) бизнес-правила, подключаясь напрямую к источнику данных. Каталог бизнес-данных поддерживает следующие пять методов проверки подлинности:
- PassThrough — проверка подлинности от имени конечного пользователя;
- RevertToSelf — для подключения к базе данных используется учетная запись пула приложений IIS;
- WindowsCredentials — используются учетные данные Windows из службы единого входа SharePoint;
- RdbCredentials — используются учетные данные службы единого входа;
- учетные данные, используемые веб-службами, которые требуют учетную запись не из системы Windows.
Дополнительную информацию о методах проверки подлинности каталога бизнес-данных можно найти в статье «Business Data Catalog Authentication» (http://msdn2.microsoft.com/en-us/library/ms566523.aspx).
Как только механизм проверки подлинности выбран, с помощью инструмента Microsoft Business Data Catalog Definition Editor, входящего в комплект средств разработки Software Development Kit для MOSS 2007, создается XML-документ, который моделирует систему базы данных. Этот XML-документ, содержащий все параметры строки подключения, сохраняется в SharePoint в качестве конфигурации приложения каталога бизнес-данных. Эти приложения определяются и сохраняются в провайдере общих служб Shared Services Provider (SSP) для веб-приложения.
Подключения к базам данных сторонних разработчиков
В своей основе SharePoint — расширяемое веб-приложение на платформе ASP.NET 2.0. Разработчики могут без труда добавлять в SharePoint подключения к базам данных, разработанным сторонними компаниями или созданным по заказу. Хотя группа разработчиков SharePoint не приветствует модификацию независимыми разработчиками баз данных самой системы SharePoint, нет никаких ограничений на использование внешних баз данных для хранения данных заказных веб-частей или приложений, размещенных в SharePoint. Любому администратору баз данных необходимо тесно сотрудничать с разработчиками для применения правильных методик при программировании доступа к базам данных SharePoint, точно так же как при реализации любого проекта по разработке на платформе ASP.NET.
Для защиты производственных сайтов SharePoint администраторы должны знать требования механизма управления доступом для кода и стараться не устанавливать уровень доверия кода веб-приложений SharePoint до Full Trust. Такие понятия, как управление доступом для кода и разработка на платформе ASP.NET, слишком объемные вопросы для данной статьи. Мы рекомендуем изучить эту тему по материалу Microsoft «Code Access Security in SharePoint 2007 for Administrators», http://www.combined-knowledge.com/Downloads%202007.htm. Корпорация Microsoft недавно выпустила пакеты исправлений SP2 для MOSS и WSS, куда входит утилита Upgrade Pre-scan Tool, которая может помочь предотвратить ряд проблем при планировании развертывания будущих версий SharePoint.
SharePoint Designer и подключения к базам данных
SharePoint располагает еще одним механизмом для подключения к внешним источникам данных — SharePoint Designer. Официальный продукт из семейства Microsoft Office, SharePoint Designer представляет собой очередной эволюционный шаг развития от FrontPage 2003 к полноценному инструменту разработчика, предназначенному для среды SharePoint. SharePoint Designer предоставляет возможность подключения к нескольким типам источников данных, только один из которых в действительности является базой данных. Другие типы данных, доступные в библиотеке источников данных SharePoint Designer, показаны на экране 5.
К сожалению администраторов, источники данных в приложениях, созданных в SharePoint Designer, не хранятся в библиотеках DCL. Данная информация хранится внутри самих приложений и может корректироваться с помощью SharePoint Designer.
Управляйте подключениями к данным
Централизованно управляемые подключения к данным в библиотеках DCL в системе SharePoint предполагают упрощенное управление; однако здесь важно заметить, что не каждое подключение к внешним данным может быть включено в файл .odc или .udc. Это очень досадно, так как Excel, InfoPath и SSRS в интегрированном режиме SharePoint могут использовать преимущества модели безопасности SharePoint, которая позволяет назначать разрешения на уровне отдельных элементов, предотвращая несанкционированный доступ к данным.
Мэтт Ранлет (mranlett@devcow.com) — консультант в компании Intellinet из Атланты, имеет звание Microsoft MVP
Брендон Шварц (bschwartz@devcow.com) — старший консультант из Атланты, имеет звание Microsoft MVP