NexxDigital - компьютеры и операционные системы

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

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

Практически все специалисты по информационным технологиям слышали о 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 помогает вам связываться с людьми и находить информацию в пределах предприятия и в сети Интернет.

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

    • иметь доступ к базе данных (минимум Корреспондент - 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 лучше всего выгрузить)

Что такое Notes Что такое Notes Lotus Notes - это клиент-серверная СУБД, имеющая нереляционную структуру. В одном документе Notes могут храниться поля различных типов. То есть поле может содержать данные стандартных типов, форматированный текст, любые файлы, OLE-объекты и даже форму и программный код для этой формы. Если дать формальное определение Lotus Notes – то это средство, предназначенные для сбора, организации и распределения информации и знаний. Основу Lotus Notes составляют следующие три технологии:  Электронная почта и системы пересылки сообщений  Базы данных коллективного доступа  Средства автоматизации деловых процедур (workflow) Lotus Notes можно было бы охарактеризовать как систему распределенных баз данных коллективного доступа, интегрированную с возможностями электронной почты. База данных коллективного доступа подразумевает возможности большого количества пользователей одновременно осуществлять доступ и обновлять содержание баз. Под распределенностью имеется в виду то, что базы данных могут располагаться одновременно на большом количестве серверов, которые периодически пересылают друг другу обновления так, что через определенное время изменения в данных, сделанные на одном сервере достигнут любого другого. Этот процесс называется репликацией. Под базами данных, интегрированными с возможностями электронной почты, имеются в виду то, что не только пользователи Notes могут обмениваться почтовыми сообщениями, но и базы данных и приложения Notes могут посылать документы и сообщения, как людям, так и другим базам данных Notes. Lotus Notes обеспечивают полноценное решение в области систем коллективной работы, и позволяют решать технологически сложные задачи на любом организационном уровне.

Lotus Notes как совокупность восьми ключевых технологий Если говорить о ключевых технологиях, важных с точки зрения понимания архитектуры продукта и возможностей его применения, то можно выделить следующие:  Документоориентированная база данных  Средства разработки приложений  Система электронной почты  Система реплицирования (тиражирования) документов, информации и приложений  Средства защиты информации и разграничения доступа  Средства календарного планирования и составления расписаний  Web-технологии и технологии Internet/intranet  Средства интеграции с реляционными базами данных, системами управления ресурсами предприятий (ERP) и транзакционными системами Многие из этих технологий, взятые в отдельности, достаточно хорошо были известны и до появления Notes. Но объединенные вместе в рамках единой системы они дали совершенно новое качество, которое позволяет утверждать, что в настоящее время на рынке нет аналога данному программному продукту.

Документоориентирванная база данных Notes Основной частью Notes является хранилище объектов, известное как NSF (Notes Storage File), в которым и хранятся данные. Базы данных Notes отличаются от реляционных СУБД. В реляционных СУБД данные описываются с помощью таблиц, жестко задающих формат данных. Основой единицей хранения информации в базе данных Lotus Notes является отдельный документ. Структура документа Notes определяется формой, содержащей в себе набор полей различных типов. Реляционная база данных, как правило, жестко структурирована, и каждая запись в таблице имеет один и тот же набор полей, пространство, которое выделяется заранее. Отдельный документ Notes не обязательно имеет все те же поля, что и остальные документы, под поле выделяется столько памяти, сколько это необходимо для хранения конкретных данных. База данных Notes может хранить любые типы данных, начиная от простого текста, чисел, времени и даты, до форматированного текста, графических образов, звука, видео и произвольных данных, которые могут храниться в виде присоединенных объектов в своем родном формате. Таким образом, чтобы создать работоспособную базу данных в Notes, достаточно выполнить следующие действия:  Решить, какие типы документов будут в ней храниться и создать соответствующий набор форм  Решить, какие режимы просмотра документов будут удобны пользователю этой базы данных и создать соответствующий набор режимов просмотра Создав эти элементы, можно начинать вводить документы и работать с базой данных.

Репликация По сути дела система репликации решает две основные задачи:  Поддержка территориально-распределенной работы (синхронизация данных и приложений)  Поддержка работы мобильных пользователей Lotus Notes обеспечивает коллективное использование информации в любое время и вне зависимости от места расположения пользователя. Пользователями баз данных и приложений Notes могут быть сотрудники из различных подразделений организации в регионе, в стране или во всем мире. Репликация в Notes характеризуется следующими свойствами:  Двунаправленность.  Эффективность.  Репликация для клиента Notes.  Выборочная репликация.  Фоновая репликация.  Синхронизация дизайна и логики приложений.

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

Защита информации Все компоненты архитектуры Notes используют проверенную модель безопасности, которая по общему признанию является наиболее эффективной и гибкой в отрасли. Инфраструктура Notes обеспечивают четыре уровня безопасности:  Аутентификация, которая основана на сертификатах и обеспечивает надежную проверку того, что пользователи, подключающиеся к сетевым ресурсам, являются теми, за кого они себя выдают.  Цифровые подписи, благодаря которым Notes делает аутентификацию отправителя, что гарантирует, что информация, например, не подверглась изменениям в процессе передачи.  Контроль доступа, который определяет, кто может использовать некий ресурс и то, что он может с этим ресурсом делать в зависимости от присутствия имени пользователя в соответствующем списке контроля доступа (Access Control List) и предоставленных прав. Списки контроля доступа контролируют доступ к данным на уровне сервера, базы данных, и отдельных документов. Списки контроля доступа имеют семь уровней возможностей по работе с информацией по мере увеличения: "нет доступа", депозиторы, читатели, авторы, редакторы, дизайнеры, менеджеры. В дополнение отдельные поля могут быть зашифрованы. Пользователям Internet может быть предоставлен анонимный доступ, доступ по паролю, любо доступ на основе предъявления сертификата так, как это определено протоколом Internet Secure Sockets Layer (SSL).  Шифрование, обеспечивающее безопасную связь между отдельными пользователями.

Средства календарного планирования Одна из технологий, поддерживаемых Notes является технология календарного планирования. С помощью встроенного в клиентское место Notes календаря пользователи могут назначать встречи, планировать совещания, просматривать любой временной промежуток месяцев, недель или дней, выбирать даты для просмотра и многое другое. На основе коммуникационных возможностей Notes обеспечиваются следующие функции группового календаря:  Оповещение участников о встречах и совещаниях  Поиск свободных промежутков времени  Резервирование ресурсов и помещений  Возможности просмотра календаря других сотрудников (если предоставлены права)  Делегирование полномочий по работе с календарем и почтовым ящиком На корпоративном уровне внедрение средств календарного планирования и управление этими средствами лучше всего производить за счет их интеграции с существующей инфраструктурой передачи сообщений и коллективной работы.

Средства интеграции с реляционными базами данных и системами управления ресурсами предприятия Lotus разработал целый спектр технологий интеграции, позволяющих разработчикам приложений в полной мере использовать всю мощь и Lotus Notes, и реляционных баз данных (РСУБД). В число продуктов и технологий интеграции, позволяющих разработчикам приложений использовать Notes и РСУБД, входит библиотека LotusScript Data Object. LotusScript Data Object (LS:DO) - это набор классов, методов, свойств и событий LotusScript, обеспечивающих доступ к реляционным и традиционным базам данных с использованием ODBC. LS:DO позволяет разработчикам объединить Notes с внешними базами данных для связи приложений Notes с операционными системами. Таким образом, с помощью LS:DO можно эффективно реализовать распределенный внешний интерфейс для традиционных систем. Так как LS:DO предоставляет доступ к базам данных как для чтения, так и для записи, в распоряжении разработчиков имеются все функции рабочих потоков и репликации Notes, что позволяет создавать расширенные приложения, объединяющие реляционные базы данных с Notes.

Запуск Notes Для запуска Notes нужно выбрать из меню Пуск команду Программы – Lotus Application – Lotus Notes. После этого на экране появится заставка, в которой указывается, какая версия Notes используется. Затем появится окно, имеющее название “Lotus Notes” и содержащее запрос на ввод пароля: Если пароль будет введен неверно, то Notes не разрешит работать под именем, которое отображается в окне ввода пароля.

Пригласительная страница «Добро пожаловать» После того, как Notes примет пароль на экране появится окно с пригласительной страницей “Добро пожаловать”, которая обеспечивает быстрый доступ к почте, календарю, списку задач и к различным средствам поиска.

Получение и отправка электронной почты Чтобы перейти к почте, нужно щелкнуть по значку Почта на странице “Добро пожаловать”. Откроется окно просмотра почты, разделенное на две области: –Область Представления расположена в правой части окна и отображает список поступивших сообщений. Каждая строка этого списка соответствует одному сообщению. –Область Навигации расположена в левой части окна и содержит средства, позволяющие удобно организовать почту.

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

Доступ к Web из Notes В Notes имеется много средств для получения информации из Web. Причем нет необходимости использовать какой-то внешний браузер. Находясь в среде Notes. Способы поиска информации в Web: – На панели с кнопками перемещения в правом верхнем углу экрана нужно нажать на стрелку, расположенную рядом с кнопкой Поиск. В появившемся списке выбирается поисковая система. – На странице “Добро пожаловать нужно щелкнуть по стрелке спускающегося списка Найти. В списке выбирается средство поиска, а в соседнее поле текст вводится слово, по которому будет осуществляться поиск. – Для открытия Web с помощью Notes нужно щелкнуть значок Открыть URL (глобус в правом верхнем углу экрана).В поле Адрес вводится адрес Web-страницы.


Алгоритм репликации
Рассмотрим пошагово, что происходит в сеансе репликации
    Шаг 1 . Установление соединения с сервером. Инициирующий репликацию сервер (станция) соединяется с вызываемым сервером. Происходит процедура аутентификации и проверка возможности доступа к данному серверу (о механизме аутентификации и контроле доступа к серверу >>>)
    Для установления расписания репликаций сервер использует документ Connection Адресной книги, клиент Notes - документ Location (Место вызова)
    Шаг 2 . Построение списка реплицируемых баз. Каждый сервер поддерживает в своей виртуальной памяти упорядоченную по идентификатору реплики таблицу всех имеющихся на нем баз данных и шаблонов - так называемый, кэш идентификаторов реплик . Репликатор сравнивает свой кэш и кэш вызываемого сервера и, с учетом репликационных приоритетов и указанных к реплицированию (в документе Connection или в параметрах команды консоли) баз, строит список баз, подлежащих реплицированию в данном сеансе
    Шаг 3 . Далее для каждой базы из списка
      • Определяется, не запрещены ли репликации базы. Если в установках одной из реплик выбрана опция, запрещающая репликацию (Temporarily disable replication for this replica в настройках репликации), репликации базы не происходит, о чем уведомляет строка на консоли сервера Replication is disabled for <сервер> <база>
      • Может ли каждый из серверов открыть реплику на другом сервере. Если один из серверов не имеет доступ (уровень доступа No Access) к одной из реплик, либо не имеет доступа к подключенному (связаному) каталогу, внутри которого находится реплика, репликация базы заканчивается выдачей сообщения Access control is set in <сервер> <база> to not allow replication from <сервер> <база> . Если оба сервера имеют доступ к обеим репликам, репликатор открывает реплику на вызванном сервере.
      • Репликация ACL. Для репликации ACL необходимо, чтобы у вызванного сервера был доступ Управляющего (Manager) в ACL вызвавшего сервера и в настройках репликации на вызвавшем сервере была выбрана опция Receive these elements from other replicas: Access Control List . Репликатор сравнивает даты изменения ACL в обеих репликах. Если ACL "чужой" реплики изменился позднее, чем ACL "своей", репликатор получает ACL с вызванного сервера и заменяет им свой ACL, после чего снова проверяет, может ли каждый из серверов открыть реплику другого. При схеме Pull-Push зеркально-аналогичные действия выполняются репликатором по отношению к ACL на вызванном сервере. При схеме репликации Pull-Pull обновление (если необходимо) произведет репликатор вызванного сервера после передачи ему управления во второй фазе репликационной сессии
      • Репликация элементов дизайна. Для успеха этой части репликации базы необходимо, чтобы уровень доступа вызванного сервера в ACL реплики базы на сервере-инициаторе был не ниже уровня Разработчика (Designer). Сервер выискивает и принимает на свою сторону элементы дизайна, изменённые на вызванном сервере позднее, чем изменились эти элементы на его стороне, заменяя последние. Но только если это разрешают делать опции, прописанные в параметрах репликации базы в полях Receive these elements from other replicas: Design elements, Agents, Replication formulas . Удаление элементов дизайна происходит подобно удалению документов путем передачи информации об удалении (stubs ). После приёма изменений сервер производит выталкивание изменений, произошедших на своей стороне (схема Pull-Push ) после зеркально-аналогичных проверок, либо переходит к следующей стадии приема, оставив передачу изменений до второй фазы сессии (схема Pull-Pull )
      • Репликация документов. Прием изменений документов на сервер-инициатор происходит, если вызванный сервер имеет доступ к базе (ACL) и документам (поля доступа к документам типа Readers и Authors), позволяющий создавать, изменять или удалять документы. Среди документов вызываемого сервера строится специальное представление, содержащее документы согласно формуле репликации. Затем репликатор создает список идентификаторов документов, которые были изменены со времени последней репликации. Если в настройках репликации включен параметр Receive documents from server - Smallest first , полученный список сортируется по размеру документа, в противном случае - по дате модификации. Далее для каждого документа по идентификатору ищется его собрат в своей реплике. Если этого не удалось, новый документ добавляется в реплику. Если документ не новый - сравниваются время последней модификации и последовательные номера этих документов. Если документ оказался измененным с момента последней репликации на обоих серверах - возникает репликационный конфликт (этот случай рассматривается ниже). В противном случае изменения передаются на сервер-инициатор репликации, модифицируя документ на его стороне. Причем, начиная с версии 4.x происходит не полное копирование всех полей, копируются только поля, имеющие неодинаковые флаги Seq Num . Это существенным образом сокращает объём передаваемой информации. Именно это и называют репликацией на уровне полей (пунктов, items). Далее, в зависимости от схемы репликации, либо репликатор сервера повторяет описанные в этом пункте действия в зеркальном направлении, выталкивая новые и модифицированные документы (схема Pull-Push ), либо сразу переходит к следующему пункту, оставляя эту работу для чужого репликатора (Pull-Pull )
      • Обновление записи в истории репликаций. При успешном завершении предыдущих стадий репликации репликатор делает запись в истории репликаций своей реплики. Если репликация происходит по схеме Pull-Push , то подобную запись репликатор вносит и в историю репликации чужой реплики
    Шаг 4 . Завершение репликационной сессии. Когда список реплицируемых баз исчерпан, репликатор или разрывает соединение (схема Pull-Push ), или передает запрос на активизацию репликатора на обратной стороне и передачу изменений в обратную сторону.
Устранение конфликтов репликаций
Когда репликатор обнаруживает, что с момента последней репликации оказались изменёнными версии документа в обеих репликах базы, он вынужден обрабатывать ситуацию репликационного конфликта. Выбирается версия документа, имеющая более позднее время модификации и используется в качестве основного документа. Вторая версия документа сохраняется в виде ответного документа (response) к основному (наличие поля $Ref с ссылкой на основной документ). Кроме того, в ответный документ добавляется поле с именем $Conflict и пустым значением. В представлениях, поддерживающих иерархическую организацию документов, такие документы отображаются в виде ответного документа, отмеченного ромбиком в колонке выделения документов, и строкой .
Собственно, на разрешение конфликтов, начиная с пятой версии Notes, влияет значение поля $ConflictAction , значение которого в интерфейсе клиента Domino Designer может быть задано через свойство формы Conflict Handling , по которой создаются документы
  • Значение этого свойства Create Conflicts (отсутствие поля $ConflictAction или значение поля, установленное в значение "1" , в документе) задаёт описанное выше разрешение конфликтной ситуации - создание репликационного конфликта
  • Значение свойства Merge Conflicts (значение поля $ConflictAction , равное "2" ) - объединение конфликтов, произошедших при редактировании различных полей в различных репликах базы данных
Организационно для разрешения возникших конфликтов необходимо собрать авторов изменений "за круглым столом" для осмысления внесенных изменений и выработки согласованного варианта.
Технически этот вопрос разрешается так. Если решено оставить версию документа, принятую за основную, конфликтный документ просто удаляют. Если нужно оставить версию конфликтного документа, то его открывают в режиме редактирования, сохраняют (при этом исчезают поля $Conflict и $Ref , и документ становится главным), а затем удаляется другая версия документа. [Но в этом случае, если конфликт произошел с ответным (response) документом, вместе с полем $Ref теряется и его привязка к главному документу. Необходимо восстановить утерянную связь]. Наконец, если должны остаться обе версии, достаточно пересохранить конфликтный документ.
Если в процессе эксплуатации базы наблюдается усиленная тенденция к образованию конфликтов, скорее всего, необходимо изменять или дизайн базы, или технологию работы с ней. Одним из наиболее эффективных приемов изменения дизайна - разбиение большого документа на несколько мелких, где изменения вносятся не в один документ, а на основе создания новых, более мелких документов. Кроме этого, в окне свойств формы предусмотрены опции Versioning (Поддержка версий) - управление версиями документа и Conflict Handling (Обработка конфликтов) - с параметром автоматического слияния (Merge conflicts ) конфликтных документов, если разные пользователи изменяли в них разные поля.
К организационным моментам относится, в первую очередь, технологическое ограничение возможности редактирования документа как можно меньшим количеством пользователей (в идеале - автор документа плюс, для страховки, управляющий базы). Остальные пользователи вносят изменения в документ путем создания ответных к нему документов в форме замечаний.
Реплика представляет собой дубликат базы данных с тем же кодом репликации, что и исходная база данных. В Notes можно создавать локальные реплики (в автономном режиме) любой используемой базы данных. Репликация позволяет обеспечить идентичность локальной реплики и базы данных на сервере, чтобы внесенные изменения отображались в обеих версиях базы данных. Процесс репликации обеспечивает идентичность реплик.

Примечание В Notes код реплики используется для поиска и репликации всех реплик базы данных. Копия базы данных, создаваемая командой: Файл - База данных - Создать копию, имеет код, отличный от кода исходной базы данных, и она не реплицируется. Копия файла базы данных, созданная в операционной системе, является репликой, если имеет код, совпадающий с кодом исходной базы данных.

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

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

Большинство реплик, с которыми работает пользователь, расположены на локальном компьютере. Если нужно создать реплику серверной базы данных на другом сервере, обратитесь за помощью к администратору Domino.

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

На странице "Репликатор" отображаются все реплики и содержатся сведения по выполнению репликации. Можно создать расписания репликации для каждого места вызова Notes или выполнить его вручную.

Совет Можно открыть меню "Репликация" для базы данных несколькими способами: из меню "Файл" при открытой базе данных, щелкнув правой кнопкой мыши закладку базы данных или запись базы данных на странице "Репликатор" (записи создаются при первой репликации базы данных).

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

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

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

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

Если заметили ошибку, выделите фрагмент текста и нажмите Ctrl+Enter
ПОДЕЛИТЬСЯ:
NexxDigital - компьютеры и операционные системы