Загрузка...

Лекция 1 по Lotus Notes 2014-2015 год.


Лекция 1. Введение в приложения LotusDomino

Оглавление

Введение1

Основные характеристики системы Notes6

Инфраструктура Lotus Domino7

Клиенты8

Доступ к приложениям8

Доступ к приложениям LotusDomino с помощью клиента LotusNotes9

Работа с локальными приложениями11

Доступ к приложениям LotusDomino с помощью веб-браузера11

Структура баз данных Lotus Domino16

Типы документов18

Документы, которые создаются разработчиками18

Документы, которые поддерживает Lotus Domino18

Просмотр свойств документа18

Компоненты приложения Lotus Domino20

Уровни защиты24

Репликация25

Что происходит во время репликации26

Некоторые соображения по поводу репликации26

 

Введение

IBMLotusNotes и IBMLotusDomino — это программная платформа для совместной работы и обмена сообщениями, которая обеспечивает масштабируемую и защищенную инфраструктуру для разработки и использования приложений LotusDomino.

Приложение LotusDomino — это решение конкретной задачи, которое может включать одну или несколько баз данных и других компонентов, например, Java-апплетов.

Not Supported

Внешний вид клиента LotusNotes 8.5

 

 

Not Supported

Обмен сообщениями. Создание письма

Not Supported

Обмен сообщениями. Внешний вид почтового приложения

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

Естественно, электронная почта считается весьма полезным приложением в современных сетях, поэтому компания Lotus никогда не относилась к почтовой службе системы Notes как к «побочному продукту». Начиная с версии 4.5, появились также поддержка календаря и планирование. Таким образом, в состав сервера Domino входит и почтовый сервер.

Not Supported

Календарное планирование. Создание нового события

Not Supported

Календарное планирование. Внешний вид календаря

Not Supported

Задания. Создание нового задания

Not Supported

Задания. Внешний вид приложения

Not Supported

Клиент LotusDomino. Рабочее место — закладки для приложений

Not Supported

Клиент LotusDomino. Внешний вид приложения LotusDomino

 

Основные характеристики системы Notes

Первая версия Lotus Notes была выпущена в 1989 году компанией Lotus Development, на ее разработку ушло 5 лет. В 1996 году компания Lotus Development была приобретена компанией IBM. Эта сделка позволила влить в разработку продукта дополнительные средства и, как следствие, положительно сказалась на качестве Lotus Notes и его объёмах продаж.

LotusDomino – cервер БД и сервер приложений с традиционной клиент-серверной архитектурой. Позволяет работать с базами данных, которые хранят не только данные, но и логику приложения.

База данных Domino — это не синоним приложения. Наоборот, наиболее сложные при­ложения включают в себя несколько баз данных Domino.

Основная парадигма – документный подход. Lotus работает не с реляционными данными, его основной объект – это документ. Здесь нет понятия первичного ключа, нет четкой, заранее известной структуры данных. При этом Lotus позволяет эффективно работать с такими данными.

Естественно, из этого следует ряд ограничений. В частности, Lotus неудобно использовать для построения отчетов, хотя при необходимости все-таки можно.

Изначально (до версии 4.5) для сервера Domino существовал только клиент LotusNotes, так называемый «родной» клиент. Начиная с версии 4.5, специалисты компании Lotus предложили улучшенный вариант доступа, который допускал применение типовых клиентских программ – браузеров. Таким образом, в состав сервера Domino входит также веб-сервер.

Основные характеристики системы Notes[1]:

поддержка архитектуры клиент/сервер;

поддержка архитектуры нереляционных, объектно-ориентированных баз данных – в качестве объектов выступают документы, которые хранят сами данные, элементы интерфейса и логику приложения;

формирование и передача сообщений;

поддержка распределенной архитектуры и репликация данных;

обеспечение безопасности;

поддержка мобильных пользователей;

поддержка различных компьютерных платформ;

обеспечение различных вариантов доступа к данным;

наличие интегральной среды разработки;

поддержка Web-сервера;

поддержка Web-браузеров;

поддержка службы каталога.

Инфраструктура LotusDomino

Сервер LotusDomino работает как с клиентом LotusNotes, так и нелотусиными клиентами. Окружение LotusNotes/LotusDomino обеспечивает для организации службы хранения, обмена информации и общения.

 

Not Supported

Концептуальная диаграмма архитектуры LotusNotes/LotusDomino

 

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

 

LotusNotes и веб-клиенты могут получать доступ к данным LotusDomino как на сервере, так и локально, обеспечивая пользователям портативный доступ к данным. Веб-клиенты могут получать доступ к данным LotusDomino на сервере для дальнейшего отображения в браузере.

Кстати, вы также можете использовать браузер для доступа к данным LotusDomino, хранимым локально. Например, мобильный пользователь может использовать данные LotusDomino с помощью браузера вместо клиента LotusNotes. Для этого база данных должна быть реплицирована (специальным образом скопирована) на компьютер мобильного пользователя.

Клиенты

Клиент Notes был разработан специально для приложений Domino, он бывает 3 типов:

клиент LotusNotes – позволяет пользователям иметь доступ к базам LotusNotes на сервере LotusDomino и почте, а также включает в себя веб-браузер;

IBMLotusDominoDesigner – предназначен для создания и разработки баз данных и приложений LotusDomino, этот клиент не используется для доступа к почте;

IBMLotusDominoAdministrator – позволяет пользователям с соответствующими правами выполнять административные задачи, этот клиент не используется для доступа к почте.

 

Доступ к приложениям

Приложения LotusDomino являются клиент-серверными приложениями. Клиент общается с приложением, используя собственный механизм LotusDomino удаленного вызова процедур. NotesRemoteProcedureCall (NRPC) передает запросы клиентов приложению LotusDomino и возвращает результат. При этом LotusDomino аутентифицирует (устанавливает подлинность) пользователей, когда они обращаются к приложению на сервере. Также могут вызываться и другие службы LotusDomino, это зависит от специфики приложения.

 

Доступ к приложениям LotusDomino с помощью клиента LotusNotes

В таблице описаны этапы доступа к приложению Lotus Domino изклиента Lotus Notes.

 

Not Supported

Схема доступа к приложению LotusDomino из клиента LotusNotes

 

Презентация – открыть базу инструктора N7D510.nsf. Этапы аутентификации и авторизации.

 

Not Supported

Открытие базы данных – этап аутентификации

 

Not Supported

Открытие базы данных – этап авторизации

 

Работа с локальными приложениями

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

 

Доступ к приложениям LotusDomino с помощью веб-браузера

Domino поддерживает протокол HTTP, что позволяет браузерам осуществлять доступ к приложениям на сервере LotusDomino. Также как и при использовании «родного» клиента LotusNotes, сервер Domino аутентифицирует пользователей, когда они получают доступ к приложениям на сервере с помощью веб-браузера.

В таблице описаны этапы доступа к приложению Lotus Domino из браузера.

Этап

Описание

1

Пользователь делает запрос на открытие, чтение или сохранение информации в приложении.

2

На этом этапе происходит взаимная аутентификация пользователя сервером и сервера пользователем — LotusDomino проверяет подлинность пользователя и со своей стороны обеспечивает пользователя информацией для аутентификации самого себя. Это происходит, когда клиент первый раз обращается к серверу.

3

LotusDomino проверяет права пользователя, делающего запрос. Это происходит при каждом запросе.

4

LotusDomino выполняет запрос и возвращает ответ пользователю.

 

Презентация – открытие базы инструктора в браузере — http://hub/Fundamentals/Instructor_N7D510.nsf?opendatabase

Not Supported

 

Для анонимного пользователя разрешен доступ на уровне Редактора, поэтому аутентификация не нужна.

 

Not Supported

 

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

Not Supported

 

Not Supported

 

В результате при попытке открыть базу данных – сервер требует авторизоваться.

Not Supported

 

Not Supported

 

После ввода логина и пароля мы получаем доступ к базе данных.

Not Supported

 

Также LotusDomino поддерживает защищенную версию протокола HTTP – HTTPS.

 

 

Not Supported

Доступ к серверу Domino с помощью браузера

 

Структура баз данных Lotus Domino

Основная отличительная особенность сервера Domino заключается в том, что он позволяет работать с неструктурированной информацией.

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

Кроме того, в одном документе может быть несколько полей с одним и тем же именем! Например, при добавлении вложения в документ каждый раз добавляется поле с именем file. Поля с одинаковым названием можно создать только программным путем.

В основе LotusNotes и LotusDomino лежит использование единственной и простой структуры данных, называемой Note – заметка, запись или документ, используемой для хранения всех видов информации. Далее будем использовать термин «документ». Документы используются для хранения данных и элементов дизайна.

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

Not Supported

Как показано на рисунке, чтобы получить доступ к базе данных, надо получить доступ к файловой системе.

База данных LotusDomino включает:

NotesStorageFacility (NSF) — средства хранения документов – они обеспечивают поддержку данных и элементов дизайна приложения;

NotesIndexFacility (NIF) – средства индексирования документов – они строят и поддерживают в актуальном состоянии списки местонахождения данных в приложении.

Not Supported

Файл базы данных имеет расширение NSF. В нем хранятся документы. Документы являются контейнерами для хранения различных типов информации – собственно данных приложения, элементов дизайна приложения, списков контроля доступа к базе данных.

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

Документ хранит данные в т.н. items – элементах. Каждый элемент идентифицируется по имени и содержит список значений. Значения в отдельном элементе должны быть одного типа. Элементы также хранят информацию о самих данных. Эти метаданные доступны приложению и службам Lotus Domino.

 

Типы документов

База данных содержит:

заголовок базы данных,

список контроля доступа – ACL

элементы дизайна документов,

документы с данными.

Некоторые документы создаются пользователями и разработчиками, другие – поддерживаются самим сервером LotusDomino, чтобы отслеживать информацию в базе данных.

Данные хранятся в особом виде документов.

Документы, которые создаются разработчиками

Этап

Описание

1

Пользователь делает запрос на открытие, чтение или сохранение информации в приложении.

2

В зависимости от настроек сервера и ACL базы данных (Accesscontrollist – список управления доступом) на этом этапе происходит взаимная аутентификация пользователя сервером и сервера пользователем — LotusDomino проверяет подлинность пользователя и со своей стороны обеспечивает пользователя информацией для аутентификации самого себя. Если и на сервере и в базе данных разрешен анонимный доступ, то запрос для аутентификации не нужен и пользователь не аутентифицируется. В результате пользователь идентифицируется как анонимный (Anonymous).

3

LotusDomino проверяет права пользователя, делающего запрос.

4

Lotus Domino транслирует HTTP-запрос.

5

LotusDomino выполняет запрос.

 

Документы, которые поддерживает Lotus Domino

Тип документа

Цель

Данные

Используются для хранения значений данных в приложении. Например, документ может содержать информацию о покупателе – имя, адрес или номер телефона.

Элементы дизайна

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

 

Просмотр свойств документа

Клиент LotusNotes дает возможность пользователям исследовать документ с помощью специального служебного окна со свойствами – PropertiesBox.

Not Supported

Пример окна свойств

Все элементы LotusDomino имеют окна свойств, ассоциированные с ними, начиная от БД и заканчивая отдельными текстовыми элементами.

Окно свойств имеет несколько закладок, которые отображают разную информацию о документе.

В таблице приведено описание трех закладок.

Тип документа

Цель

ACL

ACL хранит список имен и настроек для контролирования ограничений доступа к базе данных.

Заголовок БД

LotusDomino хранит информацию о базе данных в специальном документе – заголовке базы данных. Он содержит такую информацию, как версию LotusDomino, которая была использована для создания БД, название БД, а также ID базы данных.

 

Презентация – показать окно свойств документа, пройтись по закладкам, метаданные и флаги.

Закладка

Внешний вид

Отображаемая информация

Document Info

Not Supported

Дата создания документа

Дата последней модификации

Автор последних изменений

и т.д.

Fields (Поля)

Not Supported

Список элементов документа и данных, которые содержит каждый элемент (Item).

В правой колонке отображаются значения и метаданные того элемента, который выбран в левой колонке.

Метаданные включают тип данных и специальные флаги.

Document IDs

Not Supported

Уникальный ID документа.

Компоненты приложения Lotus Domino

 

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

Замечание про HTML.

Not Supported

Not Supported

 

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

Not Supported

Пример формы

Сравнение форм и страниц. Формы и страницы во многом похожи. И те, и друге отображают организуют информацию, однако:

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

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

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

Not Supported

Навигация. Для навигации в приложении чаще всего используют:

т.н. активные области (hotspots – элементы навигации, бывают нескольких типов — ссылки, кнопки, всплывающий текст),

фреймсеты (framesets),

схемы (outlines),

карты (image maps)и др.

 

Not Supported

Фреймсет в режиме дизайна

Not Supported

Фреймсет в клиенте LotusNotes, используется для навигации в приложении

 

Not Supported

Пример схемы

Автоматизация задач. В LotusDomino есть набор средств для автоматизации задач приложения. Одним из таких средств являются Действия (Actions). Действия могут использоваться в представлениях, документах, страницах, в меню действий (Actionmenu), в событиях (например, при создании или сохранении документа). Меню Создать (Create) также может содержать элементы, которые запускают агента. Некоторые задачи запускаются автоматически без вмешательства пользователя – например, ежедневное ночное создание резервных копий.

Уровни защиты

Модель защиты LotusDomino представлена на рисунке. Она имеет несколько уровней, начиная от контроля доступа на уровне сети, на уровне сервера, приложения и заканчивая контролем на уровне доступа к элементам приложения, например, полям.

Обычно системный администратор имеет дело с первыми тремя уровнями. Разработчик базы данных или менеджер базы данных имеет дело с оставшимися четырьмя уровнями.

Not Supported

Уровни модели защиты Lotus Domino

 

Репликация

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

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

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

При репликации LotusNotes обновляет все реплики, копируя изменения из одной реплики в другую. Ограничения ACL и другие настройки репликации позволяют контролировать, какие именно изменения могут быть реплицированы.

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

Служба репликации LotusDomino передает новые и модифицированные документы между базами данных. На рисунке представлена идея репликации.

Not Supported

Внимание! Реплика и копия базы данных это не одно и то же. Реплика отличается от копии тем, что реплика и исходная базы данных имеют один и тот же ID-номер реплики (ReplicaIDnumber). Копии нельзя реплицировать между собой.

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

Not Supported

Что происходит во время репликации

Репликация инициируется сервером или пользователем в клиенте LotusNotes. Однако сервер не будет инициировать репликацию с рабочей станцией. Во время репликации два сервера (или сервер и клиент) делают следующее:

аутентифицируют друг друга,

строят список документов, элементов дизайна и изменений в ACL с момента последней репликации,

передают изменения в реплику базы данных. LotusDomino реплицирует только измененные элементы, а не полностью документ с данными или документ — элемент дизайна. Перед тем как передавать изменения серверы проверяют ACL реплики. LotusDomino может передавать только те изменения, которые разрешены ACL.

Данные, которые не реплицируются:

представления и полнотекстовые индексы (FullTextindexes),

системная информация о файле (например, имя файла и путь к нему.)

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

Каждая реплика базы данных поддерживает свою собственную системную информацию о файле. Это информация не имеет никакого отношения к репликации.

Презентация – использовать анимированный файл для объяснения процесса репликации.

Некоторые соображения по поводу репликации

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

Серверы, которые выполняют репликацию, должны иметь соответствующие права к элементам приложения.

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

Частота репликации влияет на сетевой трафик.

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

 

 

Уровень

Описание

Сеть

Этот уровень обеспечивает защиту доступа к серверу через сеть.

Аутентификация

Это процесс установления подлинности между сервером и тем, кто пытается получить доступ к серверу.

Доступ к серверу Domino

Это проверка ограничений доступа, которые могут быть прописаны на уровне сервера – в серверном документе (ServerDocument).

Доступ к БД (ACL)

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

Защита элемента интерфейса

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

Защита документа

Этот уровень доступа обеспечивается полями Readers и Authors, которые контролируют доступ к документу определенными читателями и авторами.

Защита поля

Это связано с шифрованием содержимого поля. Оно разрешено, если шифрование разрешено на уровне формы. Это актуально для данных, хранимых в зашифрованном документе.

Загрузка...