Во многих компаниях SharePoint применяется в основном для совместной работы с документами, от простого общего доступа до согласованных алгоритмов обработки и одобрения документов. Конечно, используются групповые календари и другие средства совместной работы, но главная функция SharePoint — хранение документов.
Однако совместная работа с документами — всего лишь один из уровней в инфраструктуре SharePoint. Это решение обеспечивает не только полнофункциональный портал, но и интеграцию с внутренними системами для накопления и публикации данных. Рассмотрим некоторые примеры применения SharePoint для отображения и манипуляций с внешними источниками данных.
Простые подключения к данным
BMC Remedy Action Request System компании BMC Software — широко распространенная система управления событиями и задачами. В моей группе Remedy, по крайней мере отчасти, используется для обработки запросов задач и событий, относящихся к обслуживаемым нами приложениям и системам. Помимо одобрения запросов об изменениях, основную часть времени я провожу вне Remedy, так как мне не приходится активно работать с билетами. Однако мне необходимо отслеживать события в очереди текущих задач. На данном этапе полезен SharePoint.
Для хранения данных Remedy используется внутренняя база данных Microsoft SQL Server. Поскольку SharePoint может подключаться и запрашивать базы данных SQL Server, процесс извлечения данных о задачах и происшествиях из Remedy в SharePoint сравнительно прост. В этом случае элементы из очереди нашей группы извлекаются на сайт SharePoint. Затем члены группы и менеджеры могут немедленно увидеть события в очереди, не открывая Remedy. Кроме того, сайт группы получает из SharePoint задачи, назначенные текущему пользователю. Поэтому, посещая сайт группы, я вижу содержимое очереди Remedy и список всех назначенных мне задач SharePoint.
Для интеграции внешних источников данных в SharePoint без сторонних модулей расширения или подготовки специальных страниц необходим продукт Microsoft Office SharePoint Designer 2007. Требуется также знать учетные данные, используемые для подключения к внутренней базе данных, и схему этой базы данных, чтобы построить соответствующие очереди для сбора данных. Наконец, прежде чем начать подключаться к любой базе данных в компании, учтите производительность, особенно важнейших внутренних производственных систем. Например, мы не подключаемся напрямую к производственному экземпляру Remedy; вместо этого используется подключение к серверу отчетов, отставание которого от реального времени составляет 15 минут. Мы поступаемся своевременным обновлением данных в допустимых пределах, чтобы избежать ухудшения производительности производственной системы Remedy, иначе возмущению сотрудников других групп не будет границ.
Для интеграции внешних данных, независимо от типа, необходимо создать подключение к данным, определяющее способ соединения с внешним источником данных. В SharePoint Designer откройте страницу, на которой нужно показать данные. Выберите команды Data View, Manage Data Sources, чтобы открыть библиотеку источников данных в правой части. Разверните узел Database Connections и нажмите кнопку Connect to a database, чтобы открыть диалоговое окно Data Source Properties. Щелкните Configure Database Connection, чтобы запустить мастер с тем же именем.
В мастере нужно указать имя сервера базы данных, тип поставщика (в данном случае поставщик SQL Server) и учетные данные проверки подлинности для подключения, как показано на экране 1. На основе этих свойств SharePoint Designer формирует строку подключения к базе данных. Когда подключение будет установлено, нажмите Next, чтобы выбрать целевую базу данных и таблицу или представление, из которого будут поступать данные. Нажмите кнопку Finish, чтобы создать подключение и вернуться в диалоговое окно Data Source Properties.
Затем необходимо указать поля, включаемые в запрос, наряду с параметрами фильтрации и сортировки (если они имеются). Щелкните Fields, чтобы открыть диалоговое окно Displayed Fields. В этом окне можно добавить или удалить поля по мере необходимости, а затем нажать кнопку OK. Если не требуется получать все записи из базы данных, следует организовать фильтр. Нажмите кнопку Filter, затем щелкните в диалоговом окне Filter Criteria, чтобы добавить фильтр. В примере, показанном на экране 2, два фильтра: Assigned_Group Contains 'Collab' и Issue_Status Not Equal 'Closed.' Эти два фильтра обеспечивают набор данных, состоящий из всех назначенных нашей группе элементов, которые не закрыты (то есть все открытые элементы для нашей группы). Чтобы отсортировать записи, щелкните Sort в диалоговом окне Data Source Properties, назначьте порядок сортировки и нажмите OK. Затем нажмите OK и закройте диалоговое окно Data Source Properties.
После того как подключение будет установлено, можно добавить Web-часть Data View, которая будет использовать данные. Разместите курсор на странице, в которую нужно вставить Web-часть. Выберите Data View, Insert Data View. Затем нужно перенести поля в Web-часть, поэтому щелкните раскрывающееся меню рядом со вновь созданным источником данных и выберите команду Show Data, открыв область задач Data Source Details. В области Data Source Details должен отображаться набор записей с полями. Начните с переноса одного поля в Web-часть, затем щелкните Web-часть, чтобы выбрать ее, щелкните малую правую стрелку в левом углу Web-части, а потом пункт Edit Columns во всплывающем меню. Добавьте поля и расположите их в нужном порядке, а затем нажмите кнопку OK.
На данном этапе в Web-части должны динамически отображаться записи из набора данных. Можно применить обычное форматирование (например, выделить красным поле Issue_ID для событий SEV1), указать, сколько записей следует показывать, включить сортировку и фильтрацию заголовков столбцов и изменить другие свойства.
Использование связанных источников данных
В предшествующем примере используется единственный источник данных — одна таблица SQL Server. С помощью SharePoint Designer можно связать несколько источников данных и показать результаты в Web-части Data View. Например, можно показать пару таблиц базы данных SQL Server, или XML-файл и базу данных SQL Server, или два XML-файла и т. д.
При связывании источников данных в SharePoint Designer открывается две возможности: слияние (merge) или соединение (join). Слияние применяется к источникам данных с одинаковой структурой. Предположим, у нас имеются четыре базы данных инвентаризации, по одной для каждого из четырех складов. Чтобы показать общий вид данных в SharePoint, нужно выполнить слияние источников данных. Соединение выполняется, если схемы источников данных различны, но есть общее поле. Например, можно соединить базы данных заказчиков и базы данных заказов по общему полю CustomerID, чтобы показать список заказчиков и недавних заказов.
Сначала определяются подключения к данным для нескольких источников, как описано в предшествующем разделе. Определив подключения к данным, разверните узел Linked sources в области Data Source Library и щелкните Create a new Linked Source. Как показано на экране 3, источники данных выбираются в запускаемом мастере; затем нужно выбрать слияние или соединение и другие параметры в зависимости от типа подключения к данным. Для баз данных выбор режимов шире, чем для других типов данных.
Процесс добавления данных на страницу в общем такой же, как для единственного, не связанного источника данных. Поля можно перенести с помощью мыши в Web-часть Data View или щелкнуть Insert Selected Fields As и выбрать нужное представление: одного или нескольких элементов. Дополнительные сведения о создании и вставке связанных источников данных можно найти в справке SharePoint Designer, выполнив поиск с ключевыми словами linked data sources.
На данном этапе важно понять, что не обязательно иметь Microsoft Office SharePoint Server (MOSS) 2007 для интеграции внутренних источников данных. Все задачи, рассмотренные выше, можно выполнить с помощью служб Windows SharePoint Services (WSS).
Использование служб Excel Services
Службы Excel Services функционируют только с MOSS 2007; они состоят из трех компонентов: Excel Calculation Services (ECS), Excel Web Access (EWA) и Excel Web Services (EWS). ECS загружает рабочую книгу, выполняет вычисления, обновляет внешние данные и обслуживает сеансы. EWA — Web-часть, которая обеспечивает взаимодействие с данными Excel в SharePoint. С помощью EWS разработчики строят специальные приложения, интегрируемые с рабочими книгами Excel. Excel Services — еще один инструмент, обеспечивающий возможность интеграции внешних данных в SharePoint, в данном случае из Microsoft Excel в SharePoint.
Рассмотрим пример: компания использует сложную рабочую книгу Excel в качестве инструмента управления проектом для отслеживания важнейших вопросов и этапов. Дважды в неделю 20 человек получают вызов на конференцию, в ходе которой рассматривается состояние проекта и обсуждаются отдельные элементы проекта в рабочей книге. Необходимо, чтобы все участники каждый раз получали обновленную версию рабочей книги. По крайней мере, рабочую книгу следует передать в SharePoint, чтобы каждый участник мог загрузить копию для совещания. Чаще рабочую книгу рассылают по электронной почте всем участникам, перегружая почтовое хранилище и почтовые ящики «Входящие». Гораздо более удачное решение — опубликовать электронную таблицу в SharePoint через службы Excel Services.
В этом случае менеджер проекта загружает рабочую книгу на сервер файлов или в библиотеку документов SharePoint. Затем менеджер проекта, администратор SharePoint или разработчик создает страницу или набор страниц портала в SharePoint для публикации данных из рабочей книги. Вместо того чтобы дважды в неделю рассылать рабочие книги или даже загружать рабочую книгу из SharePoint, участники могут просто заглянуть на страницу портала проекта и узнать его состояние. На экране 4 показан пример электронной таблицы отслеживания проекта, отображаемой с помощью службы Excel Services.
В этой ситуации службы Excel Services явно сокращают объем данных, пересылаемых по системе электронной почты компании. Вероятно, еще более важно, что существует единый эталонный источник данных, одна рабочая книга Excel, управляемая и обновляемая менеджером проекта. Пользователям больше не приходится беспокоиться о получении новейшей версии, достаточно посетить портал.
Использование BDC
Каталог бизнес-данных, Business Data Catalog (BDC), представляет собой набор компонентов сервера MOSS, обеспечивающих интеграцию SharePoint с разнообразными внешними источниками данных, в том числе приложениями базы данных, SAP, Siebel и другими приложениями для бизнеса. В сущности, каталог BDC не только служит коммуникатором между SharePoint и внешней системой данных, но и предоставляет компоненты для отображения данных в SharePoint. На рисунке показан пример архитектуры BDC высокого уровня (на основе публикации на Web-узле MSDN).
BDC поддерживает несколько механизмов извлечения данных из внутренних баз данных, в том числе ADO.NET, OLEDB и ODBC. С помощью каталога BDC можно получить данные из других систем, доступных через Web-службы. Процесс подключения к внешней системе данных с помощью BDC не сводится к операциям типа «наведи и щелкни»; сначала необходимо описать подключение с использованием метаданных в XML-файле, именуемом файлом определения приложения, Application Definition File (ADF). Этот процесс требует понимания API-интерфейсов внутренних систем данных и структуры содержимого.
Технически можно создать подключение BDC к внутренней системе с использованием файла ADF без подготовки специального кода, но реализация решения на основе BDC — задача заведомо более сложная, чем подключение Web-части Data View к базе данных SQL Server для извлечения полей из таблицы. Необходимо понимать, что у обычного администратора SharePoint не всегда есть достаточная подготовка для организации подключения и, скорее всего, ему придется работать совместно с группой, которая занимается обслуживанием внутренних систем.
После того как установлено соединение между SharePoint и внутренней системой, данные из внутренней системы могут быть представлены в SharePoint с использованием нескольких механизмов, не последний из которых — подготовка специального программного кода. Однако в SharePoint входит несколько Web-частей Business Data, с помощью которых можно показать данные с использованием подключений к каталогу BDC без специального программного кода. К ним относятся:
- Business Data Actions — отображает список действий, связанных с элементами в каталоге BDC;
- Business Data Items — отображает элемент из источника данных в каталоге BDC;
- Business Data Item Builder — передает элемент бизнес-данных в другие Web-части;
- Business Data List — отображает список элементов из источника данных в каталоге BDC;
- Business Data Related List — отображает список элементов из одного или нескольких родительских элементов из источника данных в каталоге BDC;
- Business Data Catalog Filter — фильтрует содержимое подключенных Web-частей с использованием списка значений из каталога BDC.
В дополнение к использованию Web-частей Business Data, для показа данных BDC можно создать новый столбец в списке SharePoint для отображения данных. Добавляя столбец, пользователь указывает сущность BDC и связанные с ним свойства. Затем, при добавлении нового элемента в список, нужно выбрать экземпляр сущности, который предстоит включить в список. В список копируются собственно данные, а не внешняя ссылка, поэтому время от времени следует обновлять данные из внутренней системы. SharePoint располагает пиктограммой Refresh для имени столбца, щелкнув на которой можно получить данные из внутренней системы.
В дополнение к отображению данных из внутренних систем в порталах SharePoint можно использовать поиск SharePoint в масштабах компании для просмотра внутренних систем и получения результатов поиска из этих систем. В этот процесс входит регистрация источника данных в каталоге BDC, определение соответствующих свойств метаданных, добавление источника содержимого в поиск, отображение просмотренных свойств и (дополнительно) назначение области поиска или поисковых страниц специально для данных. Как и при интеграции внешних данных BDC в портал SharePoint, этот процесс не сводится к действиям типа «указать и щелкнуть». Тем не менее поиск во внутренних системах из SharePoint можно организовать без специализированного программного кода. Это позволит дать пользователям возможность выполнять поиск не только в SharePoint или серверах файлов, но и во многих внутренних бизнес-системах из объединенного поискового интерфейса.
Выбор оптимального метода
SharePoint обеспечивает развитую инфраструктуру для интеграции внешних источников данных, от простого объединения данных SQL Server в Web-части Data View до сложных задач извлечения информации из SAP и других бизнес-систем с использованием каталога BDC. В одних случаях для интеграции достаточно нескольких щелчков мышью в мастерах SharePoint Designer, в других может потребоваться участие бизнес-аналитика, эксперта по XML и одного или нескольких специалистов по API-интерфейсам и структуре данных внутренних систем.
Независимо от сложности, первый шаг, как в любом проекте, требует ясного определения требований. Четкое понимание, какие данные нужно извлечь в SharePoint, каким способом их показать и как пользователи будут взаимодействовать с ними, поможет лучше планировать внутренние механизмы.
Джим Бойс (jim@boyce.us) — старший менеджер в компании Affiliated Computer Services, предоставляющей услуги SharePoint более чем 20 тыс. пользователей
Рисунок. Пример архитектуры BCD