IBM Notes

Материал из Национальной библиотеки им. Н. Э. Баумана
Последнее изменение этой страницы: 16:05, 8 июня 2016.
IBM Notes
fraimed
Разработчики: IBM
Написана на: Java, C и C++
Операционная система: Windows, OS X, Linux
Платформа: x32, x64
Локализация: 28 языков
Тип ПО: Корпоративное ПО, Персональный информационный менеджер, Почтовый клиент
Лицензия: Проприетарное ПО
Веб-сайт официальный сайт

Notes — надежная и безопасная электронная почта, календарь и средство планирования, а также мощная платформа для совместной работы от Lotus Corporation[1], дочерней компании IBM. Notes позволяет корпорации и её работникам разрабатывать коммуникационно-ориентированные, связанные со взаимодействием с базой данных приложения, так что пользователи в различных географических точках могут обмениваться файлами друг с другом, комментировать их публично или в частном порядке (для групп с особым доступом), следить за графиками развития, разрабатывать проекты, основные принципы и процедуры, планы, официальные документы, а также многие другие документы, в том числе мультимедийные файлы. Notes отслеживает изменения и делает обновления репликаций всех баз данных независимо от их расположения. Изменения вносятся на местах, чтобы минимизировать сетевой трафик.[2]

Обзор

Больше чем "просто электронная почта"

Пользователи Notes получают не просто почтовый клиент, но почти универсальный инструмент, позволяющий решать множество прикладных задач прямо в почтовом файле.[3] Это, как правило, приводит к нескончаемой дискуссии - что же лучше: Lotus Notes или Microsoft Exchange. На самом деле, это необоснованное сравнение.

Если вы используете Lotus Notes просто как приложение электронной почты, вы могли бы делать это намного эффективнее (и сэкономить много денег). Скачайте агента передачи почты с открытым исходным кодом, например, Sendmail, и почтовый клиент с открытым исходным кодом, например, Thunderbird, и у вас будет вполне рабочая электронная почта. Исторически сложилось так, что почтовый клиент Notes не был "лучшим в своем классе" (выражаясь красиво), и, будучи таковым, пострадал в сравнении с почтовым клиентом Microsoft Outlook. Но то, что Lotus Notes предлагает помимо почтового клиента, и делает его таким ценным для предприятия.

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

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

Другим примером может служить форма запроса информации на вашем корпоративном сайте. После того, как форма заполнена, и кнопка "отправить" нажата, Notes может направить запрос в соответствующий отдел и отслеживать его выполнение.

Мощная платформа разработки приложения

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

Приложения, созданные для Notes, включают широкий спектр открытых стандартных технологий, таких как JavaScript, HTML, Java и LotusScript (близкий родственник Visual Basic). Разработчики, которые уже знакомы с некоторыми из этих технологий, смогут быстро начать разработку приложений Notes, получая сложные приложения рабочего процесса за очень короткий промежуток времени.

Для создания приложений Notes разработчики используют конструктор (Designer), который позволяет создавать и изменять любые части приложения Notes, такие как формы, представления и агенты. Он может быть отлажен в клиенте Notes или в веб-браузере для получения мгновенной обратной связи. С точки зрения производительности, разработчики получают очень много с очень небольшим усилием.

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

С другой стороны, простой в использовании интерфейс конструктора может разочаровать опытных разработчиков. Последняя версия Notes / Domino (версии 8) имеет интегрированную среду разработки, основанную на Eclipse, что делает его простым в понимании для тех разработчиков, для которых Eclipse является их привычной IDE.

Что такое Domino?

Notes, Domino, Notes / Domino ... Как на самом деле называется это программное обеспечение?

Полное название программного обеспечения, предлагаемого IBM, — это IBM Lotus Notes и Domino. Lotus Notes относится к клиенту Notes, который устанавливается на персональном компьютере пользователя, и используется для доступа как к почтовым файлам, так и как приложениям Notes.

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

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

Notes и Domino работают на ряде операционных систем: от настольного компьютера с Intel Pentium 2 до "большой" железки из мейнфреймов IBM. Сервер Domino доступен для Windows Server 2003, IBM AIX, Novell SUSE и дистрибутивов RedHat Linux, Sun Solaris, IBM System i, IBM System z и IBM z/OS. Это внимание к мультиплатформенной поддержку означает, что ИТ-отделы могут использовать существующие серверы и архитектуру центра обработки данных, и не тратить деньги на покупку дополнительного программных и аппаратных средств. Клиент Notes работает в Windows XP, Windows Vista, Mac OS и SUSE и настольных дистрибутивах RedHat Linux.

Обратная совместимость

Одной из наиболее впечатляющих особенностей Notes является уровень обратной совместимости между версиями. Можно взять приложение Notes, созданное в версии 1 в 1989 году, и запустить его в текущей версии Notes 8 без необходимости конвертировать или переписывать приложение. Мы не говорим о показном «доказательство определенных» приложений, отнюдь, в реальном мире много устаревших приложений, которые до сих пор приносят хорошую пользу для организации и не нуждаются в каких-либо улучшениях. Совсем немногие программные решения могут похвастаться такой совместимостью между версиями как Notes. Это означает, что ваши инвестиции в разработку приложений продолжат приносить пользу в далеком будущем.

Репликация

Сегодня работники умственного труда не приходят в офис в 9:00 утра и не уходят в 5:00 вечера. Они "всегда на рабочем месте" и они должны получать доступ к данным, если сетевое подключение работает. Клиент Notes удовлетворяет этому требованию путем репликации данных между сервером и локальной версий ваших почтовых файлов и приложений.

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

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


Что такое Notes?

Версия менеджера

Рисунок 1

Lotus Notes представляет собой набор приложений, который включает в себя следующие компоненты: [4]:

  • электронная почта;
  • календари и планирование;
  • адресная книга;
  • база данных;
  • веб-сервер;
  • программирование.

В отличие от других наборов приложений (например, Microsoft Office), которые распределяют эту функциональность на отдельные продукты (например, Outlook, Access, Front Page и т.д.), Lotus Notes представляет все эти компоненты, используя один внешний интерфейс.

Для многих людей Lotus Notes является системой электронной почты. Хотя электронная почта и не является его самой сильной стороной, это, вероятно, самый узнаваемый компонент Notes. В продукте IBM реализована большая часть (если не все) функций других продуктов, представленных на рынке приложений электронной почты, в том числе календари и планирование. Кроме того, Notes использует стандартные почтовые протоколы, такие как POP3 и SMTP. Поскольку у Notes есть как клиентская часть, так и серверная, пользователи могут использовать его для чтения и отправки электронной почты, а администраторы могут использовать его в качестве инфраструктуры электронной почты.

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

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

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

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

Если никто или некоторые из ваших пользователей не хочет использовать клиент Notes, существует также возможность автоматического отображения базы данных Notes в браузере. Начиная с версии 4.5, программное обеспечение сервера Notes поставляется с компонентом веб-сервера под названием "Domino", который переводит данные Notes в веб-страницы и выступает в качестве веб-сервиса. Технологии веб-программирования, такие как JavaScript и Java являются родными для Notes, так что они могут быть легко встроены в базу данных Notes и элементы дизайна (хоть в вебе, хоть на клиенте). Веб-сервер Domino также может быть сконфигурирован, чтобы взаимодействовать с такими продуктами, как IIS, Apache и Java сервлеты и JSP-страницы, так что вы можете улучшить ваш веб-сайт Domino с помощью других (возможно, уже используемых вами) технологий.

На несколько более техническом уровне, Notes / Domino обеспечивает модульную модель безопасности, которая позволяет разработчику "блокировать" доступ ко всем или части базы данных. Таким образом, вы можете комбинировать частные и общедоступные данные в одной базе данных или на одном сервере. Хотя безопасность обычно вводят через корпоративные адресной книги Notes, её также можно связать с учетными записями пользователей в домене NT или любой другой LDAP-совместимой службе каталогов.

Некоторые примеры типичных применений Notes:

  • электронная почта (очевидно);
  • дискуссионные форумы;
  • хранилища документов;
  • cистемы утверждения расходов;
  • система заявок с веб-интерфейсом.

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

Техническая версия

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

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

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

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

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


Форма МаркаАвтомобиля МодельАвтомобиля
... ... ...


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


Форма МаркаАвтомобиля МодельАвтомобиля
Данные автомобиля Ford F-150
Данные автомобиля Honda Accord
Данные автомобиля BMW M5


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

Теперь предположим, что мы хотим добавить поле содержащее цвет автомобиля. Чтобы добавить поле во внутреннюю базу данных, все, что нам нужно сделать, это добавить новое поле в форму. Мы открываем форму "Данные автомобиля", добавляем поле под названием "ЦветАвтомобиля", и сохраняем форму. Теперь наша внутренняя таблица будет выглядеть следующим образом:

Форма МаркаАвтомобиля МодельАвтомобиля ЦветАвтомобиля
Данные автомобиля Ford F-150
Данные автомобиля Honda Accord
Данные автомобиля BMW M5


Если у нас есть соответствующие права, мы можем даже отредактировать существующие документы так, чтобы привести таблицу к следующему виду:


Форма МаркаАвтомобиля МодельАвтомобиля ЦветАвтомобиля
Данные автомобиля Ford F-150 Белый
Данные автомобиля Honda Accord Черный
Данные автомобиля BMW M5 Красный


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


Форма МаркаАвтомобиля МодельАвтомобиля ЦветАвтомобиля ИмяВладельца ТелефонВладельца
Данные автомобиля Ford F-150 Белый
Данные автомобиля Honda Accord Черный
Данные автомобиля BMW M5 Красный


Обратите внимание на то, как новые поля получаются просто добавлением к концу внутренней базы данных. Тем не менее, если мы теперь откроем форму "Данные автомобиля", мы не увидим новые поля формы. Почему? Потому что несмотря на то, что все поля для всех форм хранятся в плоской базе данных, формы отображают подмножество полей независимо от других форм, только те, которые разработчик хочет отобразить.

Если мы создадим несколько новых документов с помощью формы "Информация о владельце", внутренняя таблица будет выглядеть примерно так:

Форма МаркаАвтомобиля МодельАвтомобиля ЦветАвтомобиля ИмяВладельца ТелефонВладельца
Данные автомобиля Ford F-150 Белый
Данные автомобиля Honda Accord Черный
Данные автомобиля BMW M5 Красный
Информация о владельце Артур + 7 (916) 755-44-33
Информация о владельце Виктор +7 (982) 332-42-55


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

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

 SELECT DISTINCT ИмяВладельца FROM InternalTable WHERE Form = 'Информация о владельце';

Если бы мы сделали это, и отредактировали существующие записи формы "Данные автомобиля", мы бы получили внутреннюю таблицу, примерно такой:


Форма МаркаАвтомобиля МодельАвтомобиля ЦветАвтомобиля ИмяВладельца ТелефонВладельца
Данные автомобиля Ford F-150 Белый
Данные автомобиля Honda Accord Черный
Данные автомобиля BMW M5 Красный
Информация о владельце Артур + 7 (916) 755-44-33
Информация о владельце Виктор +7 (982) 332-42-55


Конечно, если у вас была хорошие знания в реляционных базах данных, вы, вероятно, использовали какой-нибудь числовой ИдентификаторВладельца поле вместо ИмяВладельца, но сейчас вы поймете. Дело в том, что записи/документы могут быть связаны друг с другом таким образом.

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

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

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

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

Если вам нужно программно манипулировать данными в базе данных, Notes предоставляет ряд возможностей для разработки программ доступа к данным и модификации. Вы можете естественным образом использовать @Functions (макроязык), LotusScript (очень похожий на Visual Basic или VBA), JavaScript (в определенной степени), и Java. Весь код может храниться либо непосредственно на форме или представлении (связанные с событиями, действиями или нажатием кнопки), либо в модулях, называемых агентами или библиотеками сценариев. Агент — это, по существу, программа внутри базы данных, которая может быть либо вызвана пользователем, либо запущена в автоматическом режиме. Script Library представляет собой набор функций, процедур, модулей и / или классов, которые могут быть глобально модифицированы и поделены между различными элементами дизайна в базе данных (в том числе форм, представлений и агентов).

Во многих отношениях, база данных Notes аналогична базе данных Microsoft Access. Все это все в одном файле. Данные либо хранятся в локальных таблицах, либо на удаленном сервере. Вы создаете формы для отображения и изменения данных и используете представления / запросы для сортировки и отображения данных. Вы можете встроить LotusScript / VBA в различные элементы базы данных и вызывать эти сценарии различными способами.

Возможно, вы слышали, что Lotus Notes является также системой электронной почты. Это так. На самом деле, некоторые люди используют его только в качестве системы электронной почты. Тем не менее, если вы думаете о том, что такое электронная почта, и как она хранится, как только он устанавливается на локальном компьютере, то электронная почта — просто база данных. Каждый пользователь имеет свою собственную базу данных индивидуальной электронной почты Notes, которая был настроена для получения и отправки писем. Календарь и планирование? Еще одна база данных. Адресные книги? Базы данных. С того момента, как вы начинаете с ориентированного на базы данных представление о мире, множество вещей можно рассматривать как просто еще один тип базы данных, особенно, когда вы думаете, с точки зрения базы данных Notes, которая может содержать не только данные, но также и элементы дизайна, программного кода и т.д.

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

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

Если вы не хотите использовать клиент Notes для доступа к базе данных Notes, вы можете получить доступ к базе данных на сервере Notes через веб-браузер. Начиная с версии 4.5, программное обеспечение сервера Notes поставляется с компонентом веб-сервера под названием "Domino", который переводит данные Notes в веб-страницы и обслуживает их как веб-сайт. В некоторых случаях для отображения веб-страниц не нужно даже программировать - все преобразования выполняются автоматически с помощью сервера Domino. В других случаях, форма или представление могут быть несколько изменены для лучшего отображения в Интернете, или для обеспечения большей интерактивности, чем клиент Notes. Для этого вы можете включить JavaScript и Java-апплеты прямо в ваших элементах дизайна Notes, и тогда вы сможете использовать XHTML и CSS, чтобы придать более приятный облик вашим данным.

В то время как Domino сервер сам по себе является HTTP / HTTPS веб-сервером, вы можете также подключить Domino к другим веб-серверам таким, как IIS и Apache. Domino также имеет свои собственные сервлетов Java и Java-интерфейс для большей части объектной модели Notes, так что вы можете, например, создавать JSP-страницы, которые взаимодействуют непосредственно с базами данных.

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

  • электронная почта (очевидно);
  • дискуссионные форумы;
  • хранилища документов;
  • cистемы утверждения расходов;
  • система заявок с веб-интерфейсом.

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

База данных Notes

База данных Lotus Notes обычно имеет расширение файла ".nsf". В этом файле могут быть данные, элементы дизайна и программного кода. Каждый файл базы данных также имеет свою собственную политику безопасности в виде списка управления доступом (ACL).

Краткое обсуждение элементов базы данных ниже.

Данные

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

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

Дизайн

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

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

Код

Для того, чтобы обеспечить программную обработку данных, разработчик может встроить много различных типов кода в базе данных. Notes имеет встроенную поддержку LotusScript (очень похоже на Visual Basic), Java и JavaScript. Этот код может быть помещен либо непосредственно на элементы дизайна, такие как формы и представления, либо в модули, называемые агентами.

Код в базе данных может манипулировать данными в базе данных, но он также может взаимодействовать с пользователем, операционной системы, а также внешними данными и процессами. Например, с помощью LotusScript вы можете получить доступ к DLL функции, объектам COM и объектам OLE. Java обеспечивает вам богатый набор инструментов для работы с сокетами, потоками и компонентов GUI (помимо всего прочего). Notes даже имеет открытый API, доступ к которому можно получить с помощью библиотек C и C ++.

Безопасность

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

Примечания