Тема номера
Новые стратегии развития Lotus Notes
Михаил Семерков, Андрей Слюсаренко
На рынке средств поддержки групповой работы продолжается оживление. Lotus Development Corp., в начале июня приступившая к поставкам новой версии своего популярного продукта Lotus Notes R4.1 International (разговор о котором на страницах "Компьютерры" уже шел), объявила о начале программы бета-тестирования ряда новых продуктов этой серии.
Пакет Notes, являющийся стандартом де-факто в этой области, предоставляет пользователям возможности "интеллектуальной базы данных", ориентированной на обработку слабоструктурированной информации, и развитые средства обмена сообщениями. В последней версии продукта реализована поддержка новых платформ – серверных (Novell NetWare, Windows 95) и клиентских (OS/2, Solaris, AIX, HP/UX, NT, Mac), работа приложений стала более устойчивой. Тестирования, проведенные различными независимыми лабораториями, подтвердили работоспособность систем Notes, поддерживающих работу 250-300 клиентов на одном сервере. Наконец, система на базе Notes версии 4.2 использовалась службами обеспечения безопасности на Олимпийских Играх в Атланте для координации работы более 50 агентств.
Тем не менее недавно было объявлено о начале программы бета-тестирования ряда новых продуктов, в том числе "Компонентов" (Lotus Components), Web-сервера Domino, средств разработки мультиязыковых баз данных Notes Global Designer и новой версии Notes, получившей порядковый номер 4.5. Главными ее особенностями станут возможность использования средств планирования и дальнейшая интеграция в Internet. В частности, в ней, наряду с дополнительными средствами Web-Ahead для загрузки Web-страниц в фоновом режиме и Site Minder для слежения за изменением содержимого почтового ящика и страниц в Сети, предусматривается перенос функций Web-браузера с серверной части Notes на клиентскую и поддержка альтернативных браузеров по желанию пользователя.
При работе с Windows NT эта версия также позволит использовать единый пароль для доступа к Notes и ресурсам ОС, централизованную регистрацию пользователей, поддержку регистрации событий и средств установки программного обеспечения Systems Management Server, так что администратор системы сможет производить эту процедуру без участия и информирования пользователя.
"Компоненты"
Lotus Components – это специализированные программные модули, расширяющие и дополняющие возможности Notes. Реализованы они в виде OLE Custom Controls (ActiveX) и представляют собой объекты, которые могут быть встроены в документы Notes или в другие контейнеры. В состав первой поставки (Starter Pack) входят шесть "базовых" модулей: планировщик проектов Project Scheduler, электронные таблицы Spreadsheet, просмотр-щик файлов File Viewer, деловая графика Charts, модуль построения рисунков и диаграмм Draw/Diagramming и аннотатор Commenting.
Фактически такой объектный подход реализован уже не только в Notes, но и в офисном пакете Smart-Suite. Наглядной демонстрацией является использование в "Компонентах" средств Draw/Diagramming из пакета презентационной графики Freelance Graphics 96.
Компоненты могут быть включены в любое поле документа Notes, имеющее тип rich text, так, что пользователь может применять предоставляемые средства, не вызывая дополнительных программ-серверов. На рисунке показано, как может выглядеть документ Notes, содержащий информацию о плане выполнения работ по проекту, реализуемому специалистами нашей компании.
Однако интеграция "Компонентов" и приложения-контейнера не ограничивается только возможностями пользовательского интерфейса. На самом деле доступ к объектам, представляющим "Компоненты", возможен программным путем с использованием классов, поддерживаемых в языке Lotus Script.
Предположим, нам необходимо составить отчет о командировке. При создании нового документа в него будет автоматически вставлен новый объект. Для этого используется, например, следующий фрагмент кода, вставляющий в поле Expense jeport электронную таблицу:
Dim Workspace as New
NotesUIWorkspace
Dim UIDoc as
NotesUIDocument
Dim Sheetl as Variant
Set UIDoc =
Workspace. CurrentDocument
Call UIDoc.GotoField
("Expense report")
Set Sheetl =
UIDoc. CreateObjectf "Отчет о командировке", "Lotus.Spreadsheet. 1")
Таким же образом можно менять свойства (properties) встроенных объектов и осуществлять обмен данными между полями документа Notes и встроенным объектом. Например, столбец электронной таблицы может быть автоматически сформирован на основании списка значений, выбираемых из базы данных Notes. Поддерживаются также протоколы Notes/FX 2.0 для обмена данными между документом-контейнером и встроенным объектом, Notes Publishing для выполнения типичных для Notes действий – например, пересылки документа по почте во время работы с компонентами, а также возможность привязки этих действий к определенным событиям, таким как нажатие клавиши или двойной щелчок мыши, с помощью механизма Active Events Linking.
Нужно отметить, что по сравнению со стандартными спецификациями OLE"Компоненты" используют специальные расширения, включающие поддержку контекстных меню, информационных панелей (InfoBox), обмена данными между собой, реализации механизма Notes/FX и средства безопасности данных, в том числе аутентификацию и защиту от вирусов. В этот список в дальнейшем предполагается включить поддержку печати и отказа от сделанных изменений.
Таким образом, с помощью "Компонентов" пользователь прикладной системы может достаточно быстро и просто формировать сложные документы, объединяющие различные аспекты информации. Например, описание нового товара может сопровождаться планом производства, расчетом стоимости и диаграммой предполагаемых продаж. Разработчики прикладных систем смогут использовать средства Соmponents Template Builder, входящего в начальный комплект, и пакета Lotus Component Developer's Toolkit, который планируется к поставке в конце года.

Как и большинство OCX-объектов, "Компоненты" довольно требовательны к ресурсам компьютера: необходимо как минимум 12, а лучше – 16 Мбайт оперативной памяти. Увеличение размера самого документа при добавлении пустого объекта компонента составляет от 11 Кбайт (File Viewer) до 70 Кбайт (Project Scheduler). Для работы требуется 32-разрядная версия клиента Notes версии 4.1 и старше, так что "Компоненты" будут функционировать только на платформах Windows 95 и NT. Если же пользователь применяет другую платформу или более старую версию Notes, то при открытии документа встроенный объект-компонент будет показан в виде нередактируемого графического изображения. Помимо Starter Pack в первую поставку войдет база данных The Lotus Components Product Warehouse, облегчающая процесс внедрения и поддержки "Компонентов" в организации. Планируется, что в США стоимость лицензии на использование "Компонентов" составит около 49 долларов, при корпоративных закупках по программе "паспорт" цена снижается до 17-19 долларов, а для пользователей, имеющих поддержку пакетов Notes и SmartSuite, поставка будет бесплатной.
Domino – основа для построения корпоративных сетей
Если 1995 год запомнился как год бурного развития Internet, то нынешний, 1996-й, безусловно, войдет в историю как время ожесточенной борьбы между производителями программного обеспечения для реализации внутрикорпоративных сетей по технологии Internet – так называемых "интранетов". Одним из возможных путей для решения данной задачи является использование технологии Notes, которую, по мнению ее разработчиков, не зледует рассматривать как альтернативу Web-системам: ранее был выпущен InterNotes Web Publisher, позволявший публиковать базы данных Notes в HTML-формате, а в версии 4.0 – и поддерживающий ввод данных в базы Notes на основе заполняемых клиентом форм. Правда, это взаимодействие носило несколько статичный характер, так как пользователи не могли наблюдать непосредственную реакцию системы. Теперь же для доступа к базам Notes достаточно любого Web-браузера, например, Netscape Navigator или Internet Explorer. Это стало возможным с появлением технологии Domino.

Сервер Domino, работающий как дополнительная задача (add-in) сервера Notes, обеспечивает взаимодействие с клиентами Internet в реальном времени, динамически создавая необходимые HTML-документы на основании документов и видов баз данных Notes. Так как Domino поддерживает с одной стороны соответствующие сетевые протоколы HTTP, MIME, SSL и синтаксис URL, а с другой – присущие Notes эффективные средства защиты данных, полнотекстового поиска и обмена сообщениями, то он может выступать как готовое и простое решение для построения корпоративного Web-узла.

Как выглядит процесс доступа к базе данных со стороны клиента? Сначала, задавая нужный URL хост-узла, вы получаете документ со списком баз данных. Далее выбирается интересующая вас база. Если администратор узла разрешил доступ к базе по умолчанию или для анонимных пользователей, то вы увидите список видов (Views) базы или графическую карту, созданную на основе используемого в БД "навигатора". Если же доступ к базе ограничен средствами защиты Notes, то система попросит ввести ваше полное имя с указанием подразделения, организации и страны, а также специальный (HTTP) пароль. Этот пароль, кстати, хранится в "Адресной книге" Notes в зашифрованном виде.
После открытия базы пользователь может перемещаться по списку документов (например, прайс-листу товаров – рис. 3), выбирать и открывать их, а при наличии соответствующих прав – редактировать или создавать новые.
При этом пользователь работает с реальной базой данных. Стоит обратить внимание на применяемый URL-синтаксис (окно адреса в верхней части рисунка, рис. 4), использующий уникальный идентификатор документа в базе Notes. Помимо "навигационного" доступа с применением пользовательского интерфейса Domino поддерживает и специальный формат URL-адресов.
Типичный адрес может иметь, например, следующий вид:
http://domino.lotus.com/dominodisc.nsf/$defaultview – так можно открыть вид по умолчанию в базе данных "Обсуждение Domino" (файл dominodisc.nsf) на сервере domino.lotus.com. А провести поиск документов, содержащих, скажем, слово intranet, используя вид by authors ("По авторам"), можно таким образом:
http://domino.lotus.com/dominodisc.nsf/by+author/?SearchView&Query=intranet
Использование Domino накладывает некоторые особенности на дизайн базы данных, ибо возможности пользовательского интерфейса Notes пока поддерживаются не все. Например, игнорируются все кнопки, за исключением первой, содержащиеся в форме документа. Сама же кнопка выполняет единственную функцию создания, то есть записи документа в базу.
Для взаимодействия с пользователем разработчики базы данных могут включать в форму специальные, обычно скрытые, поля. Так, поле $$Return позволяет в ответ на ввод пользователя сформировать специальный документ – например, поблагодарить его персонально за информацию или вызвать "на лету" специальную программу для обработки введенной информации. Необходимые для этой программы данные передаются по протоколу CGI с использованием встраиваемых полей.
Для повышения безопасности при работе с Сетью Domino поддерживает специальный протокол SSL (Secure Sockets Layer), использующий механизм обмена сертификатами на основе схемы с общими/личными ключами по RSA-алгоритму. В качестве сертификатора может выступать как внутренний центр компании, так и независимая организация, такая как VeriSign.
Подобно большинству программ своего класса, Domino распространяется бесплатно.

Что дальше?
Представленная общественности версия Domino ни в коей мере не является окончательной. Уже объявлено о разработке Domino II, в которой предусмотрена поддержка стандарта CORBA (Common Object Request Broker Architecture), который откроет доступ ко многим типам документов, а также языка Java. Объявлено о возможности использования протокола ЮАР для построения приложений с распределенными функциями планирования. Все это будет доступно с появлением Notes 5.0 в начале следующего года. Тем временем в центре IBM проводятся работы по выпуску русскоязычной локализованной версии Notes R4, которая, как ожидается, выйдет в октябре.
Итак, ждать осталось недолго. А тем временем многие российские разработчики, включая "АйТи", продолжают развитие систем на базе Notes.