Lotus Domino Внедрение и Разработка: Архитектура – настоящее и будущее

 

Евгений Поляков

Alba Spectrum Technologies

(095) 918-3314, (095) 918-3111, help@albaspectrum.com  

 

 

Сервер Domino выступает в роли буфера между приложением и операционной системой. С другой стороны, сервер Domino – набор сервисов, которые способствуют разработке и выполнению динамических, безопасных приложений для Internet, intranet, или extranet. Роль сервера Domino состоит в функциональном обеспечении как внутри, так и между Domino-приложениями. Службы (сервисы) Domino интерпретируют элементы и код приложения и выполняют их над данной операционной системой. Каждая служба специально оптимизирована под конкретную платформу, на которой поддерживается Domino, для лучшей производительности всего приложения.

Поскольку приложение взаимодействует со службами, а последние взаимодействуют с операционной системой, то приложения Domino являются переносимыми (т.е. не зависят от платформы). Службы Domino подразделяются на прикладные и системные.

Прикладные службы должны обеспечивать любое приложение полным набором функциональных возможностей. Каждое приложение нуждается в механизмах авторизации пользователей, выполнении агентов, индексации видов и т.д.. В связи с этим такие сервисы называют прикладными службами.

Системные службы обеспечивают функциональные возможности, позволяющие приложениям работать вместе в одной среде. Каталог Domino хранит информацию о пользователях и определяет пути подключения между приложениями. Маршрутизация позволяет приложениям связываться между собой. Реплицирование позволяет приложениям синхронизировать данные друг с другом.

Клиент Notes при работе с локальными БД (т.е. без сервера Domino) обеспечивает работу определенного набора служб Domino, которые выполняют большинство функциональности Domino локально, тем самым сокращая нагрузку на сервер. Клиент Notes не поддерживает аналогичный с сервером уровень безопасности и ограничений.

Приложения Domino являются клиент-серверными приложениями. Клиент связывается с приложением, используя собственный механизм удаленного вызова процедур Notes Remote Procedure Call (NRPC), который передает клиентский запрос приложению Domino, и возвращает полученные результаты.

Domino поддерживает также протокол HTTP, позволяющий Web браузерам получать доступ к приложениям, размещенным на Domino сервере.

Domino кроме клиента Notes и Web браузеров поддерживает и других клиентов с помощью дополнительных коммуникационных протоколов: почтовые клиенты по протоколам SMTP, POP3 и IMAP; работа с новостными конференциями по протоколу NNTP; работа со службами каталогов по протоколу LDAP; а также Domino может взаимодействовать с другими приложениями по технологиям OLE и COM, выступая при этом как в роли клиента, так и сервера.

БД Domino представляют собой файлы из файловой системы сервера/локальной станции. БД Domino содержит две области функциональных возможностей:

·        Notes Storage Facility (NSF) - поддерживает данные и элементы дизайна приложения. Средство хранения (storage facility) содержит записи (note), которые являются контейнером для данных. Различный тип записей позволяет выполнять определенные функции в рамках БД;

·        Notes Index Facility (NIF) - строит и поддерживает списки для размещения данных в приложении. Эти сортируемые списки называются видами.

Записи в БД Domino могут быть созданы пользователями (тип data note), разработчиками (тип design note), и самим Domino, которые он использует для мониторинга и управления информацией в БД (например, ACL, database header).

По существу все записи в БД одинаковы (по характеристикам). Они (записи) находятся на одном уровне и не разделяются иерархическими или другими отношениями. Записи различаются только хранимыми в них данными, и как их использует Domino.

Записи хранят данные в айтемах (item). Каждый item идентифицируется по своему имени и содержит список значений. Значения в одном item (если это список) должны иметь один и тот же тип данных. Items так же хранят информацию о типе хранимых данных. Эти метаданные доступны приложениям и службам Domino. Записи могут хранить три основных типа данных: Rich text, Text (plain text) и Number (Domino хранит значения дата/время в виде чисел).

Domino обеспечивает доступ к данным документа (data note) различными способами, включая: поля на форме, столбцы в виде, программный код на встроенных языках: @-формул, LotusScript, JavaScript и Java. Помимо перечисленных четырех встроенных языков программирования, Domino поддерживает внешний программный код на Java, C и C++, Visual Basic.

Приведенная выше картина характерна для Domino до 6-й версии включительно. В 7-м релизе (который существует сейчас только в виде бета-версии) для хранения данных помимо традиционного механизма NSF, может еще использоваться и DB2. В этом случае все note БД Domino хранятся в таблицах реляционной БД DB2 со схемой хранения специально оптимизированной под нужды Domino. Этим будет решаться ряд задач, которые сейчас либо вообще не выполнимы на Domino, либо выполняются достаточно медленно. Эти задачи следующие: хранение больших объемов данных, полная прозрачность данных Domino для сторонних приложений, убыстрение работы видов (данная возможность со слов самого IBM будет реализована только в более поздних релизах 7 версии).

В бета-версии реализация хранения на DB2 возможна только для локальных (не серверных) БД, однако движение вперед несомненно на лицо. В свое время высокопоставленные менеджеры IBM заявляли, что в Domino никогда не будет реализован механизм блокировки записей. В 6-й версии он уже является штатным механизмом. Возможно в более поздних релизах 7 версии Domino будет реализован механизм двухфазных транзакций, а почему бы и нет?

 

Желаем вам удачи в настройке вашей системы и если вы хотите заручиться нашей помощью - мы всегда готовы вам помочь.  Позвоните нам в Москве (095) 918-3314, (095) 918-3111 , в США: 1-866-528-0577! help@albaspectrum.com

 

Евгений Поляков - технический писатель в Ronix Systems (http://www.ronix.ru) европейском подразделении Alba Spectrum Technologies ( http://www.albaspectrum.com )  и партнере IBM и Microsoft Business Solutions в городах Москва, Петербург, Екатеринбург, Казань, Ростов и обслуживающей всю Российскую Федерацию, Европу, США и Бразилию.