Создание и расширение политики Desktop. Создание локальных реплик

Всё о репликации Lotus Notes/Domino


1
Распределённые базы данных. Суть механизма репликаций
Одна из отличительных черт Lotus Notes/Domino как продукта поддержки групповой работы (groupware ) - наличие механизма поддержки распределённых баз данных. Термин Распределённая база данных в этом контексте следует понимать как совокупность нескольких расположенных на различных серверах Domino или клиентских станциях "версий" (реплик ) одной базы данных. Эти реплики могут не являться (и, в общем случае, не являются) точными зеркалами друг друга. Настройка прав доступа к базе и настройка селективного отбора документов и элементов дизайна реплик предоставляют возможность выбора подмножества документов для конкретной реплики. Но реплики, в отличие от копий баз данных, объединяет возможность обмениваться изменениями, происшедшими в документах, или появившимися/удаленными документами (С учётом предыдущего пассажа употреблять термин синхронизация уместно с некоторыми оговорками). Такое распределение позволяет пользователям обращаться к данным сервера Domino, который им более близок. Либо вообще пользоваться данными, размещёнными на мобильном рабочем месте, лишь изредка дозваниваясь до сервера для актуализации информации. Благодаря простоте и надежности репликационного механизма возможна эффективная организация работы с ресурсами для больших сообществ территориально удалённых друг от друга пользователей. Процесс поиска изменений и обмена ими именуется репликацией . Поддержкой этого процесса на сервере и клиентских станциях ведает задача Репликатор (Replicator)
Реплики базы данных объединяет одинаковый идентификатор реплики (Replica ID) , который присваивается при создании базы данных и распространяется на все её реплики. В отличие от реплик, создание копии базы данных (копии не на файловом уровне, а по понятиям Notes) ведет к присвоению копии другого идентификатора реплики и исключение полученной копии из механизма обмена изменениями с породившей его базой. Идентификатор (Код) реплики можно увидеть в окне Свойств базы данных

Также идентификатор реплики используется при указании местоположения документа (URL документа):

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

  • основная задача Replicator , обслуживающая репликации по расписанию, загружается (обычно) при старте сервера, для чего указывается в списке задач сервера - переменной ServerTasks (ServerTasks=список_задач, Replica, список_задач ), и в каждый момент времени может обслуживать только одну репликационную сессию. Для обслуживания нескольких репликаций одновременно необходим запуск нескольких задач. Это может быть обеспечено указанием переменной Replicators или указанием нескольких задач Replicator (Replica ) в списке запускаемых задач в переменной ServerTasks (обе переменные прописываются в файле настроек NOTES.INI)
  • Дополнительная задача репликатора загружается командой Load Replica с консоли сервера
  • Дополнительная задача репликатора для репликации с определенным сервером загружается командой
Load Replica <имя сервера> <имя базы данных> (схема Pull-Push),
Replicate <имя сервера> <имя базы данных> (аналогична предыдущей команде),
Load Pull <имя сервера> <имя базы данных> (Pull only)
или Load Push <имя сервера> <имя базы данных> (схема Push only) с консоли сервера. Запущенный такой командой репликатор завершится после выполнения репликации. При указании имени вызываемого сервера постарайтесь указывать его иерархическое (Canonical или Abbreviated ) имя, а не общее (Common ). Известна проблема, связанная с различием в доступе к базе данных, где вызываемый сервер (при указании его канонического имени ) обладал большими правами и мог видеть большее число документов, в то время как общее имя проходило как -Default- , и в результате подобной репликации большинство документов на стороне вызываемого сервера оказалось удалено
  • Возможен также запуск репликатора на уровне операционной системы как запуск файла из программного каталога Notes с ключами:
        xREPLICA servername ,
        где
        x - I для OS/2, N для Windows, V для Novell. unix-системы используют исполняемый файл без начального символа (просто REPLICA)
        - необязательный параметр, определяющий тип репликации (-p - Pull only, -s - Push only, пропущен - Pull-Push)
        servername - имя вызываемого сервера
        - реплицируемые базы
Наконец, следует сказать, что для выгрузки репликаторов (правда, всех сразу) используется команда Tell Replica Quit

Система управления документооборотом Lotus Notes

Характеристика

LotusNotes– ориентированная на БД собственного формата система клиент-серверной архитектуры, разработанная корпорациейLotusDevelopment, разработкой и продажами которой в настоящее время занимаетсяIBM. Система работает под управлением различных платформ семействWindowsиUNIX.

Назначение

LotusNotesизначально разрабатывалась для работы в локальных сетях, но сейчас может работать и в глобальных, например, в Интернете .

Основные компоненты:

  • ПО промежуточного уровня (Middleware).

Краткое описание функционирования

Каждый клиент или сервер может иметь несколько локальных БД. Каждая БД представляет собой коллекцию заметок (notes). Клиент представляет собой совокупность запускающей подсистемы и модулей просмотра, сопоставимых по функциональности сWeb-браузерами. В отличие от браузеров, они предоставляют возможности не только чтения, но и редактирования информации.

Основная функция сервера Lotus(LotusDomino) – управлять коллекцией БД и предоставлять к ним доступ клиентам и другим серверам.

Репликация

Репликация основывается на связующих документах (connection documents) – особых заметках, содержащихся в каталоге Domino и описывающих время, способ (схему репликации – см. табл. 5) и объект репликации .

Таблица 4

Разновидности идентификаторов Notes

Идентификатор

видимости

Описание

Универсальный идентификатор (Universal ID, UNID)

Глобальная

Глобально уникальный идентификатор, присваиваемый каждой заметке

Идентификатор инициатора (Originator ID, OID)

Глобальная

Идентификатор заметки, включающий информацию об истории

Идентификатор БД (Database ID)

В пределах сервера

Отметка времени создания БД или восстановления БД после сбоя сервера

Идентификатор заметки (Note ID)

В пределах БД

Идентификатор заметки, зависящий от экземпляра БД

Идентификатор реплики (Replica ID)

Глобальная

Отметка времени, используемая для идентификации копий одной БД

Операции изменения:

    модификация документа;

    добавление документа;

    удаление документа.

Модифицированный документ должен быть разослан на все реплики. Изменения заметки заканчиваются изменением ее OID, предыдущее значение которого копируется в журнал истории документа. При добавлении документа для него создаются новые UNID и OID. При удалении документа на его место в БД помещается заглушка удаления (deletion stub). Заглушка удаления не уничтожается до тех пор, пока не уничтожены все копии удаленного документа .

Таблица 5

Схемы репликации

Описание

Извлечение-продвижение

Задание на репликацию считывает изменения с целевого сервера и передает на него собственные изменения

извлечение

Задание на репликацию считывает изменения с целевого сервера и передает на него собственные изменения по его запросам

Продвижение

Задание на репликацию передает собственные изменения на целевой сервер, никак не реагируя на имеющиеся на нем изменения

Извлечение

Задание на репликацию считывает изменения с целевого сервера, не пытаясь передать ему собственные изменения

Разрешение конфликтов репликации

В процессе репликации по схеме извлечение-продвижение для каждой реплики создается список OID. Затем сравниваются списки с двух серверов. Заметки с UNID, отсутствующими на другом сервере, (т. е. добавленные) должны быть переданы на него.

Для заметок, имеющих в списках серверов A и B одинаковые UNID, но разные OID, выполняются следующие действия. Задание на репликацию просматривает истории обеих заметок. Если одна из историй является частью другой, то конфликт отсутствует: более новая заметка замещает более старую. Если изменения относятся к различным элементам заметки, то конфликтующие модификации также отсутствуют: в объединенную заметку передаются наиболее новые элементы. Во всех остальных случаях конфликт неразрешим. При этом Notes выбирает один из документов победителем. Им становится копия с большим последовательным номером в OID или (в случае равенства последовательных номеров) с большей отметкой времени .

Репликация в кластере

В кластере вместо явного планирования репликации при помощи связующих документов изменения просто немедленно передаются на все реплики кластера.

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

Создание реплики базы. Настройка репликации базы. Селективная репликация
Для того, чтобы пользователь мог создать реплику базы, необходимо

    • иметь доступ к базе данных (минимум Корреспондент - Depositor в ACL базы данных)
    • база должна быть разрешена к репликации (в настройках репликации базы снят соответствующий флажок - подробнее о настройках - ниже)
    • база, расположенная на локальной станции, не должна быть зашифрована чужим ключом
    • при создании реплики базы на сервере в установках сервера (в серверном документе - раздел Security или переменной NOTES.INI Create_Replica_Access ) пользователь должен быть наделен правами на создание реплик баз на этом сервере
Создание реплики конкретной базы данных инициируется выбором команды Главного меню Файл -> Репликация -> Создать реплику... (либо командой контекстного меню Репликация -> Создать реплику... ). Открывшееся окно диалога предоставляет возможность задать имя сервера или выбрать локальный вариант (Local ) и задать размещение файла базы данных в файловой системе.

Дальнейшие опции позволяют задать:

    Локальное шифрование данных . Применение шифрования как основное средство защиты данных на локальном компьютере предотвратит несанкционированный доступ к информации без наличия личного ключа шифрования. Реплика базы, создаваемая на локальной станции, изначально (при создании) может шифроваться только ключом пользователя, создающего реплику. В дальнейшем локальная реплика может быть зашифрована на основе любого публичного ключа, правда, в случае шифрования не своим ключом пользователь потеряет доступ к базе (что и понятно). Реплика базы, размещаемая на сервере, может быть зашифрована только при помощи серверного публичного ключа
    Настройку параметров репликации . Задание параметров репликации и условий отбора для селективной репликации производится в окне Параметры репликации .
      Закладка Основные (Basics) . Опции этой закладки доступны при создании локальной реплики
      • Группа опций How often replication occurs (С каким интервалом происходит репликация) задаёт расписание репликаций для текущего Места вызова (Location) - собственно, предоставляет доступ к соответствующему разделу документа Адресной книги. Собственно, все заполняемые опции находят своё отражение в документе
      • Опция Apply changes to all locations (Применить изменения ко всем местам вызова - внизу окна диалога) применяет данные настройки и к прочим документам Locations Адресной книги
      • Группа опций How much will be replicated (Количество данных для репликации) относится уже собственно к базе и задаёт направление репликации (опции Send documents to server - Отпрвлять документы на сервер и Receive documents from server - Получать документы с сервера) и режим приёма документов с сервера (полноту приёма этих документов). Можно задать четыре режима:
            Full documents (Документы целиком) . Документы реплицируются полностью
            Partial documents (Документы по частям) . Содержимое документов реплицируется частично, размер усекается в соответствие со следующими опциями (Усечение документов, размер которых превышает - Truncate documents larger than , Ограничение размера вложения до - Limit attachments size ). Документы с неполным содержимым определяются как усечённые (truncated ). При открытии в заголовок окна документа добавляется термин УСЕЧЁН (TRUNCATED ). Для восстановления полной информации можно воспользоваться действием главного меню Actions -> Retrieve Entire Document (Действия -> Принять документ полностью ). Усечённые документы невозможно редактировать, они также не обрабатываются агентами
            Summary only (Только аннотации) . В данном режиме документы усекаются с передачей информации из полей Author и Subject , а также первых 40 Кбайт форматированного поля
            Smallest first (Начиная с маленьких) . Режим, появившийся в Notes R6. При репликации в этом режиме сначала реплицируются маленькие по размеру документы, что делает репликационный механизм более дружелюбным пользователю в приложениях типа библиотека документов , в стандартной почтовой базе
      • Опция Which server is used for replication (Сервер, использующийся для репликации)
      Группа опций Экономия места (Space Savers)
        • Remove documents not modified in the last ... days: (Удалить документы, не измененные за последние... дней) . Установка опции автоматически удаляет из данной реплики документы, с момента последнего сохранения которых прошло более указанного количества дней. Документы, удаленные из данной реплики на основании этой установки, будут удалены в других репликах, если 1). список управления доступом (ACL) реплик позволяет серверу или пользователю-инициатору репликации удалять документы; 2). Не установлен флаг Do not send deletions made in this replica to other replicas (Не отправлять удаления, сделанные в этой реплике, в другие реплики ). Для баз, размещенных на сервере "автоудаление" производится серверной задачей Updall , запускаемой в ночное время, для локальных баз - в момент открытия базы
        • Количество дней в вышеприведенной строке (даже если флажок Remove documents... не поднят) определяет также процесс удаления информации об удаленных документах ("окурков", stubs ). Для того, чтобы сервер смог отличить удаленный в этой реплике документ от только что созданного в другой реплике, документ не удаляется сразу полностью, остается stub как некая информация о том, что этот документ был в реплике. Удаление stub откладывается на интервал времени, составляющий третью часть от указанного в этом поле. За это время должны произойти репликации со всеми другими репликами, иначе по прошествии отведенного срока stub удаляется и документ из залежалой реплики может появиться вновь.
        • Receive only a subset of the documents (Принимать часть документов) : Опция используется, если в реплику должны поступать не все документы, а только из некоторых видов и папок (опция ) или удовлетворяющие условию отбора, заданному при включении опции Documents that meet a selection formula (Выбирать по формуле) . Эта возможность заключает в себе понятие выборочной (селективной) репликации. Кроме того на закладке Advanced можно задать правила для репликаций элементов дизайна и списка управления доступом (см. ниже)
      Закладка Отправка (Send)
        • Do not send deletions made in this replica to other replicas (Не отправлять удаления, сделанные в этой реплике, в другие реплики ). Установка этого флага позволяет не распространять удаления, имевшие место быть в этой реплике, в другие реплики базы данных. Если опция не выбрана - появившиеся после удаления документов в этой реплике stubs ("окурки") передаются в другие реплики и вызывают удаление соответствующих документов и в прочих репликах
        • Do not send changes in database title and catalog info to other replicas (Не отправлять изменения в названии базы данных и информацию для каталога в другие реплики ). Поднятие этого флага запрещает передачу изменений некоторых параметров базы данных на другие реплики базы. В противном случае эти изменения будут подхвачены другими репликами, если имеется достаточный доступ (уровень разработчика) у сервера или пользователя, производящего репликацию
        • Do not send changes in local security property to other replicas (Не отправлять изменения в локальной защите в другие реплики ). Подобно предыдущему, но в отношении свойств базы данных, касающихся локальной безопасности этой реплики
      Закладка Прочее (Other)
        • Temporary disable replication for this replica (Временно отключить репликацию ). Выбор опции запрещает участие базы в любых репликационных процессах. Сервер выдает сообщение Replication is disabled . Опция полезна администратору, если база по каким-то причинам оказалась поврежденной и требуется ее восстановление, прежде чем будет возможность возобновить репликации
        • Scheduled replication priority (Приоритет репликации по расписанию ). Параметр задает приоритет участия базы в репликациях согласно документам Connection Корпоративной Адресной книги или Location (Место вызова ) Локальной Адресной книги. Реплики с высоким (High ) приоритетом могут нуждаться в более частом обновлении, чем остальные. В соответствии с выбранным расписанием репликаций в Адресной книге создаются документы Connection : один - для поддержки репликаций с высоким приоритетом (наиболее частые репликационные сессии), один - для репликаций с высоким и средним приоритетом, и для репликаций баз всех трех приоритетов - в самое дешевое время и нечасто. Документы Connection для поддержки репликаций различного приоритета не должны содержать накрывающих участков времени. В противном случае, расписание составлено некорректно, и репликационные сессии могут происходить беспорядочно, а часть реплик может совсем не обслуживаться
        • Only replicate incoming documents saved or modified after (Только входящие документы, сохраненные/измененные после ):. Значение даты (Cutoff Date ), содержащееся в этом поле, требуют принимать в реплику только документы, имеющие дату модификации позже указанной. Документы из других реплик с датой модификации ранее Cutoff Date не включаются в списки реплицируемых документов и, следовательно, никогда не будут приняты в реплику этой базы с других серверов.
        • CD-ROM publishing date (Дата выпуска компакт-диска ):. При распространении реплики на компакт-диске рекомендуется задать в этом поле дату записи на диск до проведения первой репликации (записи диска). Тогда при первой репликации (когда чиста история репликаций) будут просматриваться документы, модифицированные после даты публикации, а не все множество документов, что оптимизирует время первой репликации
      Дополнительные возможности по определению формул отбора селективной репликации имеются на закладке Дополнительно (Advanced)
        • Прежде всего, имеется возможность задать разные формулы отбора для разных пар принимающих изменения (поле When computer/Если компьютер ) серверов и станций и серверов или станций, с которых принимаются изменения (поле Receives from/ Принимает данные от ). Для разных пар можно указать:
        • Формулу отбора при установке флага в полях Documents in specified views or folders и Documents by selection formula наподобие описанной выше для закладки Space Savers
        • Access Control List (Таблицы управления доступом) - принимаются изменения в списке управления доступом
        • Design elements (Элементы дизайна) - принимаются все элементы дизайна кроме агентов и репликационных формул
        • Agents - принимаются агенты
        • Replication formula - разраешает принимать в базу назначения формулы селективной репликации, имеющие более позднее время модификации. Это позволяет менеджеру "центральной реплики" базы задавать формулы селективной репликации в процессе эксплуатации базы.
        • Deletions - принимается информация об удаленных документах, вызывая удаление документов и в выбранной реплике
        • Fields - принимаются не все поля документов, а только выбранные из списка. В результате документ становится усечённым (см. описание выше) и нередактируемым.
    Ограничение размера реплики (для баз формата ниже R5). Можно задать максимальный размер реплики. Список выбора позволяет установить ограничение на уровне 1 Гб, 2 Гб, 3 Гб или 4 Гб. Вообще-то здесь можно вести речь не об ограничении, а об увеличении размера реплики. Дело в том, что в версии Notes R4.x при создании размер базы автоматически ограничивался 1 Гб. При активном росте этой базы лимит в конце концов выбирался, а установить новый лимит можно было только создав реплику и установив ей более высокий лимит.
    Возможность создания реплики немедленно или в фоновом режиме при следующей репликации по расписанию. При выборе второго варианта создается заготовка базы данных, которая впоследствии наполняется содержимым
    Поддержка Списка управления доступом (ACL) базы-оригинала для вновь создаваемой базы. Для нормальной поддержки функционирования базы (в том числе и нормального процесса репликации) необходимо иметь этот флажок включенным
    Создание полнотекстового поискового индекса базы. Нельзя забывать, что для создания полнотекстового индекса базы, расположенной на сервере, в дальнейшем потребуется наличие полномочий разработчика базы, в то время как при создании реплики возможно создать полнотекстовый индекс, не имея этих прав.
Кроме описанного выше нормального механизма создания реплики базы возможно создать реплику, создав копию файла базы средствами операционной системы. На практике этот процесс происходит быстрее и при наличии доступа к файловой системе вполне приемлем. Но во избежание проблем нарушения целостности базы она должна быть закрытой (клиент Notes для локальных станций или сервер Domino лучше всего выгрузить)

Система управления документооборотом Lotus Notes

Характеристика

Lotus Notes – ориентированная на БД собственного формата система клиент-серверной архитектуры, разработанная корпорацией Lotus Development, разработкой и продажами которой в настоящее время занимается IBM . Система работает под управлением различных платформ семейств Windows и UNIX.

Назначение

Lotus Notes изначально разрабатывалась для работы в локальных сетях, но сейчас может работать и в глобальных, например, в Интернете .

Основные компоненты:

ПО промежуточного уровня (Middleware).

Краткое описание функционирования

Каждый клиент или сервер может иметь несколько локальных БД. Каждая БД представляет собой коллекцию заметок (notes). Клиент представляет собой совокупность запускающей подсистемы и модулей просмотра, сопоставимых по функциональности с Web-браузерами. В отличие от браузеров, они предоставляют возможности не только чтения, но и редактирования информации.

Основная функция сервера Lotus (Lotus Domino) – управлять коллекцией БД и предоставлять к ним доступ клиентам и другим серверам.

Репликация

Репликация основывается на связующих документах (connection documents) – особых заметках, содержащихся в каталоге Domino и описывающих время, способ (схему репликации – см. табл. 5) и объект репликации .

Таблица 4 Разновидности идентификаторов Notes
Идентификатор Область видимости Описание
Универсальный идентификатор (Universal ID, UNID) Глобальная Глобально уникальный идентификатор, присваиваемый каждой заметке
Идентификатор инициатора (Originator ID, OID) Глобальная Идентификатор заметки, включающий информацию об истории
Идентификатор БД (Database ID) В пределах сервера Отметка времени создания БД или восстановления БД после сбоя сервера
Идентификатор заметки (Note ID) В пределах БД Идентификатор заметки, зависящий от экземпляра БД
Идентификатор реплики (Replica ID) Глобальная Отметка времени, используемая для идентификации копий одной БД

Операции изменения:

Модификация документа;

Добавление документа;

Удаление документа.

Модифицированный документ должен быть разослан на все реплики. Изменения заметки заканчиваются изменением ее OID, предыдущее значение которого копируется в журнал истории документа. При добавлении документа для него создаются новые UNID и OID. При удалении документа на его место в БД помещается заглушка удаления (deletion stub). Заглушка удаления не уничтожается до тех пор, пока не уничтожены все копии удаленного документа .

Разрешение конфликтов репликации

В процессе репликации по схеме извлечение-продвижение для каждой реплики создается список OID. Затем сравниваются списки с двух серверов. Заметки с UNID, отсутствующими на другом сервере, (т. е. добавленные) должны быть переданы на него.

Для заметок, имеющих в списках серверов A и B одинаковые UNID, но разные OID, выполняются следующие действия. Задание на репликацию просматривает истории обеих заметок. Если одна из историй является частью другой, то конфликт отсутствует: более новая заметка замещает более старую. Если изменения относятся к различным элементам заметки, то конфликтующие модификации также отсутствуют: в объединенную заметку передаются наиболее новые элементы. Во всех остальных случаях конфликт неразрешим. При этом Notes выбирает один из документов победителем. Им становится копия с большим последовательным номером в OID или (в случае равенства последовательных номеров) с большей отметкой времени .

Репликация в кластере

В кластере вместо явного планирования репликации при помощи связующих документов изменения просто немедленно передаются на все реплики кластера.

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

Андрей Акопянц

Наши недостатки есть продолжение наших достоинств
Народная мудрость…

Практически все специалисты по информационным технологиям слышали о Lotus Notes (LN) , но относительно немногие имели с ним дело на практике. Вследствие этого по Лотусу имеется катастрофический дефицит объективной информации. Вся доступные публикации об этом продукте имеют вид рекламных проспектов или фрагментов технических описаний.

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

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

Я давно вынашивал эту идею, почитывая описания и расспрашивая знакомых. Окончательным толчком для меня стало знакомство с бывшим начальником IT очень крупного банка, поведавшего о некоторых особенностях эксплуатации LN, с которыми ему пришлось столкнуться.

Немного истории

Компания Лотус была пионером во многих направлениях софтверного бизнеса. Сейчас это многие не помнят, но в самом начале 90-тых "Lotus 1-2-3" был синонимом электронной таблицы - достойных конкурентов у него просто не было... Почтовая программа "CC-mail" оставалась лучшей корпоративной почтовой системой до середины 90-х.

Аналогов выпущенного в конце 80-х LN вообще не существовало - для него пришлось придумать отдельный термин - "GroopWare" (обеспечение коллективной работы). Это была первая и долгое время единственная система, реально позволяющая обеспечить быстрое создание единого информационного пространства компании и системы корпоративных коммуникаций.

Триумфальное шествие LN продолжалось почти десять лет, и основными его пользователями являлись крупные и средние корпорации. Неудивительно, что интерес к компании Лотус проявила IBM, традиционно обслуживающая Top1000 мирового бизнеса, и в конце концов таки купила эту компанию на корню. Так что ныне Лотус - это подразделение IBM, сохранившее некоторую самостоятельность, и торговую марку "Lotus".

Сейчас, впрочем, от всей линейки продуктов Лотус на рынке реально остался только Lotus Notes - остальные офисные приложения практически умерли, не выдержав конкуренции с Microsoft Office . А Lotus Notes не просто остался, но активно продвигается - по крайней мере, на российском рынке.

Lotus Notes - что это такое?

Говоря простыми словами, LN - это такой гибрид СУБД и почтовой системы, обладающий рядом интересных особенностей. Имеется также ряд возможностей для организации структурированной коммуникации - форумы, календари и др.

Главной особенностью лотусовской базы данных является ее ориентация на хранение больших плохо структурированных документов и коллективную работу с ними. Под коллективной работой подразумевается возможность нескольким человекам одновременно править одну и ту же запись (документ). Соответственно, поддерживается аппарат версий и возможности отслеживания изменений, сделанных отдельными пользователями. Кроме текстов, записи лотусовских БД могут содержать произвольное количество настраиваемых пользователями реквизитов разных типов. Причем настройка состава реквизитов достаточно проста и посильна конечным пользователям. Документы в базе могут ссылаться друг на друга (что-то типа вебовских гипертекстовых ссылок), и кликнув на ссылку в тексте документа, можно открыть другой документ.

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

Почтовая программа и прочие приложения (форумы, календарное планирование и др.) надстроены над этой самой системой хранения документов. Адресные книги, папки с письмами, календари и др. также являются записями в БД, и на них распространяются все общие механизмы - версии, поддержка коллективной работы и др.

Еще одним базовым механизмом, впервые реализованный именно в Lotus Notes, является репликация - т.е. возможность серверов LN синхронизировать свои базы, пересылать друг другу документы в свободное от основной работы время. Таким образом обеспечивается возможность работы в территориально распределенной среде при медленных каналах связи, когда каждый сотрудник работает со своим ближайшим сервером (т.е. быстро), а, скажем, по ночам эти сервера синхронизируют свои базы.

Естественно, предусмотрена возможность разработок специализированных приложений в среде LN. Для этой цели в систему встроен язык программирования (Lotus script), открывающий доступ к API системы, и позволяющий создавать достаточно сложные приложения. Можно также разрабатывать приложения для Lotus на более традиционных Java & JavaScript, к которым также имеются библиотеки объектов для работы с Lotus-овским API.

Обратная сторона медали

Лотус - чрезвычайно функциональная система с элегантной архитектурой, реально позволяющей создать общую информационную среду в большой компании, имеющей много офисов в разных городах и странах. И в этом качестве он почти десять лет практически не имел конкурентов. За это время он обрел заслуженную популярность - по официальным данным им пользуются порядка 700 компаний из Top1000 мирового бизнеса.

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

Lotus Notes - функционально замкнутая система, предоставляющая пользователю все необходимые ему средства работы - текстовый редактор, почтовую программу, систему календарного планирования и др. И пока пользователь пользуется для этих целей Lotus-овскими приложениями, все очень удобно и хорошо.

Но сегодня значительная часть пользователей предпочитает использовать офисные приложения других фирм - например, Microsoft, которые стали сегодня стандартом де-факто. В Lotus-овском хранилище документов можно хранить "чужие" файлы, но, как только мы начинаем использовать MS Word совместно с Lotus, тут же выясняется, что половина всех прелестей, которые были при работе со встроенным редактором LN, теряется.

Зато добавляются проблемы - специальные процедуры экспорта-импорта. Не говоря уж о том, что эргономичность лотусовских приложеней заставляет желать лучшего - по крайней мере, при переходе на них с продуктов Микрософт.

Еще одна особенность, показавшая свою оборотную сторону - это репликация в сочетании с общей требовательностью к ресурсам. Упоминавшийся мной начальник IT-департамента крупного банка, в котором было больше 2000 рабочих мест на LotusNotes вспоминал, как у них репликация между крутыми серверами по выделенному оптоволокну шла часами (а это означает, что люди часами не могли получить отправленные им на визирование срочные документы.

А необходимость во множестве серверов возникала из-за того, что одиночные сервера не справлялись с нагрузкой, поскольку LN в силу свой интегрированности очень требователен к серверным ресурсам. И когда в результате они переписали приложение на MS SQL , выяснилось, что всех пользователей спокойно "тянет" один не самый крутой сервер, и пропускной способности каналов (которой не хватало для репликации) вполне хватает для нормальной удаленной работы пользователей.

При больших объемах базы также выступает "родовая травма" Lotus Notes - его система хранения данных не поддерживает ряд вещей, являющихся стандартом для современных СУБД, и совершенно необходимых для функционирования реальных систем автоматизации.

  • Во первых, БД Lotus Notes не поддерживает транзакции - т.е. согласованные изменения нескольких таблиц, выполняемые как единое целое. Т.е. если, например, приложение, работающее на клиенте, успело модифицировать одну запись, но не успело другую, и "упало" (например, свет выключился), то в базе данных LN измененная запись останется таковой, в то время как во всех современных СУБД в такой ситуации на сервере произойдет откат до начального состояния. Из-за этого поддерживать целостность больших баз на LN становится проблематично.
  • Во-вторых, как мы говорили выше, LN поддерживает возможность связывания документов. Но при этом контроля ссылочной целостности в нем нет - Вы спокойно можете удалить документ, на который кто-то ссылается, и образуется "висячая" ссылка. Естественно, нет никаких более продвинутых механизмов контроля целостности - типа constraints в реляционных базах данных.
  • И наконец, в-третьих - в отличие от современных реляционных СУБД, где индексирование записи происходит при помещении ее в базу, в LN индексирование - это отдельный процесс, происходящий асинхронно.

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

Специалисты, эксплуатирующие Lotus notes, также жалуются на трудоемкость первоначальной установки и настройки, и, что гораздо более серьезно, большое количество критических для работы ошибок, в том числе в системе безопасности, которые очень медленно исправляются компанией-разработчиком.

Лотус как система документооборота

Но, может быть, Lotus так хорош в качестве системы организации документооборота, что все вышесказанное можно проигнорировать? Действительно, у LN в этом качестве есть один большой плюс - он позволяет быстро создать корпоративное хранилище документов и обеспечить базовые процедуры работы с ним.

Но наряду с этим у него есть и большой недостаток - что, кроме этого Lotus сам по себе ничего больше не умеет. Т.е. сделать макет базовыми средствами Lotus можно, а вот реализовать полноценную систему корпоративного документооборота, удовлетворяющую требованиям ГОС-ов, не получается. Говорить - "Для автоматизации делопроизводства мы купим Lotus Notes" - такой же нонсенс, как и "Для автоматизации делопроизводства мы купим MS SQL". Необходимо либо разрабатывать систему, используя LN как инструмент, либо покупать специализированное решение.

Достоинством LN как среды разработки является наличие ряда встроенных механизмов работы с документами. О недостатках мы говорили выше - дорогие разработчики, устаревшая технология хранения данных и трудности интеграции с другими системами.

В целом выходит, что при несколько меньшей трудоемкости сроки разработки прикладной системы на базе Lotus не отличаются от аналогичных разработок на базе скажем, MS SQL и Visual Basic , а стоимость (с учетом лицензий и дорогих разработчиков) может и заметно превосходить. Не говоря уж о том, что эксплутационные свойства систем на LN, такие, как надежность и эффективность, заметно хуже, чем у решений на базе полноценных СУБД.

Специализированные решения для организации делопроизводства на Lotus на российском рынке есть. Наиболее распространенными системами являются разработка компании Intertrust - "Office Media", система "Босс-референт" от АйТи и "Золушка" разработки Института развития Москвы, и ряд других систем.

Но они стоят дополнительных к самому Lotus Notes денег, не являются готовыми продуктами, а, скорее, "полуфабрикатами". По оценке специалистов, их функциональности и эксплутационным характеристикам также уступают системам, реализованным на базе полноценных СУБД и функционирующим в среде Microsft Office, таким как "Дело" от "Электронных офисных систем", LanDocs от "Ланит", Optima Workflow от Оптимы.

Заключение

И все-таки, почему при всем вышесказанном Lotus Notes достаточно популярен у IT-менеджеров и продолжает свою экспансию в крупные российские компании?

Видимо, основных резона два.

  • Во первых, конъюнктурно - имиджевые соображения - типа "у нас все, как у лидеров западного бизнеса - вот и Lotus Notes стоит".
  • Во вторых, LN создает иллюзию быстрого решения. При относительно небольших трудозатратах можно получить видимый результат и решить слой самых простых задач. А то, что дальше развивать это решение будет очень сложно - так к тому времени либо бизнес помрет, либо IT-менеджер поменяется...

Не стоит также сбрасывать со счетов активную директ-маркетинговую политику партнеров IBM.

Каковы перспективы этого продукта на рынке? Те, кто много лет эксплуатируют сотни и тысячи рабочих мест LN, скорее всего, не откажутся от него никогда - по крайней мере, до следующего катаклизма уровня "проблемы 2000 года". Просто потому, что издержки перехода на что-то другое будут слишком велики - возникающие проблемы проще и дешевле решать в его рамках…

Но мне кажется, что в современных условиях Lotus Notes уже уходит в те глубоководные впадины рынка, где живут лох-несские чудовища, IBM-овские мэйнфреймы и Кобол. Там Lotus будет жить вечно, но компаниям, выбирающим для себя решения сейчас, ставить на Lotus Notes видимо, не имеет большого смысла.

Во всяком случае, нужно четко понимать, что Lotus Notes - это не просто один из используемых компанией систем. Это целый мир, в который нужно погружаться полностью, уходя при этом от мэйнстрима, которым сегодня, нравится это нам или нет, все-таки является компонентная архитектура на базе решений Microsoft.

Интернет-магазин

IBM Lotus Domino Express / IBM Domino Collaboration and Messaging Express

Надежно защищенная полнофункциональная среда приложений для совместной работы, ориентированная на потребности среднего бизнеса

Программное обеспечение IBM Domino Collaboration and Messaging Express предлагает надежно защищенную полнофункциональную среду приложений для электронной почты и широкого круга приложений для бизнеса и совместной работы. Его комплектация и цена ориентированы на потребности среднего бизнеса, а поддержка обеспечивается на широком круге платформ и операционных систем. Три предложения для малого и среднего бизнеса не более 1000 пользователей, которые предоставляют возможности электронной почты, планирования и обмена мгновенными сообщениями, а также поддерживают широкий спектр бизнес-приложений - Lotus Domino Messaging Express, Lotus Domino Collaboration Express и Lotus Domino Server Express.

IBM Notes (ранее: IBM Lotus Notes)

IBM Notes (ранее: IBM Lotus Notes) - является настольным клиентом для социального бизнеса. Он обеспечивает доступ к необходимым людям, бизнес-приложениям и информации на предприятии и в Интернете. Теперь можно выполнять свою работу быстрее и эффективнее. Программное обеспечение IBM Notes помогает быстро справляться с работой, предоставляя единую точку доступа для создания информационных ресурсов, получения и передачи знаний, совместной работы в группах и принятия решений. Устраняя традиционные ограничения на рабочих местах, программное обеспечение IBM Notes помогает вам связываться с людьми и находить информацию в пределах предприятия и в сети Интернет.