|
|
|||||||||||||||||||||||||||||
|
Мониторинг нескольких модулей в среде V7 WebSphere BPM: Часть 1. Использование двух новых подключаемых модулей для WebSphere Business Modeler V7 для реализации сквозного мониторинга бизнес-процессаИсточник: IBM
В этой статье описывается, как реализовать мониторинг нескольких модулей с использованием новых возможностей, предоставленных нашими доступными для загрузки подключаемыми модулями для продукта IBM WebSphere Business Modeler V7 (сокращенно - Modeler). Подключаемые модули для версии V6.2 описываются в соответствующем варианте данной статьи. Описываемые в данной статье подключаемые модули предоставляют следующие возможности: .
В статье описывается порядок использования доступных для загрузки подключаемых модулей при выполнении следующих операций с использованием продукта Integration Developer.
В вашей системе должен быть установлен продукт Modeler V7 с обновлением V7.0.0.3. Установка осуществляется следующим образом.
Примечание. Для тестирования подключаемых модулей Modeler V7 вам потребуется версия WebSphere Integration Developer V7. Как правило, создание процессов и бизнес-показателей в Modeler завершается созданием моделей мониторинга двух типов: Высокоуровневая модель мониторинга (High-level monitor model, HMM-модель): модель мониторинга бизнес-уровня, экспортированная из Modeler, а затем импортированная в редактор моделей. Низкоуровневая модель мониторинга (Low-level monitor model, LMM-модель): модель мониторинга ИТ-уровня, сгенерированная приложением Process Server, которое реализует бизнес-процесс, разработанный в Modeler В статье Put new capabilities of business activity monitoring (BAM) to work, Part 6: Integrating high-level and low-level monitor models (developerWorks, 2008 г., авторы: Miles и Ewan), показано, как интегрировать высокоуровневую и низкоуровневую модели мониторинга. Совместная работа этих моделей реализуется посредством обмена т.н. "событиями". В данной статье демонстрируется применение редактора моделей мониторинга для интеграции двух моделей мониторинга: высокоуровневой модели, созданной в Modeler, и низкоуровневой модели, сгенерированной приложением Integration Developer, которое реализует бизнес-процесс, описанный в Modeler. На этом этапе осуществляются следующие шаги.
На этапе исполнения осуществляются следующие шаги:
Два доступных для загрузки подключаемых модуля прилагаемых к данной статье, автоматизируют вышеописанный процесс. Входящий в состав Modeler редактор наборов мониторинга позволяет создать один или несколько наборов мониторинга, связанных с атрибутом (атрибутами) бизнес-элемента, который принадлежит процессам, подлежащим мониторингу. После этого вы сможете выбрать нужный набор мониторинга для использования при мониторинге и компоненты процесса, подлежащие мониторингу, а затем экспортировать их с помощью новой опции в мастере экспорта продукта Modeler, которая называется WebSphere Business Modeler End-to-End Process Monitoring. В зависимости от выбранного набора мониторинга подключаемые модули автоматически генерируют показатели и XML-определения событий, которые затем вставляются в модели мониторинга, сгенерированные опцией продукта Modeler для экспорта в WebSphere Integration Developer. Эти показатели инициализируются посредством значений полей набора мониторинга (которые являются атрибутами бизнес-элемента) в низкоуровневых моделях мониторинга и передаются от низкоуровневых моделей мониторинга через исходящие события, которые высокоуровневая модель мониторинга принимает как входящие. Высокоуровневая модель мониторинга использует значения показателей, полученных от разных экземпляров сквозного бизнес-процесса, для связывания этого сквозного процесса. В данной статье этот процесс мониторинга сквозного процесса, состоящий из нескольких отдельных процессов, разделяется на детализированные шаги. После этого каждый из этих шагов объясняется в контексте чрезвычайно простого бизнес-процесса подачи заявки на кредит, который моделируется в инструменте Modeler. Для сценария сквозного мониторинга представлены соответствующие учебные проекты (см. раздел Материалы для загрузки). Установка подключаемых модулей Для установки подключаемых модулей выполните следующие шаги.
Для осуществления мониторинга сначала нужно создать в Modeler соответствующую модель. Эта модель должна состоять из нескольких процессов, входящих в "сквозной" (полный) процесс, и бизнес-элементов, используемых этими процессами. Кроме того, в каждом процессе следует указать, значения каких параметров подлежат мониторингу. Чтобы помочь вам приступить к работе, мы создали готовую к применению и очень простую модель процесса Loan application (подача заявки на кредит) (см. раздел Материалы для загрузки). Распакуйте и импортируйте файл с расширением .mar в Modeler. Для этого выберите следующую опцию: File => Import => WebSphere Business Modeler Import => WebSphere Business Modeler project. После завершения импорта вышеуказанного проекта откройте процесс LoanEndToEndProcess. Он должен выглядеть следующим образом (см. рис. 1).
Мониторингу подвергаются две задачи (или два процесса) в вышеупомянутом сквозном процессе. Третья задача с именем Review Loan And Update является ручным процессом и, соответственно, не подлежит мониторингу. Рассмотрим вкратце два процесса, которые подвергаются мониторингу - это процесс Loan_InitiationOne, показанный на рис. 2, и процесс Loan_CompletionOne, показанный на рис. 3.
Обратите внимание, что для передачи данных между процессами в каждом процессе используется соответствующий бизнес-элемент (в данном случае это бизнес-элементы LoanApplicationType и LoanType, соответственно). Мы будем использовать эти бизнес-элементы при создании набора мониторинга. Теперь можно просмотреть бизнес-показатели для процессов, которые будут подвергаться мониторингу. Для этого нажмите мышью в любом месте диаграммы соответствующего процесса. Вы увидите соответствующие данные, отображаемые в представлении Business Measures. На рис. 4 показаны бизнес-показатели для процесса Loan_InitiationOne.
Для мониторинга каких-либо действий в процессе Loan_InitiationOne необходимо поставить флажки в соответствующих окошках. Функция продукта Modeler под названием Export to WebSphere Integration Developer создает контекст мониторинга для каждого действия, подлежащего мониторингу в модели мониторинга для процесса Loan_InitiationOne. Для реализации сквозного мониторинга подключаемый модуль извлекает значения этих бизнес-показателей из контекстов мониторинга в низкоуровневых моделях мониторинга. Мы опишем это более подробно в разделе Создание набора мониторинга. Для процесса LoanCompletionOne бизнес-показатели должны иметь следующий вид (см. рис 5).
Обратите внимание, что даже у сквозного процесса под именем LoanEndToEndProcess есть бизнес-показатели. Для реализации всеобъемлющего мониторинга этого сквозного процесса у вас нет необходимости ставить флажки в окошках для соответствующих бизнес-показателей. Все необходимое для мониторинга осуществляют модели мониторинга для отдельных процессов в сквозном процессе. В общем случае флажок Processing Time вкладки Monitored Values на вкладке Business Measures должен быть установлен для каждого отдельного действия в каждом процессе (кроме всеобъемлющего процесса) проекта Modeler, который пользователь желает экспортировать в Integration Developer. Вы можете выбрать и другие контролируемые значения (в дополнение к значениям параметра Processing Time). Это необходимо для того, чтобы результирующие модели мониторинга, сгенерированные функцией экспорта, содержали контексты мониторинга для соответствующих действий. Контекст мониторинга в модели мониторинга получает низкоуровневые BPEL-события и гарантирует, что модель мониторинга получит значения данных (такие как значения атрибута бизнес-элемента), связанные с этими действиями. Теперь рассмотрим реально используемые бизнес-элементы - LoanApplicationType (рис. 6) и LoanType (рис. 7).
Каждый из этих бизнес-элементов имеет несколько атрибутов, любой из которых мы могли бы использовать для создания набора мониторинга. В созданной нами модели все атрибуты бизнес-элемента LoanApplicationType имеют тип Text, но вы можете использовать примитив любого типа, например, Integer или Date. Например, в бизнес-элементе LoanType мы включили атрибуты типа Boolean и Date (см. рис. 7).
Активация сквозного мониторинга IВ этом разделе описывается, как создать набор мониторинга, как использовать существующие опции экспорта в Modeler для создания базовой модели мониторинга и как использовать новую опцию экспорта WebSphere Business Modeler End-to-End Monitoring, предоставляемую подключаемыми модулями, для интеграции базовых моделей мониторинга с целью мониторинга сквозного процесса. В разделе Ограничения функции сквозного мониторинга мы опишем ограничения этой новой опции экспорта. Для создания нового набора мониторинга выполните следующие шаги.
Откроется редактор набора мониторинга (см. рис. 10).
Открыв экземпляр набора мониторинга, предоставленный вместе со сценарием проекта Loan application, вы увидите, что он уже имеет связывания (bindings), показанные на рис. 10. Вы всегда можете добавлять/удалять ключи (в левой панели редактора), создавать/изменять связывания любого ключа, а также удалять связывания (в правой панели редактора). Кнопки Add и Remove функционируют примерно так же, как аналогичные кнопки в редакторе бизнес-элементов, с которым вы, вероятно, знакомы, за одним исключением: при редактировании столбца Type пользователю представляется список примитивов только тех типов (см. рис. 11), которые допустимы для соответствующего ключа в наборе мониторинга (Примечание. Порядок ключей не имеет значения).
Чтобы набор мониторинга имел непротиворечивое множество связываний, необходимо соблюдать следующие два условия. (1) любой бизнес-элемент, участвующий в любом связывании, должен присутствовать во всех связываниях; (2) любая пара "бизнес-элемент/атрибут" может быть связана лишь с одним ключом. Таким образом, при удалении какого-либо связывания (или при первом добавлении связывания) набор мониторинга будет временно находиться в несогласованном состоянии, на что будет указывать сообщение красного цвета в строке состояния.
Откроется мастер, с помощью которого вы сможете выбрать бизнес-элемент и его атрибут для связывания с выбранным ключом.
Примечание. Бизнес-элемент не будет присутствовать в списке, если у него нет атрибутов корректного типа (т.е., атрибутов типа, соответствующего типу только что созданного вами ключа набора мониторинга). Кроме того, если бизнес-элемента имеет атрибут корректного типа, но этот атрибут уже связан в наборе мониторинга, такой бизнес-элемент также не будет присутствовать в списке.
Теперь все готово для экспорта модели мониторинга. Это двухступенчатый процесс, состоящий из экспорта в Integration Developer и последующего экспорта в Integration Developer, который интегрирует низкоуровневые модели мониторинга (LMM-модели) и высокоуровневую модель мониторинга (HMM-модель), сгенерированную для экспорта.
Теперь каталог Integration Developer, в который вы экспортировали свой проект, должен содержать следующие два архивированных файла (метки даты и времени генерации файлов будут другими):
Архивированная папка с подстрокой _Monitor_ должна содержать модели мониторинга с суффиксом .mm на конце для каждого процесса в проекте, выбранного для экспорта. Помимо других файлов, в этой папке должны присутствовать следующие модели мониторинга
Как работает функция мониторинга сквозного процесса После того как вы выполните шаги из предыдущего раздела, функция мониторинга сквозного процесса, предоставляемая модулем plug0-in, распакует архивированную папку с подстрокой _Monitor_ в заданный вами целевой каталог. Эта запакованная папка уже должна содержать модели мониторинга из выполненного вами экспорта в Integration Developer. Для каждого ключа (k) в выбранном наборе мониторинга программный код определяет связанные с ним атрибуты бизнес-элемента. Для каждого из этих атрибутов программный код определяет, для каких процессов они являются входными или выходными, а затем составляет список этих зависимых процессов и гарантирует исключение сквозного процесса из этого списка. Для каждого из этих процессов код находит и открывает файл с соответствующей моделью мониторинга (с суффиксом .mm), а затем вставляет в него показатель и исходящее событие, содержащее в качестве полезной нагрузки значение того атрибута бизнес-элемента, который является входом или выходом этого процесса и который связан с ключом k выбранного набора мониторинга. Кроме того, для каждого исходящего события программный код создает в высокоуровневой модели мониторинга входящее событие с именем как у сквозного процесса, а также задает показатель корреляции, который коррелирует полезные нагрузки входящих событий, полученных от высокоуровневых моделей мониторинга различных процессов в сквозном процессе. Сравнивая значения этих показателей, полученные от разных моделей (осуществляющих мониторинг отдельных частей сквозного процесса), высокоуровневая модель мониторинга идентифицирует соответствующие экземпляры сквозного процесса. Кроме того, программный код создает XML-определение для каждого входящего/исходящего события и сохраняет его в файле с именем ModelOutboundEvent.XSD. К примеру, в учебном проекте Loan application, предоставляемым вместе с данной статьей, набор мониторинга MonitorSet_MS содержит ключ LoanID, который отображается на атрибут LoanId бизнес-элемента LoanApplicationType, а также на атрибут LoanID бизнес-элемента LoanType. На элемент LoanApplicationType ссылается процесс Loan_InitiationOne, а на элемент LoanType ссылается процесс Loan_CompletionOne. Таким образом, программный код опции экспорта WebSphere Business Modeler End-to-End Process Monitoring вставляет в модель мониторинга исходящее событие и показатель для процесса Loan_InitiationOne. В листинге 1 показан XML-файл для исходящего события из модели Loan_InitiationOne_Mon.mm.
В листинге 2 показатель LoanId инициализируется посредством поля expression, которое указывает на местоположение в контексте мониторинга, где находится значение LoanId. Исходящее событие (в листинге 1) посылает это значение в высокоуровневую модель мониторинга. ReceiveLoanApplication в листинге 2 - это действие процесса Loan_InitiationOne.
Кроме того, этот код вставляет исходящее событие и показатель в модель мониторинга для процесса LoanCompletionOne (в данном случае это модель Loan_CompletionOne_Mon.mm). Это исходящее событие, поступающее в высокоуровневую модель мониторинга, содержит значение показателя, необходимое высокоуровневой модели мониторинга для коррелирования разных экземпляров одного и того же всеобъемлющего процесса. В листинге 3 показано это вставленное исходящее событие.
В листинге 4 показатель LoanID инициализируется посредством поля expression, которое указывает на местоположение в контексте мониторинга модели мониторинга для процессе Loan_CompletionOne, где находится значение LoanID. Значение VerifyRiskOfficerInvolvement в поле expression показателя - это действие процесса Loan_CompletionOne. Исходящее событие (см. листинг 3) посылает значение этого показателя из модели мониторинга процесса Loan_CompletionOne в высокоуровневую модель мониторинга.
В листинге 5 показано определение события для исходящих событий, автоматически созданное программным кодом подключаемого модуля. Это определение события сохраняется в файле ModelCorrelationEvent.XSD.
Как показано в листинге 6, высокоуровневая модель мониторинга LoanEndToEndProcess_Mon.mm получает два входящих события: одно от низкоуровневой модели мониторинга для процесса Loan_InitiationOne и одно от низкоуровневой модели мониторинга для процесса Loan_CompletionOne.
Как показано в листинге 7, высокоуровневая модель мониторинга инициализирует локальный показатель с именем LoanID посредством значений показателя LoanID, которые она получает от моделей мониторинга для процесса Loan_InitiationOne и для процесса Loan_CompletionOne. Высокоуровневая модель мониторинга сравнивает полученные показатели; в случае их совпадения локальный показатель считается верным.
Код подключаемого модуля вставляет в высокоуровневую модель мониторинга булевский показатель, который индицирует получение HMM-моделью какого-либо входящего события. В сценарии Loan application код подключаемого модуля задает два булевских показателя - один из них показывает получение HMM-моделью входящего события от модели мониторинга для процесса Loan InitiationOne, а второй показывает получение HMM-моделью входящего события от модели мониторинга для процесса Loan_CompletionOne. В листинге 8 показан вставленный XML-фрагмент.
После завершения экспорта программный код создает новую запакованную папку (имя которой содержит подстроку EndToEndMonitor) с модифицированными моделями мониторинга, которые теперь обеспечивают сквозной мониторинг. Кроме того, в этой папке находится исходный набор файлов, созданных посредством экспорта в Integration Developer. На рис. 20 показан пример целевой папки после завершения экспорта с помощью опции WebSphere Business Modeler End-to-End Monitoring (ваши метки даты/времени будут другими). Эти архивированные папки также имеются в материалах для загрузки к данной статье.
Ограничения функции сквозного мониторинга Функция сквозного мониторинга, предоставляемая подключаемыми модулями, имеет некоторые ограничения. В настоящее время она поддерживает только мониторинг с одним набором мониторинга. Хотя этот набор мониторинга может иметь более одного ключа, каждый из этих ключей должен быть связан с атрибутами бизнес-элементов, которые ссылаются на одни и те же бизнес-процессы. Это необходимо, поскольку на данный момент мы не предоставляем возможности для задания отношений между ключами набора мониторинга или даже между разными наборами мониторинга. В настоящее время мы работаем над созданием возможностей, которые позволяли бы задавать шаблоны для расширенного коррелирования бизнес-процессов. Мониторинг в Integration Developer Теперь вы готовы отредактировать свои модели мониторинга и развернуть их в Integration Developer V7. Мы протестировали продукт WebSphere Integration Developer с поддержкой генерации модели мониторинга и профиля WebSphere Business Monitor в среде WebSphere Process Server. Импорт проектов в Integration Developer Теперь вы должны импортировать в новое рабочее пространство два файла учебного проекта, предоставленные для загрузки вместе с данной статьей. Согласно требованиям Integration Developer, сначала следует импортировать папку модели, а затем папку мониторинга (т.е. импорт должен осуществляться поочередно, по одной папке).
После успешного импортирования файлов учебного проекта ваше рабочее пространство в перспективе Business Integration должно выглядеть следующим образом (см. рис. 24).
Теперь, когда реализации ваших сервисов готовы, вы сможете развернуть потоки работ для использования этих сервисов. После определения BPEL-потоков вам необходимо развернуть модели мониторинга на сервере. В представлении Integration Developer Business Monitoring вы должны видеть две низкоуровневые модели мониторинга (Loan_InitiationOne и Loan_CompletionOne) и одну высокоуровневую модель мониторинга (LoanEndToEndProcess). Вы можете проигнорировать модель мониторинга для процесса Loan_UpdateOne, поскольку он является ручным процессом.
Настройка представления Business Space для осуществления мониторинга В ходе исполнения потоков работ вы можете воспользоваться виджетами мониторинга в представлении Business Space для наблюдения за состоянием этих потоков.
Теперь вы сможете открыть MonitorLoanInit и MonitorLoanDone. Вы увидите экземпляры процессов Loan_InitiationOne (рис. 36) и Loan_CompletionOne (рис. 37), которые вы исполняли в Business Process Choreographer Explorer, с соответствующим значением идентификатора LoanID.
И, наконец, вы можете увидеть сквозной процесс мониторинга. Откройте виджет, который вы создали для мониторинга сквозного процесса Loan application (см. рис. 38).
Использование редактора моделей мониторинга Integration Developer для дополнительной настройки С помощью редактора моделей мониторинга (MME) из состава Integration Developer вы сможете при желании дополнительно настроить визуальное представление каждой модели мониторинга (например, менять цвета, если значения показателей загружены), как показано на рис. 39.
К примеру, вы можете менять цвета блоков для действий Loan_InitiationOne и Loan_CompletionOne в зависимости от того, какой из этих процессов исполнялся (согласно листу fill color в дереве, показанном рис. 39). Значения показателей, полученных посредством событий в Business Space, можно всегда отображать в виде текста. Вы можете отредактировать визуальное представление каждой модели мониторинга таким образом, чтобы действия в диаграммах (входящих в виджеты бизнес-пространства) могли менять отображаемые цвета и/или текст непосредственно в ходе мониторинга информации. Результаты настройки, осуществленной на рис. 39, появятся в представлении Business Space, показанном на рис. 40. При обнаружении экземпляра Loan application с идентификатором LoanID = 222 блоки действий приобретают оранжевую окраску, а также выводятся значения показателей с соответствующим идентификатором LoanID.
Устранение неполадок Если вы не видите экземпляров процесса в высокоуровневой модели мониторинга (на странице MonitorLoan в пространстве Business Space), проверьте отправку событий из моделей мониторинга для процессов Loan_InitiationOne и Loan_CompletionOne. Для этого откройте браузер Common Base Event Browser (как правило, он находится по адресу: https://localhost:9044/ibm/console/cbebrowser/), нажмите GetEvent, выберите временной диапазон создания Creation Time Date и нажмите Get Events. Активируйте регистрацию событий в консоли WebSphere Integrated Solutions Console Удостоверьтесь, что регистрация событий активирована в консоли WebSphere Integrated Solutions Console. Для этого выполните следующие шаги.
При импорте файлов своего проекта из Modeler в Integration Developer вы можете встретить ошибку компилятора в файле LoanEndToEndProcess_Mon.mm. Эта ошибка возникает при импорте проекта из версии Modeler V7 в версии Integration Developer V7. Эта ошибка находится в теге для контекста monitoringContext, у которого параметр displayName имеет значение LoanEndToEndProcess. Данная ошибка затрагивает атрибут eventSequenceIDPath. При возникновении этой ошибки попытайтесь удалить этот атрибут и его значение, а затем повторно скомпилировать свое рабочее пространство. С этой целью в меню Project выберите опцию Clean => Clean All Projects. Из этой статьи вы узнали, как реализовать сквозной мониторинг с использованием одного набора мониторинга. Вы научились автоматически генерировать высокоуровневую модель мониторинга, способную коррелировать события, полученные от низкоуровневых моделей мониторинга, с целью формирования сквозного процесса, который использует ключи, специфицированные в наборе мониторинга. С помощью инструмента Modeler вы выполнили следующие шаги.
В результате вы получили в своем целевом каталоге три архивированные папки, в то числе одну папку с подстрокой EndToEndMonitor в ее имени. Эта папка содержала модели мониторинга со вставленным в них кодом, обеспечивающим поддержку сквозного мониторинга.
В процессе выполнения описываемых в этой статье шагов вы узнали, как автоматически отслеживать и коррелировать составляющие сквозного процесса, используя с этой целью предоставленные подключаемые модули. Планируемые усовершенствования В будущих версиях описанных подключаемых модулей мы планируем реализовать следующие усовершенствования в области сквозного мониторинга:
|
|