|
|
|||||||||||||||||||||||||||||
|
Книга по Lotus. Разработка приложений в среде Domino 7: Глава 5 (электронная книга)Источник: IBM developerWorks Россия Команда Авторов International Technical Support Organization, специалисты International Technical Support Organization, IBM
Глава 1 :: Глава 2 :: Глава 3 :: Глава 4 В Lotus Domino Designer 7 появились новые улучшенные средства диагностирования и отладки. Это дополнения к профилированию кода, улучшение отладки LotusScript и удаленная отладка Java. Благодаря этим нововведениям и дополнениям можно улучшить производительность приложений Lotus Domino. Взяв в качестве примера приложение ITSO Electronics, мы займемся исследованием некоторых компонентов из инструментария Lotus Domino Designer. Среди них:
5.1 Профилирование кода в приложении ITSO ElectronicsВ Lotus Domino Designer 7 включен мощный оптимизатор кода, Profiler - инструмент, профилирующий код и позволяющий разработчику приложения измерять время, требуемое для выполнения методов в агентах, Web-сервисах и библиотеках скриптов в приложениях Lotus Notes и Domino. Измерение производительности методов в границах приложения Lotus Domino позволяет разработчикам определить недостатки кода и сфокусироваться на оптимизации тех его фрагментов, выполнение которых отнимает больше всего времени, что отражается на производительности. В этом разделе мы рассмотрим, как с помощью профилирования кода достичь максимальной производительности и эффективности приложения ITSO Electronics. Profiler исследует и оценивает методы как в Java, так и в LotusScript, включая операции над объектами Lotus Domino, такими как база данных Lotus Domino. Можно включить поддержку профилирования в агенте или в Web-сервисе, для чего следует открыть закладку Security окна свойств и активировать опцию Profile this agent (Профилировать этот агент) или Profile this web service (Профилировать этот Web-сервис). Профилирование происходит каждый раз, когда выполняется агент или Web-сервис, в котором активировано профилирование. Профилирование агента происходит и на клиенте Lotus Notes, и на сервере Lotus Domino. После активирования опции профилирования на второй закладке окна свойств Agent (см. рис. 5.1) профилирование агента будет производиться, начиная со следующего запуска агента. Агент может быть профилирован вне зависимости от того, запущен он как агент, работающий по расписанию, Web-агент или вручную через меню Action. Профилирующая информация хранится в профильном документе в базе данных, связанной с этим агентом. Для просмотра профилирующей информации выберите профилируемый агент, после чего щелкните Agent - View Profile Results (Агент - Просмотреть результаты профилирования). В верхней части каждого профильного документа записано название агента и время профилирования. Общее затраченное время равно общему количеству времени, в течение которого работал агент. За ним следует полное измеренное время, которое обычно несколько меньше из-за того, что значения времени округляются в меньшую сторону. Например, значения меньше одной миллисекунды в профильном документе округляются до нуля. В профилирующей таблице содержится строка для каждого вызванного метода Domino Objects, а также 5 столбцов:
Информация в профилирующей таблице упорядочена по убыванию, то есть сначала показаны методы, на выполнение которых ушло больше всего времени. Из профилирующей таблицы этого примера, представленной на рис. 5.2, видно, что метод UpdateFTIndex оказался той частью агента, которая отнимает максимальное количество времени. Рис. 5.2. Результаты профилирования кода Захватыванием данных из агентов, используемых в реальном мире, профилирование кода обеспечивает разработчиков полезной информацией, позволяя им определять слабые места в своих кодах. Используя эту информацию, разработчик модифицирует логику агента, что экономит время и увеличивает производительность. 5.2 Отладка LotusScript в приложении ITSO ElectronicsВ Lotus Domino Designer 7 усилены возможности отладки LotusScript за счет большей наглядности средств отладки. В дополнение к запуску отладки через системное меню разработчики приложений теперь могут начинать и прекращать отладку с помощью иконки. Сообщение, указывающее на начало или прекращение отладки LotusScript, располагается на панели состояния, а не в окне сообщений. В этом разделе мы продемонстрируем новые средства диагностики на примере приложения ITSO Electronics. Для отладки LotusScript-приложения ITSO Electronics с использованием новых возможностей и средств отладки выполните следующие действия:
5.3 Отладка Java в приложении ITSO ElectronicsПожалуй, самое интересное дополнение к инструментарию отладчика в Lotus Domino Designer 7 -это удаленная отладка Java. Удаленная отладка Java позволяет разработчику приложения в среде Lotus Domino отладить агенты Java, предварительные просмотры в Web и библиотеки скриптов, работающие под управлением клиента Lotus Notes Java Virtual Machine (JVM) с отладчиком, поддерживающим Java Platform Debugger Architecture (JPDA), таким как Rational Application Developer, основанном на технологии Eclipse. И хотя вы не можете отладить код Java, работающий на сервере Lotus Domino, JPDA предлагает богатый набор функций, когда дело касается локальной отладки кода Java. В этом разделе мы продемонстрируем удаленную отладку Java в приложении ITSO Electronics, используя Rational Application Developer. 5.3.1 Включение отладки Java в клиенте Lotus NotesКлиент Lotus Notes поддерживает отладку Java в представленных ниже контекстах. В каждом контексте есть свой собственный JVM. Код Java из библиотеки скриптов выполняется в контексте вызывающего кода. Отладку в каждом контексте может производить единовременно лишь один пользователь.
Для включения отладки Java в приложении ITSO Electronics на клиенте Lotus Notes выполните следующее:
Если вы выполняете изменения в параметрах переднего плана (foreground) и заднего плана (background), Lotus Notes необходимо перезапустить. Если вы выполните изменения в параметрах предварительного просмотра Web (Web preview), необходимо будет произвести перезапуск предварительного просмотра. 5.3.2 Включение отладки Java в агенте, Web-сервисе или библиотеке скриптовЧтобы включить отладку Java, перейдите к закладке Security окна свойств Agent, или Web Services, или Script Library и выберите Compile Java code with debugging information (Компилировать код Java с предоставлением информации об отладке) (рис. 5.7). Рис. 5.7. Compile Java code with debugging information
При компилировании кода Java, который будет отлаживаться вне Lotus Domino Designer, компилируйте его с параметром -g. После модификации агента или Web-сервиса экспортируйте исходный код в доступный для отладчика файл. 5.3.3 Подключение отладчика к JVMПри выполнении приведенных ниже инструкций необходимо использовать Rational Application Developer, основанный на технологии Eclipse. Вам придется делать вставку при использовании других отладчиков.
5.3.4 Рассуждения о безопасностиОтладка Java по сети небезопасна. Вам следует перезапустить Lotus Notes или предварительный просмотр в Web без включенной отладки Java, когда вы не отлаживаете Java-код. Чтобы отключить отладку Java, перейдите к п. 5.3.1, «Включение отладки Java на в клиенте Lotus Notes». Ссылки по теме
|
|