Інтеграція зовнішніх джерел даних в SharePoint

У багатьох компаніях 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, яким способом їх показати і як користувачі будуть взаємодіяти з ними, допоможе краще планувати внутрішні механізми.

Джим Бойс ( [email protected] ) - старший менеджер в компанії Affiliated Computer Services, що надає послуги SharePoint більш ніж 20 тис. Користувачів

Малюнок. Приклад архітектури BCD