Механизм служб BPEL Sun предоставляет возможность отслеживания значений сообщений или выражений при выполнении процесса. Возможности протоколирования и оповещения используют стандартный механизм расширения WS-BPEL. Протоколирование и оповещение поддерживаются практически для всех действий BPEL
Среда IDE предоставляет возможность определения протоколирования и оповещения для действий процесса. Протоколирование используется для записи указанных значений выражений или ссылочной информации конечной точки партнерской связи в протокол сервера. Оповещение позволяет получать предупреждения, содержащие эту информацию. После настройки условий протоколирования или оповещения при выполнении процесса BPEL указанные значения выражений записываются в файл протокола сервера, либо пользователю направляется соответствующее предупреждение (в зависимости от уровня протоколирования).
Как протоколирование, так и оповещение определяются в окне протоколирования. Окно протоколирования доступно в качестве вкладки в окнах "Design" или "Source" процесса BPEL.
В случае определения протоколирования для действия существует возможность отслеживания значений следующих элементов:
переменной;
элемента;
выражения.
При отображениях можно использовать одну или несколько функций XPath из строки меню.
Протоколирование значения переменной:
Выберите действие на схеме. Протоколирование будет осуществляться при выполнении этого действия.
Перейдите к вкладке "Logging" в редакторе BPEL. Откроется окно протоколирования. Кроме того, для перехода к окну протоколирования можно щелкнуть правой кнопкой мыши требуемое действие и выбрать "Go To > Logging (Alt-L)".
На исходной панели дерева перейдите на уровень детализации дерева переменных, который содержит переменную, подлежащую отслеживанию.
На целевой панели дерева выполните развертку узла действия. Появятся узлы, соответствующие моменту протоколирования.
Выберите момент записи протоколирования и разверните соответствующий узел:
LOG_onStart. Запись значения переменной в протокол осуществляется в момент начала действия.
LOG_onComplete. Запись значения переменной в протокол осуществляется в момент завершения действия.
Определите уровень протоколирования. Перетащите подключение от переменной, подлежащей трассировке, к соответствующему узлу в целевой панели дерева. Доступны следующие уровни протоколирования:
Severe
Warning
Info
Config
Fine
Finer
Для поиска значения, записанного в файл протокола, можно связать это значение со строковым литералом, как показано на рисунке ниже.
В режиме проектирования рядом с действием, для которого определено протоколирование, появляется соответствующий мелкий значок. Этот значок используется для перехода к окну протоколирования.
Запись в протокол выполняется только в том случае, если определенный для переменной уровень протоколирования соответствует уровню протоколирования, указанному для BPEL SE на сервере приложений.
Настройка уровня протоколирования для BPEL SE:
В целях определения уровня протоколирования для BPEL SE используется консоль администратора сервера приложений.
В диалоговом окне "Services" выберите узел "Servers". Убедитесь, что сервер приложений GlassFish запущен. В этом случае рядом с сервером должен находиться значок с зеленой стрелкой. Если сервер не работает, щелкните правой кнопкой мыши имя сервера и выберите в контекстном меню "Start ".
Откройте консоль администратора в обозревателе. Для этого выполните следующие действия:
Щелкните правой кнопкой мыши узел сервера приложений GlassFish V2 и выберите в контекстном меню "Properties". Появится окно "Servers". В области "Servers" необходимо выбрать "GlassFish V2".
На вкладке "Connection" скопируйте содержимое поля "Location" (по умолчанию в этом поле установлено значение localhost:4848).
Вставьте строку в обозреватель и нажмите клавишу Enter. В окне обозревателя откроется консоль администратора сервера приложений Sun Java System Application Server.
Войдите в систему консоли администратора с помощью имени пользователя и пароля. По умолчанию используется имя пользователя admin и пароль adminadmin.
На левой панели под узлом JBI выберите "Components > sun-bpel-engine". Откроется страница свойств механизма служб BPEL.
На странице свойств механизма служб BPEL выберите вкладку "Loggers". На вкладке "Loggers" можно определить уровни протоколирования для отдельных регистраторов.
В раскрывающемся списке выберите соответствующий уровень протоколирования для sun-bpel-engine.
Если для действия процесса определено протоколирование, и указанный для него уровень протоколирования соответствует уровню протоколирования, установленному для BPEL SE, то после выполнения тестового прогона процесса выбранное значение переменной будет записываться в файл протокола сервера.
Примечание: Проект должен быть развернут на сервере приложений.
Просмотр файла протокола:
В окне "Services" под узлом "Servers" щелкните правой кнопкой мыши узел сервера приложений GlassFish V2 и выберите в контекстном меню "View Server log". В окне "Output" откроется протокол сервера TheGlassFish. Протокол будет содержать значение сообщения действия (для поиска этого значения можно воспользоваться функцией "Search"). Следует отметить, что некоторая дополнительная служебная информация является скрытой.
При необходимости, можно открыть протокол в текстовом редакторе и просмотреть полную информацию. Перейдите к каталогу <каталог установки сервера приложений>/domains/domain1/log/ и откройте файл server.log в текстовом редакторе. Информация, представленная в протоколе, содержит следующие данные, разделенные вертикальной чертой:
дата и время записи;
уровень протоколирования;
тип диспетчера (для протоколирования используется диспетчер трассировки);
Оповещение определяется тем же способом, что и протоколирование. Для выполнения оповещения в окне протоколирования доложен быть определен уровень предупреждения для действия. Способ оповещения (посредством электронной почты и т.п.) и уровень предупреждения для BPEL SE определяются на консоли администратора сервера приложений Sun Java System Application Server.