Андрей Колесов

Управление информацией и знаниями - одна из ключевых сегодня областей, где расширяется применение информационных технологий. Это отражает тот факт, что в круг задач автоматизации вошла сейчас автоматизация деятельности тех пользователей, которым по роду их работы необходимо получать разнообразную информацию, но алгоритмы обработки этой информации крайне сложно формализовать. В американской литературе такая категория специалистов называется "knowledge workers", что можно перевести старым советским термином "работники умственного труда". Достаточно часто таких людей называют "лицами, принимающими решения", но данное определение слишком узко - кроме руководителей и бизнесменов разного ранга, в состав knowledge workers входят аналитики, эксперты, журналисты и т.д.

Поддержка деятельности работников умственного труда заключается в решении взаимосвязанной пары задач:

  • обеспечение доступа к широкому кругу источников информации (персональных, групповых, корпоративных, внешних);
  • предоставление возможности гибкой настройки персонального рабочего места, включая выбор источников данных, способа предварительной обработки информации и ее представления.

С технологической точки зрения возможны два варианта реализации подобного механизма: с размещением соответствующего ПО на сервере ("тонкий клиент") или на клиентском компьютере ("толстый клиент"). Первый способ фактически выливается в создание корпоративного портала - централизованного "шлюза", через который сотрудники предприятия получают доступ как к внутренним, так и внешним информационным ресурсам. Достаточно типичный пример такого решения - Hummingbird Enterprise Information Portal (см. статью "Полет "Колибри""). Достоинство данного варианта - применение огромного набора функций и минимизация затрат на администрирование. Но размещение портала на корпоративном сервере автоматически снижает возможности гибкой настройки для конкретного пользователя. Например, он физически не может обратиться через единый интерфейс к персональной информации, которая лежит на его собственном ПК. Кроме того, по финансовым соображениям создание корпоративного портала недоступно малым и средним предприятиям, не говоря уже о частных лицах.

Второй способ подразумевает перенос всей функциональности портала на рабочее место пользователя (при этом перечисленные выше для первого способа достоинства и недостатки меняются местами). Одно из наиболее эффективных решений такой задачи предлагает корпорация Microsoft: это технология Digital Dashboard (DDB) - электронная информационная панель (ранее использовался дословный перевод - "цифровая приборная панель").

Технология DDB была впервые представлена в конце лета 1999 г., практически одновременно с выпуском версии Miсrosoft Office 2000 Developer Edition. Это, конечно же, не совпадение, так как DDB фактически представляет собой технологическое расширение Microsoft Office. Тогда же появился специальный набор для разработчиков DDB Startup Kit.

Пользователи и разработчики довольно быстро оценили новинку - к моменту появления нового набора ресурсов DDB Resource Kit 2.01 летом 2000 г., по данным Microsoft, было реализовано более 300 тыс. комплектов инструментария для создания DDB, а число реализованных проектов исчислялось сотнями. В России одной их первых начала заниматься DDB-разработкой компания Exteria, которая в конце 1999 г. выполнила проект с использованием DDB для агентства "Прайм-Тасс", а затем создала русскоязычную коллекцию DDB-компонентов по заказу московского представительства Microsoft.

В первый год существования DDB российское отделение Microsoft не проявляло заметной активности в продвижении данной технологии, однако с осени 2000 г. DDB была уже представлена как одно из главных направлений работы корпорации в нашей стране. В октябре был открыт русскоязычный сервер по этой тематике (www.msddb.ru). В ноябре данному вопросу был посвящена отдельная серия докладов на конференции "Microsoft Платформа 2001", где всем участникам раздавали компакт-диски с DDB Resource Kit 2.01 (DDBRK) и русской коллекцией компонентов.

В связи с появлением DDB поставщики портальных технологий стали выражать явное недовольство - "Билл Гейтс пришел и сюда: ничего хорошего от этого не жди". Действительно, Microsoft в данном случае действует в традиционном для себя стиле: оказывается, что почти все необходимое для работы у пользователей уже имеется, дополнительные средства распространяются бесплатно, и при этом для создания конкретных решений привлекаются десятки (или сотни) тысяч независимых разработчиков.

DDB - Web-страница, открытая в Outlook

В первую очередь следует подчеркнуть, что DDB - это не коробочный продукт и уж тем более не корпоративный информационный портал. DDB - это технология, которая позволяет создавать настраиваемые решения для сотрудников, работающих с информацией (knowledge workers), обеспечивая объединение персональной, групповой, корпоративной и внешней (Интернет) информации и предоставляя доступ к различным инструментам анализа и коллективной работы, к источникам данных.

На самом деле за термином Digital Dashboard скрывается очень простая вещь. DD-панель - это обычная HTML-страница, открытая в Outlook 2000. Для этого используется стандартный компонент ActiveX, который находится в библиотеке SHDOCVW.DLL. В этой связи сразу возникает вопрос - зачем использовать для этого Outlook 2000, когда уже есть специальные программы просмотра, браузеры? Тем не менее есть несколько доводов в пользу такого решения.

  1. Сегодня Microsoft позиционирует именно Outlook в качестве предмета первой необходимости для любого компьютерного пользователя (речь идет, конечно же, о корпоративных пользователях). Контакты, календарь, электронная почта, групповая работа и пр. - это должно быть у каждого "информационного" сотрудника постоянно под рукой. Теперь, с появлением DDB, функции Outlook резко расширяются, эта программа становится "окном" для доступа к другим программным и информационным ресурсам.
  2. В Outlook 2000 по сравнению с предыдущей версией резко увеличены возможности функционального расширения. В нем реализована достаточно мощная объектная модель и встроен полнофункциональный механизм VBA.
  3. Использование общих папок позволяет обеспечивать информационное взаимодействие участников единой рабочей группы.
  4. Можно уверенно предположить, что Microsoft просто не хочет, чтобы ее технология была доступна для браузеров других поставщиков. В принципе DDB-панели можно загружать при помощи любого браузера (по крайней мере, это позволяет Internet Explorer), но при этом будут автоматически заблокированы все обращения к объектам Outlook. Ценность такого приложения тем самым резко снижается, тем более что функциональность Outlook в будущем будет явно возрастать.

Еще раз подчеркнем: DDB - это HTML-страница (обычная HTM или активная ASP), открытая в Outlook и использующая (скорее всего) объектную модель данной программы. Пользователь может открывать ее в качестве страницы Outlook Today или сделать ее "домашней страницей" для одной или нескольких стандартных папок Outlook. Соответственно для создания DDB в принципе достаточно любого HTML- или даже текстового редактора.

Структура DDB и DDB-компоненты

В то же время DDB - не совсем обычная HTML-страница, так как она предполагает использование новых технологических компонентов. Для этого давайте посмотрим на внешний вид типичной DDB-страницы (рис. 1). Как видно, наверху обычно располагается панель навигации, а ниже в две колонки расположены четыре окна с элементами, которые и составляют суть новой технологии, то, что превращает HTM-страницу в DDB-панель. В первых год существования DDB-технологии эти компоненты назывались тuggets ("самородки"), с выпуском DDBRK 2.0 они стали именоваться Web Parts, или DDB-компоненты.

Fig.1
Рис. 1. Общий вид панели Digital Dashboard.

DDB-компонент - это повторно используемый программный элемент, который содержит Web-контент (XML- или HTML-код или сценарии) и стандартную схему свойств (property schema), определяющую, каким образом этот компонент отображается на информационной панели.

Структура DDB-компонента предоставляет различные возможности его реализации - формирования содержимого и логики взаимодействия с пользователем. Можно встроить в компонент другой внешний программный объект, указать адрес объекта в локальной сети или в Интернете, считать содержимое Web-узла или указать ссылку на XML-документы или XSL-фaйлы. В самом простом варианте DDB-компонент может быть еще одной обычной HTML-страницей.

С точки зрения внутреннего кода DDB-панели, DDB-компонент - вложенный контейнер, конструкция Generic Block-level Container, обозначаемая тегами

<DIV>…</DIV>
Внутри общего контейнера находятся два других контейнера, содержащие заголовок и тело компонента.

<div class="nugget" id="NuggetName">
  <table id="nuggetTable" border="0" cellpadding="0" cellspacing="0">
    <tr>
      <td nowrap width="100%" class="nuggetTitle">
         Nugget Title
      </td>
      <td nowrap class="nuggetButtonWrapper">
        <img id="toggle" src="images/close.gif">
      </td>
    </tr>
  </table>
  <div valign="top" id="content" width="100%">
    Nugget Body Content
  </div>
</div>

Заголовок компонента содержит его название (чаще всего это гиперссылка на объект) и кнопку, раскрывающую или скрывающую окно.

Совершенно очевидно, что реальное применение персональных и корпоративных порталов непосредственно связано с наличием DDB-компонентов, выполняющих задачи конкретных пользователей. Можно увидеть полную функциональную аналогию между DDB-компонентами и компонентами e-Clip в портале Hummingbird EIP, но при этом столь же очевидны качественные различия в реализации. e-Clip - это серверный программный компонент, который работает в фиксированной среде ядра портала. DDB-компонент может находиться как на клиенте, так и на сервере, работая в различных средах.

Здесь нужно опять отметить традиционный для Microsoft стиль маркетингового продвижения новой технологии. В свое время успех Visual Basic как средства разработки приложений был в многом обеспечен появлением огромного числа дополнительных готовых программных расширений, которые резко увеличивали скорость и эффективность разработки. Причем все эти годы многие программисты жаловались на то, что функциональности средств, входящих непосредственно в VB, для многих серьезных задач явно недостаточно. Но дело-то в том, что Microsoft и не собиралась делать "самые лучшие в мире компоненты" - она открыла программный интерфейс их создания, что повлекло за собой появление качественно нового сегмента рынка разработки компонентов, с привлечением десятков тысяч независимых программистов.

Продвижение DDB-технологии происходит по совершенно аналогичной схеме. Некоторые DDB-компоненты, разработанные Microsoft, входят в состав Microsoft Office. Корпорация активно стимулирует создание подобных компонентов независимыми разработчиками. Только русская коллекция DDB-компонентов (www.msddb.ru/resource/rusddb/) насчитывает их уже более трех десятков. Пока все это распространяется бесплатно, но по мере расширения числа DDB-пользователей будет формироваться и соответствующий сегмент рынка ПО. Бесплатные компоненты сохранятся, но скоро появятся условно-бесплатные и коммерческие. К тому же все желающие могут создавать собственные DDB-компоненты и, что важно, без затраты средств на приобретение дополнительных инструментов. История ActiveX-компонентов повторяется...

"Стандартные" компоненты DDB

В приведенном примере DDB-панели стоит также обратить внимание на элемент ActiveX Microsoft Investor Ticker (рис. 2), который можно размещать на любых HTML-страницах. Investor Ticker показывает информацию в собственном окне в виде одной или нескольких бегущих строк. Каждый элемент бегущей строки - это гиперссылка, по которой выполняется переход на Web-страницу с более подробной информацией о событии. Для включения элемента в страницу нужно написать такой код:

<OBJECT
type="application/x-oleobject"
classid="clsid:62360003-D8A7-418b-9DC6-2B9DE95273A0"
codebase="http://fdl.msn.com/public/investor/v8/0326/
	ticker.cab#version=8,2000,0326,2"
width="100%" height=34>

При первом же открытии страницы с таким кодом в Internet Explorer пользователю будет предложено установить новый элемент ActiveX.

Fig.2
Рис. 2. Компонент Microsoft Investor Ticker - получение оперативной информации.

После кода обращения к объекту идет описание источников информации. Следующий код выводит две бегущие строки, получаемые из последних новостей MSN о состоянии финансовых рынков.

<param name="NumLines" value="2">
<param name="ServerRoot" value="http://moneycentral.msn.com">
<param name="Keywords" value="http://www.msnbc.com/news
	/ticker.txt">
<param name="SpecialsServerURL" value="http://
	moneycentral.msn.com/investor/ticker/specials.txt">
<param name="BigTarget" value="_top">
<param name="NewsTarget" value="_new">
<param name="StockTarget" value="_top">
<param name="ShowBrand" value="1">
<param name="BackgroundColor" value="0x00FFFFFF">
<param name="DefaultCategories" value="Commerce,
	Investor Headlines"
<param name="InvestorHeadlines" value=
"http://moneycentral.msn.com/articles/data/InvHead.txt">
</OBJECT>

Пользователь может сформировать собственные информационные ресурсы, которые будут использоваться в Investor Ticker.

Но наиболее часто при работе с DDB используется элемент управления ActiveX, который входит в состав Microsoft Office 2000 и называется Outlook View Control. Он обеспечивает доступ к содержимому любой папки Outlook из HTML-страницы. С помощью этого компонента можно создать (не прибегая ни к каким специальным средствам, просто в обычном текстовом редакторе!) DDB-компоненты, которые будут выводить информацию из папок Outlook на DDB-панель. Например, написав простой код на VBScript, можно вывести в окне сообщения, отфильтровав их по заданному вами алгоритму. Вот как выглядит код создания DDB-компонента, который выводит на панель все содержимое папки Inbox:

<table table table border="0" width="98%" cellspacing="0" 
cellpadding="0">
  <tr>
  <! Заголовок DDB-компонента>
    <td width=100% valign=top>
      <a href="outlook:\\Personal Folders\Inbox">Входящие</a>
    </td>
  </tr>
  <tr>
    <! ccылка на Outlook View Control>
    <td width="100%">
      <OBJECT classid=CLSID:0006F063-0000-0000-C000-
000000000046 id=ViewCtlFolder 
        width=100% height=430>
        <param name="View" value>
        <param name="Folder" value="\\Personal Folders\Inbox">
        <param name="Namespace" value="MAPI">
        <param name="Restriction" value>
        <param name="DeferUpdate" value="0">
      </OBJECT>
    </td>
   </tr>
</table>

В состав Microsoft Office 2000 входят также несколько компонентов ActiveX, получивших название Office Web Components. Они предназначены для использования в составе HTML-страниц или DDB-панелей, а также в обычных приложениях, и могут находиться как на сервере, так и на клиентских компьютерах (но только в рамках корпоративной сети). В процессе разработке ссылка на них устанавливается с помощью библиотеки Microsoft Office Web Components 9.0 Version 1.0. Фактически эти компоненты реализуют некоторые функции программ, входящих в семейство Microsoft Office.

Компонент Spreadsheet обеспечивает интерактивный доступ к электронным таблицам (рис. 3). С его помощью можно просматривать таблицы, а также выполнять сложные расчеты, поскольку в компоненте доступен тот же набор формул, что и в Excel.

Fig.3 Рис. 3. Компонент Spreadsheet.

Компонент Microsoft PivotTable позволяет получать сводные таблицы, в том числе обращаясь к источникам данных OLAP, в частности, к Microsoft OLAP Services (рис. 4).

Fig.4
Рис. 4. Компонент PivotTable.

Компонент Chart предназначен для графического представления данных, получаемых из различных источников информации (рис. 5).

Fig.5 Рис. 5. Компонент Chart.

Компонент DataSource Control - вспомогательный компонент, который обеспечивает соединение источников данных с элементами отображения.

Что нужно для разработки DDB-панелей

Из всего сказанного выше следует парадоксальный вывод, что для создания DDB-панелей в минимальном случае вообще никаких дополнительных средств не нужно - подойдет любой инструмент разработки HTML-страниц. А для работы с DDB-панелями требуется Microsoft Internet Explorer 5.0 или Microsoft Outlook 2000 (последний предпочтительнее).

Однако для создания действительно полезной DDB-панели потребуются соответствующие DDB-компоненты. Часть из них доступна через Интернет (например, Microsoft Investor Ticker), часть входит в состав Microsoft Office 2000 (Outlook View Control, Web Components). Кстати, для создания HTML-страниц с ихпомощью можно использовать Microsoft FrontPage 2000 - после установки компонентов Office на диск они прописываются во FrontPage в меню Insert (рис. 6).

Fig.6 Рис. 6. Компоненты Office "прописались" в меню FrontPage.

Далее возникает задача создания собственных DDB-компонентов, и тут без профессиональных средств создания программируемых HTML- и XML-страниц уже не обойтись. Конечно, понадобится и набор ресурсов DDB Resource Kit 2.0, который распространяется бесплатно (www.microsoft.co,/solutions/km/ddrk.htm). В его состав входит следующее.

Набор электронных информационных панелей, предназначенных для использования совместно с хранилищами данных: файловой системой Windows 2000 или Microsoft SQL Server 7.0 (в ближайшее время должны появиться примеры для Microsoft Exchange 2000).

Коллекция DDB-компонентов, разработанных корпорацией Microsoft и независимыми компаниями-разработчиками.

Компонент Digital Dashboard Services - специальный клиентский компонент, который включается к состав каждой электронной панели как скрытый объект, обеспечивающий повторное использование функциональных компонентов и их взаимодействие между собой.

Web Part Builder - дополнение (Add-in) для Microsoft Visual InterDev, позволяющее создавать более сложные DDB-компоненты.

Документация.

Русская коллекция DDB-компонентов (представлена по адресу www.msddb.ru/resource/rusddb/).

Стоит также отметить, что DDB-компоненты можно создавать в среде самой DDB-панели или применять для этого Web Part Builder (в последнем случае потребуется еще и InterDev).

DDB - портал или не портал

В заключение опять вернемся к вопросу: как соотносятся между собой DDB и корпоративные информационные порталы? DDB - это технология, которая позволяет решить важную часть проблемы создания индивидуального информационного портала для конкретного сотрудника, а также для группового общения. Ее скорее всего можно применять и для создания мощных порталов, но только в совокупности с другими средствами, причем желательно в рамках платформы Microsoft. При этом понятно, что DDB может использовать не только крупная организация., но и студент для организации своего рабочего места дома.

Что лучше - купить за несколько сотен тысяч долларов готовый комплекс класса EIP, который можно за небольшой срок адаптировать, или постепенно складывать систему из кирпичиков без столь серьезных разовых затрат? Cколь велики реальные потребности в портале? Подобных вопросов можно задавать много, и ответы на них не будут однозначными. В данном случае важнее другое - чтобы у разработчика и пользователя был выбор...