Войти
 
 
   
 
  
Новости Notes.ру Библиотека Биржа труда Вопрос - ответ Форум Регистрация Поиск О проекте
Разделы
О Notes
Советы
Шаблоны и примеры
Литература
Презентации
 
Всё о задаче AdminP. Часть вторая   Во второй части мы завершаем рассмотрение AdminP. В ней рассмотрены запросы междоменного администрирования и способы управления функциями AdminP с помощью настроек документа сервера, команд консоли сервера, файла Notes.ini и интервалов очистки базы данных. В этой статье предполагается, что вы опытный администратор Domino и прочитали первую часть
О Notes Читать статью
 
Всё о задаче AdminP. Proxy-действия в R5 и Domino 6   Приложение к статье об административном процессе
О Notes Читать статью
 
Всё о задаче AdminP. Часть первая   Перевод классической статьи 2003-его года о задаче административного процесса (AdminP). Очень полезна для понимания работы механизма этой задачи. В первой части статьи описаны компоненты задачи AdminP, как они работают, и как их использование помогает сделать работу администратора Domino проще. Задача AdminP (сакращённо от Administration Process, Административный процесс) работает с базой административных запросов (Administration Requests, admin4.nsf)
О Notes Читать статью
 


О Notes

Главная   Библиотека   О Notes

Проектирование представлений. Часть 1

Николай Норкин,
Вятские Информационные Технологии, Киров
В процессе подготовки ранее опубликованных на Notesnet.ru материалов об аспектах создания представлений, автор посчитал необходимым вернуться к началам и поделиться с читателем некоторыми соображениями по поводу проектирования представлений как они есть, без использования "спецприемов и спецэффектов". Эта необходимость тем более насущна, что материал подобного рода не публиковался (по крайней мере, широко) ранее на русском языке, да и англоязычная "красная книга" (RedBook) Performance Considerations for Domino Applications (SG24-5602)(перейти>>> ) содержит советы по правильному проектированию представлений только с учетом аспекта производительности.

Эргономика, производительность, безопасность
Три фактора, которым следует уделять особое внимание при проектировании представлений: эргономика, производительность, безопасность.

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

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

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

Производительность(Performance)
Поддержка представлений требует использования ресурсов сервера. Наиболее критичными с этой точки зрения представляются следующие характеристики:

  • объем дискового пространства, занимаемого индексом представления
  • частота обновления индекса представления
  • скорость обновления индекса представления
  • скорость перестроения индекса
  • время отклика на действие пользователя (открытие представления, прокрутка и т.п.)
Индекс представлений: общие сведения

В целях достижения наибольшей эффективности механизм поддержки представлений поэтапно решает две задачи:

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

Создание и поддержка индексов представлений - функции, осуществляемые на сервере задачами Update(Indexer) и Updall

Задача Update включается в список задач, стартующих при запуске сервера (переменная ServerTasks файла notes.ini) и работает во время его работы, обслуживая очередь запросов на изменение индексов представлений, опрашивая эту очередь каждые несколько секунд. Запросы поступают в очередь при следующих событиях:

  • Пользователь закрыл базу Notes после того, как модифицировал документ (документы)
  • Завершился сеанс репликации
  • Router добавил в базу новое сообщение
Если пользователь или агент обращается к представлению, для которого индекс еще не создан, задача Update строит индекс этого представления. Кроме того, задача удаляет индексы представлений (в зависимости от выбора опции Discard index - Удалять индекс Свойств представления) и поддерживает индекс полнотекстового поиска для баз с частотой обновления индекса полнотекстового поиска - Immediate (Немедленно)

Задача Updall запускается на сервере предпочтительно в ночное время (в зависимости от значений переменных ServerTasksAt<hour>, по умолчанию - в два часа ночи) и обслуживает все базы документов, размещенные на сервере. В зависимости от аргументов (ключей), задача обновляет индексы представлений и/или индексы полнотекстового поиска, либо полностью перестраивает индексы представлений

Индекс представления хранит результат отбора документов в представление согласно формуле отбора (View selection formula), порядок сортировки документов согласно свойствам столбцов, порядок альтернативной сортировки документов, категории и итоговые значения для категоризированных столбцов
Обнаружив в очереди запросов новый запрос, задача Update вычисляет формулу отбора представлений и форсирует изменение индексов тех представлений, в которые документ "попадает" согласно этому вычислению. Происходит обновление индекса с определением места документа согласно правилам сортировки и категоризации и подсчетом итоговых значений


Время отклика на действие пользователя пропорционально дискомфорту, возникающего у того в случае "замедленной реакции" системы. Остальные характеристики больше сказываются на производительности системы в целом. В частности, объем дискового пространства, занимаемый представлением, очень мало влияет на другие характеристики и проблема возникнет лишь в случае недостаточности аппаратных ресурсов сервера. Рекомендации по оптимизации представлений изложены в RedBook Performance Considerations for Domino Applications (SG24-5602)(перейти>>>), но следовать им вслепую нецелесообразно, о чем пойдет разговор ниже

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

Защита информации на уровне представления
При разработке представлений возможно задавать ограничение на использование представления в Окне свойств представления на закладке Security.




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



Самый радикальный способ предотвращения подобной утечки информации - не использовать суммарные вычисления в общедоступных представлениях.К тем представлениям, где все-таки необходимы подобные вычисления, использовать разграничение доступа на уровне представлений. Или использовать SPOFU-представления (shared, private on first use), при построении индекса которых уже используется информация о пользователе, который их приватизирует, и его доступе к документам
В отличие от суммарных значений, для значений категоризированных столбцов существует возможность скрыть строки категорий, все документы которых скрыты от пользователя. Возможность окончательно появилась в версии Notes R5.0. Для этого необходимо выставить свойство Не отображать категории, не содержащие документов в окне Свойств представления (закладка Advanced)


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

Ссылки по теме
Как отобразить документы, в полях которых указан текущий пользователь
Динамический отбор документов в представления
Performance Considerations for Domino Applications (SG24-5602)

Читайте на Notesnet.ru:
Java-апплет: альтернатива встроенному представлению >>>

Автор, понимая всю обширность затронутой темы, приглашает коллег высказать свои соображения и замечания по рассматриваемым вопросам по электронной почте nickanor@mail.ru
Продолжение следует
 
  Опубликовано — 05/20/2003 |    


Добавить комментарий
Имя * :
e-mail
Комментарий * :
Код подтверждения * :

Мероприятия
Пресс-релизы
Биржа труда
Последнее на форуме
 
А так же:
Как удалить профиль?
16.04.2016 00:08:51
Скопировать в буфер поле документа
24.05.2015 08:55:52
Импорт DXL-описания документов в Lotus Domino. Одноимённые поля
16.04.2015 16:49:58
 
© LOGOSPHERE.RU