Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Учебное пособие по курсу ИС_итог 04.12.docx
Скачиваний:
47
Добавлен:
11.02.2016
Размер:
5.09 Mб
Скачать

4.3. Подписание агента на сервер.

В разделе, посвященном правам доступа, говорилось том, что для запуска агента на сервере, у дизайнера, его подписавшего, должны быть права запуска агентов на сервере. Сервер указывается в опции Schedule:

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

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

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

Примеры:

Пример 1

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

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

Пример 2

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

Есть агент, обрабатывает документы сотрудников и делает то же, что и в примере 1 - считает возраст. В данном случае множество документов, поданных на вход агенту - специфично для каждого филиала, поэтому правомочно включить агент на ВСЕ серверы. И на каждом сервере он обработает свое множество документов. Более того, если ограничить работу агента одним серверов, часть документов будет вообще не обработана. Часть агентов запускается локально. Они рассчитаны на работу удаленных пользователей, работающих на ноутбуках.

В опции «schedule» агента указывается, на каком сервере этот агент будет запускаться.

Писать агенты можно на Lotus script, Formula Language, Java или simple action - это набор простейших действий, которые можно просто выбрать из списка.

Чтобы написать агент надо владеть хотя бы одним из этих языков. Далее рассматривается специфичные Lotus языки - языки скрипт и формул.

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

Можно сказать, что Lotus script - это basic с набором классов для работы с объектами Lotus Notes и возможностями самому писать код, применяя объектно-ориентированный подход.

Для отладки скрипта можно включить отладчик - в клиенте «File >Tools >Debug lotus script». Формулы, к сожалению, отладке в отладчике не подлежат.