Для чего используется реплики баз данных lotus notes
Схемы репликации в Lotus Notes. Разрешение конфликтов репликации в Lotus Notes
Система управления документооборотом Lotus Notes
Lotus Notes – ориентированная на БД собственного формата система клиент-серверной архитектуры, разработанная корпорацией Lotus Development, разработкой и продажами которой в настоящее время занимается IBM [7]. Система работает под управлением различных платформ семейств Windows и UNIX.
Lotus Notes изначально разрабатывалась для работы в локальных сетях, но сейчас может работать и в глобальных, например, в Интернете [7].
— ПО промежуточного уровня (Middleware).
Краткое описание функционирования
Каждый клиент или сервер может иметь несколько локальных БД. Каждая БД представляет собой коллекцию заметок (notes). Клиент представляет собой совокупность запускающей подсистемы и модулей просмотра, сопоставимых по функциональности с Web-браузерами. В отличие от браузеров, они предоставляют возможности не только чтения, но и редактирования информации.
Основная функция сервера Lotus (Lotus Domino) – управлять коллекцией БД и предоставлять к ним доступ клиентам и другим серверам.
Репликация основывается на связующих документах (connection documents) – особых заметках, содержащихся в каталоге Domino и описывающих время, способ (схему репликации – см. табл. 5) и объект репликации [7].
| Таблица 4 Разновидности идентификаторов Notes | ||
| Идентификатор | Область видимости | Описание |
| Универсальный идентификатор (Universal ID, UNID) | Глобальная | Глобально уникальный идентификатор, присваиваемый каждой заметке |
| Идентификатор инициатора (Originator ID, OID) | Глобальная | Идентификатор заметки, включающий информацию об истории |
| Идентификатор БД (Database ID) | В пределах сервера | Отметка времени создания БД или восстановления БД после сбоя сервера |
| Идентификатор заметки (Note ID) | В пределах БД | Идентификатор заметки, зависящий от экземпляра БД |
| Идентификатор реплики (Replica ID) | Глобальная | Отметка времени, используемая для идентификации копий одной БД |
Модифицированный документ должен быть разослан на все реплики. Изменения заметки заканчиваются изменением ее OID, предыдущее значение которого копируется в журнал истории документа. При добавлении документа для него создаются новые UNID и OID. При удалении документа на его место в БД помещается заглушка удаления (deletion stub). Заглушка удаления не уничтожается до тех пор, пока не уничтожены все копии удаленного документа [7].
| Таблица 5 Схемы репликации | |
| Схема | Описание |
| Извлечение-продвижение | Задание на репликацию считывает изменения с целевого сервера и передает на него собственные изменения |
| Двойное извлечение | Задание на репликацию считывает изменения с целевого сервера и передает на него собственные изменения по его запросам |
| Продвижение | Задание на репликацию передает собственные изменения на целевой сервер, никак не реагируя на имеющиеся на нем изменения |
| Извлечение | Задание на репликацию считывает изменения с целевого сервера, не пытаясь передать ему собственные изменения |
Разрешение конфликтов репликации
В процессе репликации по схеме извлечение-продвижение для каждой реплики создается список OID. Затем сравниваются списки с двух серверов. Заметки с UNID, отсутствующими на другом сервере, (т. е. добавленные) должны быть переданы на него.
Для заметок, имеющих в списках серверов A и B одинаковые UNID, но разные OID, выполняются следующие действия. Задание на репликацию просматривает истории обеих заметок. Если одна из историй является частью другой, то конфликт отсутствует: более новая заметка замещает более старую. Если изменения относятся к различным элементам заметки, то конфликтующие модификации также отсутствуют: в объединенную заметку передаются наиболее новые элементы. Во всех остальных случаях конфликт неразрешим. При этом Notes выбирает один из документов победителем. Им становится копия с большим последовательным номером в OID или (в случае равенства последовательных номеров) с большей отметкой времени [7].
Репликация в кластере
В кластере вместо явного планирования репликации при помощи связующих документов изменения просто немедленно передаются на все реплики кластера.
Для этой цели каждый сервер поддерживает очередь событий репликации, в которую заносятся локальные операции изменения. Раз в секунду специальное задание на репликацию просматривает очередь в поисках изменений, которые следует распространить на другие серверы кластера, продвигает их и удаляет события из очереди.
Технологии IBM
Мы продолжаем цикл публикаций, посвященных продуктам одного из лидеров рынка программного обеспечения — корпорации IBM. Во второй части настоящей статьи рассказано о Lotus Notes — широко распространенном во всем мире средстве групповой работы.
Lotus Notes имеет довольно продолжительную историю: первый продукт, послуживший основой его создания, PLATO Group Notes, появился в 1976 году, а первая коммерческая версия Lotus Notes, использовавшая архитектуру «клиент-сервер» и обладавшая средствами удаленных коммуникаций, возможностями репликации данных, была выпущена в 1986 году. Это было первое средство коллективной работы (groupware), появление которого заметно повлияло на структуру рынка программного обеспечения. По данным зарубежных аналитических агентств, современный рынок средств коллективной работы представляет собой один из крупнейших сегментов мирового рынка программного обеспечения, и сегодня трудно представить себе функционирование современной организации без средств коммуникации и обмена сообщениями, автоматизации документооборота, а в последнее время — и средств интеграции бизнес-приложений.
Отметим, что довольно продолжительное время (до появления Novell GroupWise, Microsoft Exchange и других продуктов подобного класса) Lotus Notes был единственным средством групповой работы на рынке программного обеспечения.
Возможности поддержки стандартов Internet были добавлены в версию 3.3 этого продукта в 1995 году, а несколько позже серверная часть Notes была переименована в Domino. Текущая, пятая версия Lotus Notes была выпущена в 1999 году. Имеется русскоязычная версия этого продукта, поскольку число российских организаций, его применяющих, насчитывает несколько тысяч.
Ниже мы выясним, что представляет собой пятая версия Notes и каковы ее основные особенности.
Что представляет собой Lotus Notes
Lotus Domino и Notes — многофункциональный продукт, включающий средства поддержки электронной почты и обмена сообщениями, средства автоматизации деловых процедур и документооборота, средства организации групповой работы (в том числе и средства календарного планирования) и коллективные базы данных, которые в общем случае могут быть распределенными, то есть располагаться на разных серверах.
Серверная часть Notes — Lotus Domino — представляет собой одновременно почтовый сервер, Web-сервер, а также сервер приложений для автоматизации документооборота и хранения документов, поддерживающий обмен данными с реляционными СУБД и ERP-системами (рис. 1).
Lotus Notes — это универсальный клиент, устанавливаемый на рабочих местах пользователей и включающий в себя средства работы с электронной почтой и просмотра Web-страниц, средства календарного планирования, а также средства коллективной работы и доступа к документам, обеспечивающие оперативное отслеживание всех изменений и версий документов (рис. 2).
Особенности Lotus Domino и Notes
Поддержка обмена сообщениями и группового планирования
Domino является сервером групповой работы, одна из важных функций которого — обмен сообщениями. Для осуществления обмена сообщениями в Lotus Notes предусмотрены средства электронной почты, при этом почтовые сообщения могут содержать ссылки на любые документы в базах данных Notes. Путем обмена сообщениями организована и автоматизация деловых процедур: сведения о ходе выполнения каждой такой процедуры рассылаются в виде сообщений ее участникам.
Отметим, что возможен обмен защищенными сообщениями, а также применение совместно с Domino в качестве почтового клиента не только Lotus Notes, но практически всех популярных почтовых клиентов, поддерживающих протоколы POP3 и IMAP4.
Именно на электронной почте и основан в Notes обмен сообщениями и документами, при этом в почтовом сообщении могут находиться ссылки на другие документы. Для того чтобы после установки Notes можно было сразу начать коллективную работу над документами, вместе с Domino поставляются шаблоны баз данных, ориентированные на создание библиотек документов, средств их согласования, средств доступа к документам через Internet и т.д.
К основным функциям систем групповой работы относится не только организация коллективной работы над документами и обмена сообщениями, но и календарное планирование. Domino позволяет организовать групповые и персональные расписания, выполняя роль персонального и коллективного информационного менеджера, а также хранить сведения о доступности групповых ресурсов (например, конференц-залов или проекционного оборудования). Возможно создание адресных книг (рис. 3), организация уведомления о наступлении того или иного события, создание повторяющихся событий, просмотр календарей других сотрудников, резервирование ресурсов — в общем, все то, без чего уже немыслимы персональные и коллективные информационные менеджеры (заметим, однако, что первым известным персональным информационным менеджером был Lotus Organizer все той же компании Lotus).
Наличие документоориентированных баз данных
Domino хранит документы в специализированных документоориентированных базах данных (NSF, Notes Storage File), существенно отличающихся от реляционных баз данных. Каждая база данных содержит как структурированные, так и неструктурированные документы, в общем случае включающие разнородную информацию (текст, графику, мультимедиа-данные, присоединенные документы, созданные другими приложениями, например документы Microsoft Word), формы, определяющие внешний вид документов, а также представления (views), с помощью которых можно упорядочивать документы по категориям, отображать определенные подмножества документов и сведения из них. Отметим, что базы данных Notes позволяют осуществлять такие полезные возможности, как полнотекстовый поиск, управление версиями документов, создание связей между документами с помощью гипертекстовых ссылок. Размер баз данных Domino ограничен только дисковым пространством. Все это вместе взятое позволяет Notes выступать в качестве универсального хранилища самых разнообразных документов, объектов и средства доступа к ним.
Domino использует журналирование и протоколирование транзакций, что обеспечивает высокую надежность работы и целостность данных.
Базы данных Lotus Notes обычно располагаются на серверах Domino, однако могут находиться и на рабочих станциях. Это позволяет поддерживать работу пользователей и при отсутствии соединения с сервером Domino, если, например, для работы используется переносной компьютер или другое мобильное устройство.
Поддержка репликаций
Отметим, что управление базами данных Domino практически не централизовано — каждый из серверов Domino поддерживает свои базы данных независимо от других серверов. Однако при этом имеются развитые механизмы репликации и синхронизации данных, управляемых разными серверами, для чего в состав Lotus Notes входят соответствующие сервисы (рис. 4).
Поддерживаются двунаправленная синхронизация изменений, копирование внесенных изменений, тиражирование данных не только между серверами, но и между клиентом и сервером, выборочное тиражирование информации. Репликация данных возможна в фоновом режиме работы. Это оказывается очень удобным в случае, если Notes используется территориально распределенным предприятием — в этой ситуации пользователи подразделений, удаленных от центрального офиса, могут пользоваться своими локальными серверами, а с помощью репликации осуществлять синхронизацию данных на этих серверах, что позволяет иметь доступ к актуальной информации и не затруднять работу пользователей на время осуществления синхронизации. Отметим, что для репликации могут использоваться самые разнообразные каналы связи.
Репликация данных в Notes может быть высокооптимизированной — ее можно выполнять на уровне отдельных полей документов, что может существенно снизить время синхронизации. Заметим, что на данный момент даже реляционные СУБД обычно не позволяют осуществить подобную операцию.
Репликация в Notes может быть выборочной. Можно организовать ее так, что копируется только заранее выбранное подмножество данных (например, на переносной компьютер для работы вне корпоративной сети).
Помимо репликации документов возможна и репликация приложений Notes. Это во многом решает проблему сопровождения готовых приложений — ведь в этом случае не требуются дополнительные затраты на обновление версий на рабочих станциях и в удаленных филиалах.
Средства защиты данных
Средства защиты данных в Domino/Notes считаются весьма эффективными. Для доступа пользователей к данным используется аутентификация с применением открытых ключей, что исключает необходимость пересылки паролей по сети, механизмы цифровой подписи документов, контроля доступа пользователей к тем или иным ресурсам (вплоть до отдельных полей), шифрования документов и почтовых сообщений на сервере и рабочих станциях. Для аутентификации серверов может быть использован протокол SSL (Secure Sockets Layer).
В Notes поддерживается также механизм ролей, представляющих собой наборы прав доступа и предоставляемых пользователям. Помимо этого Notes поддерживают списки управления выполнением (ECLs, Execution Control Lists) для разрешения тех или иных действий, выполняемых элементами управления ActiveX, Java-аплетами, кодом на скриптовых языках в Web-страницах.
Поддержка средств разработки приложений
Cоздание форм и приложений, хранящихся в базах данных Domino, осуществляется с помощью специально предназначенного для этого средства разработки — Domino Designer (рис. 5).
В Domino Designer имеется полный набор основных элементов для проектирования приложений. С помощью входящего в его состав дизайнера форм можно создавать формы, содержащие поля документов, применять элементы управления ActiveX и Java-аплеты, обрабатывать события, связанные с формами и их элементами. В Domino Designer имеются и средства программирования. Например, можно создавать обработчики событий для элементов форм на языках Java и JavaScript, а также на языке LotusScript, напоминающем Visual Basic, использовать язык формул (наподобие применяемого в электронных таблицах). Возможен доступ к данным реляционных СУБД из приложений Notes (с помощью универсального механизма доступа к данным ODBC). Это же средство разработки позволяет проектировать Web-узлы с помощью дизайнера структуры, создавать страницы, содержащие фреймы (с помощью дизайнера фреймов), а также разрабатывать так называемые графические навигаторы — графические изображения с «горячими точками», позволяющие при щелчке мыши на них вывести на экран документ или представление Notes. Помимо этого с помощью Domino Designer можно создавать и агенты — средства обработки событий и выполнения различных задач (например, отправки сообщения определенным пользователям при появлении изменений в документе).
Следует отметить, что разработка простейших приложений с помощью Domino Designer вполне может быть поручена пользователю, не обладающему опытом программирования, в то время как для опытных разработчиков это средство предоставляет немало возможностей, позволяющих создать приложения со сложной логикой.
Отметим, что создание приложений для Domino можно осуществлять с помощью не только Domino Designer, но и IBM VisualAge for Java, Microsoft Visual Basic и ряда других средств разработки. Кроме того, можно использовать и непосредственно функции API Notes, что позволяет применять для разработки практически любое средство, поддерживающее работу с внешними библиотеками. Отметим, что в настоящее время на рынке имеется немало библиотек классов и компонентов для Delphi, Visual Basic, C++Builder, средств разработки на Java, инкапсулирующих вызовы функций API Notes, что обеспечивает существенное упрощение разработки приложений для Notes с их помощью.
Поддержка Internet
Задача интеграции Lotus Notes и Internet была решена в версии Domino 4.5. Начиная с этой версии Domino стал единой платформой для обмена сообщениями и коллективной работы, одинаково доступной как из клиентских приложений Lotus Notes, так и из обычных Web-браузеров. В частности, в Domino реализовано конвертирование документов Notes в формате HTML и представление их идентификаторов в виде URL, что позволяет искать документы в базах данных Domino по их URL, конвертировать «на лету» в HTML и передавать их в клиентские браузеры. Это дает возможность создавать на базе этого сервера интерактивные Web-узлы, использующие все описанные выше сервисы Domino, связанные с защитой данных, репликацией, полнотекстовым поиском и т.д. и при этом предоставляющие актуальную информацию.
Domino поддерживает ряд открытых протоколов Internet (HTTP, HTTPS, SMTP, POP3, NNTP, SSL, MIME, IMAP4, LDAP и др.) которые заменили применявшиеся прежде специализированные протоколы Notes. В составе Domino имеется HTTP-сервер, предназначенный для передачи данных из баз Notes по протоколу HTTP.
Как было сказано выше, в формах Notes можно применять элементы управления ActiveX и Java-аплеты, в том числе и полученные из Internet. В Domino имеются гибкие средства контроля за их загрузкой, позволяющие создать сценарии проверки их свойств и принятия решения об установке и запуске.
Клиентская часть Lotus Notes обеспечивает возможность отображать как документы Notes, так и Web-страницы, находящиеся в Internet (рис. 6).
Отметим, что, хотя Domino и представляет собой самодостаточный Web-сервер, он может использоваться и совместно с Internet Information Services. Возможно также использование Domino совместно с proxy-серверами и брандмауэрами.
Поддержка мобильных пользователей
Notes поддерживает работу разнообразных мобильных клиентов. Как было сказано выше, пользователь может скопировать базу данных на ноутбук, работать с ней автономно, а затем подключиться к серверу Domino и синхронизировать внесенные изменения.
Однако более интересным представляется то, что для доступа к данным, хранящимся на сервере Domino, можно использовать мобильные телефоны, карманные компьютеры, пейджеры и другие мобильные устройства. Имеется возможность создавать приложения Domino, поддерживающие WAP (Wireless Access Protocol).
Из новых средств поддержки мобильных пользователей следует отметить:
Интеграция с другими приложениями
Сервер Domino обладает возможностями по обмену данными с другими источниками, в частности с реляционными СУБД. Для этой цели можно использовать библиотеку LotusScript Data Object (LS:DO) — набор классов LotusScript, позволяющих осуществлять доступ к данным с помощью ODBC, а также Domino Enterprise Connector Services (DECS) — набор мастеров, которые позволяют сгенерировать приложения, использующие эти классы.
Помимо этого с помощью отдельного продукта Lotus Enterprise Integrator (LEI) можно осуществлять обмен данными между Lotus Domino и ODBC-совместимыми реляционными СУБД (включая СУБД IBM, Oracle, Microsoft, Sybase и ряда других производителей), синхронизацию данных и даже выполнение транзакций.
Отметим, что с помощью библиотек Domino Connectors можно также осуществлять обмен данными между Domino и наиболее известными ERP-системами — SAP R/3, J.D.Edwards OneWorld, Oracle Financials, PeopleSoft, мониторами транзакций, такими как MQSeries, CICS, BEA Tuxedo, службами каталогов NDS и LDAP.
Интероперабельность, масштабируемость и надежность
Lotus Domino и Notes являются многоплатформенными продуктами. Версии сервера Domino имеются для Windows 3.x, Windows 95, Windows NT, Windows 2000, Linux, Sun Solaris, HP-UX, IBM AIX, OS/2, Novell NetWare, OS/400, OS/390. Версии Lotus Notes — Mac OS, Windows 3.x, Windows 95, Windows NT, Windows 2000, Linux, Sun Solaris, HP-UX, IBM AIX, OS/2, OS/400, OS/390.
Domino Enterprise Server позволяет объединить в единый кластер несколько серверов Domino и осуществлять внутри этого кластера репликации в реальном времени, а также дублирование функций — в случае отказа одного из серверов клиентский пакет Notes автоматически подключается к другому серверу и открывает на нем то приложение, с которым в данный момент работает пользователь. Это позволяет создавать на основе Notes корпоративные решения, обладающие повышенной отказоустойчивостью и надежностью.
Заключение
В настоящей статье мы рассмотрели особенности Lotus Domino и Notes — широко распространенного многофункционального продукта, включающего средства поддержки электронной почты, обмена сообщениями, автоматизации деловых процедур и документооборота, организации групповой работы. Мы узнали, что этот продукт обладает независимостью от платформы, разнообразными возможностями интеграции данных и приложений, средствами обеспечения безопасности данных, повышения надежности и производительности, позволяет создавать масштабируемые решения, поддерживает все широко используемые современные технологии, включая поддержку Internet и мобильных устройств, а также многих современных технологий разработки приложений. Все это делает Lotus Domino и Notes одним из лучших средств создания информационной инфраструктуры предприятия или решений, являющихся частью такой инфраструктуры.
В следующих статьях данного цикла мы рассмотрим другие продукты IBM — WebSphere и MQSeries.
Подробную информацию о продуктах IBM и Lotus можно получить на Web-сайте по адресам: http://www.ibm.ru/, http://www.lotus.ru/.
Материалы и программное обеспечение для написания данной статьи предоставлены компанией НЕТКОМ (IBM Distributor)
117036 Москва, ул. Дм. Ульянова, д.26, корп. 2, офис 57
Что такое Lotus Domino и Notes и как они работают?
4. Lotus Domino и Notes как совокупность восьми ключевых технологий
Что же такое «интегрированные системы для совместной работы» вообще и что составляет суть Domino и Notes, в частности с технологической точки зрения? В упомянутом ранее отчете IDC содержатся интересные результаты опроса европейских пользователей систем для совместной и коллективной работы. По результатам этого опроса были указаны в порядке убывания интенсивности использования следующие технологии, которые и составляют суть «ПО для совместной работы»:
Lotus Domino и Notes сами по себе, а также в сочетании с другими продуктами семейства Domino включают все перечисленные выше технологии. И все же если говорить о ключевых технологиях, важных с точки зрения понимания архитектуры продукта и возможностей его применения, то можно выделить следующие:
Многие из этих технологий, взятые в отдельности, были достаточно хорошо известны и до появления Notes. Но, объединенные вместе в рамках единой системы, они дали совершенно новое качество, которое позволяет утверждать: в настоящее время на рынке нет аналога данному программному продукту.
Прежде чем мы кратко остановимся на каждой из этих восьми технологий, сделаем следующее замечание. Во всей статье мы упоминаем в основном два программных продукта: Lotus Domino и Lotus Notes. Это связано с тем, что Domino/Notes — это клиент-серверная технология, где в качестве сервера выступает Lotus Domino, а в качестве клиентской части — Lotus Notes. Однако сразу же следует отметить уникальность сервера Domino, которая состоит в том, что это еще и Web-сервер и почтовый сервер, поддерживающий стандарты Internet, поэтому в качестве клиентской части для работы с приложениями Domino и электронной почтой могут использоваться Web-браузеры и другие почтовые клиенты Internet. За счет поддержки промышленных стандартов, таких, в частности, как ODMA, ActiveX, OLE и ряда других, для доступа и сохранения данных на сервере Domino с той или иной степенью полноты в качестве клиентов могут использоваться популярные офисные пакеты, мобильные телефоны, персональные цифровые помощники типа PalmPilot, пейджеры и т.д.
4.1. Документоориентированная база данных Domino/Notes
Сердцем Domino и Notes является хранилище объектов, известное как NSF (Notes Storage File), в котором и хранятся данные.
Базы данных Domino и Notes отличаются от реляционных СУБД, с которыми многие привыкли работать. В реляционных СУБД данные описываются с помощью таблиц, жестко задающих формат данных.
Основой единицей хранения информации в базе данных Lotus Domino/Notes является отдельный документ. Структура документа Notes определяется формой, содержащей в себе набор полей различных типов. Например, документ, относящийся к обслуживанию клиентов, может содержать в себе дату, имя клиента, идентификационный номер клиента, имя оператора, текстовое поле для описания запроса клиента, а также поле статуса запроса. Notes использует индексированные представления для отображения списков документов, навигаторы и полнотекстовые индексы для поиска документов, а также агенты для автоматизации определенных процессов в базе.
Реляционная база данных, как правило, жестко структурирована, и каждая запись в таблице имеет один и тот же набор полей, пространство под который определено и выделено заранее. Люди в 90% случаев имеют дело с документами, которые являются слабо структурированными объектами, и Notes изначально проектировался для работы с такой информацией. Это и предопределило структуру базы данных Notes. Отдельный документ не обязательно имеет такие же поля, что и остальные документы; под поле выделяется столько памяти, сколько это необходимо для хранения конкретных данных; поля в документы могут добавляться динамически, по мере возникновения необходимости в них или при изменениях представлений разработчиков и пользователей.
База данных Notes может хранить любые типы данных — от простого текста, чисел, времени и даты до форматированного текста, графических образов, звука, видео и произвольных данных, которые могут храниться в виде присоединенных объектов в своем родном формате. Например, это может быть присоединенный файл формата MS Word или электронной таблицы Lotus 1-2-3.
Документ может иметь как структурированный, так и неструктурированный формат, поэтому Notes может хранить и обрабатывать такие массивы данных, обработка которых с трудом поддается реляционным и прочим системам баз данных. Более того, благодаря использованию документной модели обработки Notes предоставляет пользователям ряд полезных функций.
Для того чтобы гарантировать адекватную масштабируемость для любых целей, размер хранилища объектов Domino ограничен только доступными физическим ресурсами. Это хранилище может распространяться за границы физических систем хранения. Высокооптимизированный формат минимизирует использование операций ввода-вывода, что уменьшает число обращений к дискам и делает эти обращения более эффективными.
В целях обеспечения высочайшей надежности и защиты от потери данных хранилище объектов Domino использует лучшие алгоритмы журналирования или протоколирования транзакций. Операции с базами данных записываются последовательно, уменьшая активность ввода-вывода одновременно с оптимизацией целостности данных и ускорением перезапуска сервера.
Базы данных Domino/Notes поддерживаются целым набором сервисов, которые берут на себя выполнение большого количества операций нижнего уровня. Например, отдельный сервис отвечает за создание и обновление индексов, сервис репликации отвечает за поддержание копий баз данных на разных серверах и клиентских машинах в синхронном по отношению друг к другу состоянии, сервис маршрутизации отвечает за доставку почтовых сообщений и т.д. Эти сервисы выполняются на сервере Domino, некоторые из них — также на клиенте Notes. Разработчики приложений для Domino не должны думать об этих задачах нижнего уровня, а могут полагаться на сервисы Domino, которые выполнят эту трудоемкую, полную мелких деталей, черновую работу.
Базы данных Notes, как правило, располагаются на серверах Domino, однако могут находиться и на клиентских машинах с Notes, что является очень важным с точки зрения поддержки работы пользователей в режиме off-line и мобильных пользователей. Пользователи получают доступ к данным на сервере через сеть, либо через модем, либо работая с данными локально с помощью клиента Notes. Однако, как уже отмечалось, в качестве клиента для работы с данными и приложениями на сервере Domino могут использоваться Web-браузеры, почтовые клиенты Internet и т.д.
Пользователи имеют возможность просмотра списков документов, хранящихся в базе данных Domino/Notes, которые также называются представлениями, видами или взглядами (view). Когда пользователь Notes открывает вид, то названия полей выводятся как заголовки столбцов данных. Если, например, пользователь желает просмотреть документы по дате, то Notes, отсортировав их по значениям в этом поле, открывает вид, самый левый столбец которого содержит дату, а прочая информация из полей (номер клиента, название политики и т.п.) выводится в столбцах справа от основного. Виды в Notes отличаются гибкостью и используют схематичную метафору, основанную на «раскрытии и скрытии». Например, если основной документ имеет множество дочерних документов, то пользователь может по своему выбору просмотреть либо основной документ, либо основной документ и все документы следующего уровня, либо все уровни документов, относящихся к первому основному документу.
Различные представления (взгляды) могут выполнять разные выборки документов, а также их сортировку и/или категоризацию (группирование) по определенным критериям. Если продолжить рассмотрение примера базы данных отслеживания внешних контактов, то одним из режимов просмотра может быть просмотр всех документов, с категоризацией по названием организаций, другим режимом просмотра может быть только список личных карточек сотрудников, отсортированный по фамилиям, и т.д.
Таким образом, чтобы создать работоспособную базу данных в Domino/Notes, достаточно выполнить следующие действия:
Для решения этих задач имеются соответствующие графические средства разработки, о чем речь пойдет ниже. Создав данные элементы, можно начинать вводить документы и работать с базой данных. При этом следует отметить, что в Notes понятия «база данных» и «приложение» являются, по сути дела, синонимами. Хотя в более сложных случаях Domino-приложение может состоять из нескольких связанных между собой баз данных либо интегрировать в себе данные из других источников, таких как реляционные СУБД. Конечно, для создания более сложных приложений потребуются также другие средства разработки, поставляемые вместе с Domino и Notes, о чем мы расскажем далее.
Кроме того, Notes поставляется вместе с программами просмотра файлов для большинства популярных настольных приложений, что предоставляет пользователям возможность читать и распечатывать данные, даже не имея на своем компьютере соответствующего приложения.
4.2. Репликация
Многие заказчики, уже давно и активно использующие Domino и Notes, на вопрос о том, какая из всех технологий этих продуктов им больше всего нравится, называют репликацию. По сути, системой репликации решаются две основные задачи:
Domino и Notes обеспечивают коллективное использование информации в любое время и независимо от места расположения пользователя. Пользователями баз данных и приложений Notes могут быть сотрудники из различных подразделений организации в регионе, в стране или во всем мире. Каждое из этих подразделений может иметь свой сервер, подключение к которому персонала производится достаточно просто и без больших затрат. В результате пользователь будет иметь доступ к данным и приложениям на своем локальном сервере, вместо того чтобы работать с удаленным сервером по медленным каналам связи.
Пользователи в разных офисах будут работать со своей «копией» базы данных, расположенной на локальном сервере, а репликация обеспечивает то, что рабочие группы, расположенные в различных географических точках, работают с актуальными версиями одних и тех же документов и обмениваются информацией. Серверы Domino будут обмениваться между собой данными в соответствии с заданным расписанием по тем каналам, которые им доступны.
Следует отметить «всеядность» Domino и Notes в плане использования каналов связи: это могут быть сети TCP/IP, X.25, ISDN, коммутируемые телефонные каналы и т.д. Одна из самых тонких и великолепно проработанных разработчиками Lotus технологий — эффективное использование произвольных каналов связи.
Domino позволяет также создавать и централизованную архитектуру, если коммуникации, доступные конкретной организации, это позволяют.
Репликация в Notes непревзойденна по своей функциональности и степени гранулированности: она выполняется на уровне отдельных полей и идеально настраиваема. Репликация характеризуется следующими свойствами:
4.3. Система электронной почты и передачи сообщений
На самом деле, если бы из перечисленных выше восьми ключевых технологий было бы разрешено воспользоваться только одной — самой важной, эффектной, надежной и т.д., то, по всей видимости, многие пользователи остановили бы свой выбор на системе электронной почты Domino/Notes. Внедрение продукта уже оправдывает себя только при использовании его в качестве корпоративной системы электронной почты.
Эта система может быть охарактеризована словами: надежная, масштабируемая, защищенная и управляемая. В мире есть организации, в которых более 100 и даже 200 тысяч сотрудников объединены системой передачи сообщений Domino и Notes. Это означает, что, выбрав эту технологию, вы не натолкнетесь на такие технологические ограничения, когда все работает хорошо при десятках или нескольких сотнях пользователей, но при дальнейшем расширении инфраструктуры начинаются непреодолимые проблемы. Что касается защищенности, то Domino предлагает самую мощную из возможных систему защиты для почты в Internet, применяемую для подписываемых и шифруемых сообщений, за счет бесшовной интеграции инфраструктуры публичных ключей (Public Key Infrastructure, PKI) и сертификатов X.509 V3.
Важно то, что Lotus Development является единственным поставщиком, предлагающим полную интегрированную коммуникационную платформу для организаций, стремящихся перейти от обычной электронной почты к усовершенствованным возможностям передачи сообщений и Web-приложениям для совместной работы. Сервер Domino обеспечивает встроенную поддержку любых клиентов передачи сообщений, которыми может воспользоваться заказчик: Web-браузеров, Microsoft Outlook, Eudora и других почтовых клиентов POP3 и IMAP4. Кроме того, Domino является превосходным дополнением к лучшему в мире клиенту для совместной работы и электронной почты — Lotus Notes.
Система передачи сообщений Notes используется как по своему основному назначению — для связи между людьми, так и в качестве важного компонента приложений автоматизации рабочих потоков (workflow), а также в качестве платформы для группового ведения календаря и планирования.
Система передачи сообщений Notes предоставляет в ваше распоряжение простой в использовании ящик электронной почты. Более опытные пользователи для обработки и организации больших объемов почты могут использовать средства управления сообщениями. Пользовательский интерфейс Notes построен на базе завоевавшего множество наград интерфейса Lotus cc:Mail, который, по сути, стал стандартом интерфейса электронной почты для всех производителей. Notes включает в себя мощный редактор для форматирования текста почтового сообщения. Имеется возможность использования агентов для выполнения различных задач — таких, например, как просмотр присоединенных к поступающим сообщениям файлов на наличие ключевых слов и сохранение их в соответствующей папке. Агенты могут автоматизировать выполняемые на сервере задачи, давая вашему Web-узлу возможности по автоматической генерации почтовых сообщений определенного содержания при наступлении определенных условий и событий.
Следует особо отметить, что электронная почта является неотъемлемой, фундаментальной частью систем автоматизации потоков работ и документооборота (workflow). Интегрированная в Domino/Notes система передачи сообщений и базы данных документов объединяют в себе оба метода коллективного использования информации — «принудительное проталкивание» и «добровольное извлечение», а также предоставляет пользователям интуитивно понятные и эффективные средства для совместной работы. Например, при создании исходного варианта документа, который должны просмотреть несколько сотрудников, пользователь может послать им сообщение по электронной почте, которое включает в себя только ссылку на этот документ. Каждый из получивших сообщение может одним щелчком мыши открыть документ, что обеспечивает работу всех сотрудников с одним и тем же, самым последним, вариантом документа. Почтовые сообщения могут содержать ссылки на любые документы в базе данных Notes, включая дискуссии, профили заказчиков и документацию (такие, например, как описания правил и процедур, руководства по поиску неисправностей и т.д.), страницы Web и службы новостей.
В большинстве бизнес- и workflow-приложений требуется поставить в известность конкретного человека или обновить документ на основе значения определенного поля или состояния процесса. Рассмотрим приложение по обслуживанию заказчиков. Запрос заказчика поступает в виде формы, заполненной им на Web-странице. Запрос вводится в базу данных Domino по обслуживанию заказчиков. После ее сохранения сервер Domino автоматически посылает сообщение по электронной почте соответствующему представителю по обслуживанию. Представитель открывает сообщение и щелчком мыши на содержащейся в нем ссылке открывает запрос из коллективно используемой базы данных, в которой можно сохранять свои замечания и комментарии. Кроме того, Domino-приложение контролирует этот процесс, так что если он по какой-то причине останавливается (например, если представитель не предпринимает никаких действий по этому запросу в течение 12 часов), то Domino рассылает дополнительные сообщения по электронной почте, на этот раз не только представителю по обслуживанию, но и его менеджеру и начальнику отдела обслуживания заказчиков, предупреждая их о потенциальной проблеме, перед тем как она действительно приобретет остроту.
Вследствие упомянутых выше возможностей, функций электронной почты, инициированных по умолчанию, а также того, что вместе с Domino поставляются шаблоны баз данных типа «Библиотека документов», «Дискуссионная база данных», «Согласование документов» и ряд других, Domino и Notes являются, по сути, готовым решением в области совместной работы людей, которое можно сразу же начать использовать. Обеспечение доступности этих возможностей пользователям Internet (не имеющим клиента Notes), выполняется просто за счет выбора шаблона, поддерживающего работу через Web.
Естественно, функционирование системы электронной почты невозможно без ряда сервисов и служб, на которых основана среда передачи сообщений и которые поддерживают сервер Domino:
Сервер Domino поддерживает также режим хранения «одной копии объекта», что позволяет экономить дисковое пространство и уменьшать трафик при рассылке одних и тех же сообщений большому количеству пользователей.
Таким образом, передача сообщений в Domino — это передача сообщений в соответствии со стандартами Internet, для которых Domino предлагает всеобъемлющую поддержку.