№3. Разработка простого потока IBM Integration Bus

Тема: разработка простого потока IBM Integration Bus.

Задание

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

Входящая очередь: LAB.3.IN
Исходящая очередь: LAB.3.OUT

Входящее сообщение:

<Message>
     <A>1</A>
     <B>2</B>
</Message>

Исходящее сообщение:

<Message>
     <C>3</C>
</Message>

Время на выполнение: 30 минут

Выполнение

Создайте 2 очереди (процесс создания очереди описан в лабораторной работе №2):

  • 3.IN
  • 3.OUT

image002

Запустите IBM Integration Toolkit

image003

Выбор «рабочей области». Будем использовать рабочую область созданную по умолчанию.

image004

Окно тулкита после первого запуска. Для того, чтобы перейти в рабочее пространство, нажмите на стрелку указанную на рисунке:

image005

Рабочее пространство:

image006

Создадим приложение LAB.3

Нажмите «New»

image007

Введите название приложения:

image008

Нажмите Finish.

Созданное приложение:

image009

Создадим поток:

image010

Создание потока:

  1. укажите имя потока: Add
  2. укажите название схемы: sharavara.com
  3. нажмите Finish

image011

Созданный поток:

image012

Укажите версию потока и краткое описание в разделе Properties:

image013

  1. В палитре нод откройте раздел Websphere MQ и перетащите в рабочую область ноду MQInput
  2. В свойствах ноды укажите имя очереди: 3.IN

image014

В свойствах ноды перейдите на вкладку “Input Message Parsing” и в поле «Message domain» укажите XMLNSC

image015

Перетащите в рабочую область ноду «Compute» (из раздела Transformation)

image016

Соедините выход ноды “MQ Input” и вход «Compute»

image017

Два раза нажмите на ноду ”Compute” для того что бы открыть редактор кода:

image018

Сохраните приложение:

image019

В редакторе кода выделенные строки

image020

замените на следующий код:

CALL CopyMessageHeaders();
SET OutputRoot.XMLNSC.Message.C = CAST(InputRoot.XMLNSC.Message.A AS INTEGER)
+ CAST(InputRoot.XMLNSC.Message.B AS INTEGER);

image021

Сохраните изменения и перейдите в поток Add.

Перетащите в рабочую область ноду MQOutput:

image022

В свойствах ноды MQ Output укажите исходящую очередь LAB.3.OUT

image023

Соедините выход Out ноды Compute с входом ноды MQ Output:

image024

image025

Разработка потока завершена.

Далее необходимо установить поток на интеграционный сервер. Для этого мышкой перетащите поток на интеграционный сервер default:

image026

В процессе установки возникнет следующее сообщение:

image027

Нажмите “ОК”

Установленное приложение:

image028

Протестируем работу приложения.

Запустите MQ Explorer и перейдите в раздел Queues:

image029

Скопируйте в буфер обмена сообщение:

<Message><A>1</A><B>2</B></Message>

В контекстном меню очереди LAB.3.IN выберите пункт “Put Test Message…”

image030

В поле Message data вставьте из буфера обмена скопированное сообщение и нажмите кнопку “Put message”:

image031

Закройте окно Put test message

image032

В очереди LAB.3.OUT появилось одно сообщение:

image033

Из контекстного меню очереди LAB.3.OUT выберете пункт «Browse Messages…»

image034

Сообщения, находящиеся в очереди:

image035

По двойному клику на сообщения откроются детали сообщения:

image036

Перейдите в раздел Data

image037

В поле Message Data отображается тело сообщения:

<Message><C>3</C></Message>

 

Comments are closed.