33
Tutorial Broker DB2 – C Carvalho e Alexandre J. Batista Criado em: 11/03/08 Página 1 de 33 Tutorial WebSphere Message Broker Com DB2 Alexandre J. B. e C. Carvalho

Tutorial Message Broker com DB2

Embed Size (px)

DESCRIPTION

Tutorial de Message Broker com DB2

Citation preview

Page 1: Tutorial Message Broker com DB2

Tutorial Broker DB2 – C Carvalho e Alexandre J. Batista

Criado em: 11/03/08 Página 1 de 33

Tutorial

WebSphere Message Broker

Com

DB2

Alexandre J. B. e C. Carvalho

Page 2: Tutorial Message Broker com DB2

Tutorial Broker DB2 – C Carvalho e Alexandre J. Batista

Criado em: 11/03/08 Página 2 de 33

Índice

1. OBJETIVOS DO DOCUMENTO ............................................................................................................... 4

2. INTRODUÇÃO............................................................................................................................................. 4

3. PASSO A PASSO .......................................................................................................................................... 4

3.1 CRIAÇÃO DA TABELA “CADASTRO” ..................................................................................................... 4 3.2 CRIAÇÃO DO ODBC PARA A TABELA “CADASTRO” ............................................................................. 6 3.3 CRIAÇÃO DA WORKSPACE ........................................................................................................................ 7 3.4 CRIAÇÃO DO MESSAGE SET PROJECT E MESSAGE SET............................................................................. 8 3.5 CRIAÇÃO DO MESSAGE DEFINITION FILE E MENSAGENS .......................................................................... 9 3.6 CRIAÇÃO DO MESSAGE FLOW PROJECT E MESSAGE FLOW .....................................................................13 3.7 CRIAÇÃO DA REFERÊNCIA À TABELA.......................................................................................................14 3.8 CRIAÇÃO DO FLUXO ................................................................................................................................17 3.9 DEPLOY ..................................................................................................................................................23 3.10 TESTE......................................................................................................................................................31

4. REFERÊNCIAS...............................................................................................................................................33

Page 3: Tutorial Message Broker com DB2

Tutorial Broker DB2 – C Carvalho e Alexandre J. Batista

Criado em: 11/03/08 Página 3 de 33

Índice de figura

Figura 1 - Criação do banco de dados “PORTAL”. ................................................................................. 5 Figura 2 - Criação da tabela “CADASTRO” no banco de dados “PORTAL”........................................... 5 Figura 3 - Campos da tabela "CADASTRO". .......................................................................................... 6 Figura 4 - Criação da conexão ODBC..................................................................................................... 6 Figura 6 - Teste da conexão ODBC. ....................................................................................................... 7 Figura 7 - Prompt de seleção da workspace........................................................................................... 7 Figura 8 - Criando um novo Message Set Project. ................................................................................. 8 Figura 9 - Nomeando um novo Message Set Project. ............................................................................ 8 Figura 10 - Criando um novo Message Set............................................................................................. 9 Figura 11 - Definindo o novo Message Set como XML........................................................................... 9 Figura 12 - Criando um novo arquivo de definição de mensagem. ...................................................... 10 Figura 13 - Criando um novo arquivo de definição de mensagem. ...................................................... 10 Figura 14 - Selecionando um Message Set onde criar o arquivo de definição de mensagem............. 11 Figura 15 - Criando elementos para a mensagem................................................................................ 11 Figura 16 - Elementos a serem criados. ............................................................................................... 12 Figura 17 - Criando uma mensagem..................................................................................................... 12 Figura 18 - Adicionando elementos a uma mensagem......................................................................... 12 Figura 19 - Mensagens de entrada e saída completas......................................................................... 13 Figura 20 - Alterando o label do título. .................................................................................................. 13 Figura 21 - Criando um novo Message Flow. ....................................................................................... 14 Figura 22 - Criando o arquivo de definição das tabelas do banco........................................................ 14 Figura 23 - Criando a conexão com o banco. ....................................................................................... 15 Figura 24 - Especificando parâmetros de conexão ao banco............................................................... 15 Figura 25 – Janela para adição de filtros. ............................................................................................. 16 Figura 26 - Definição de filtro para o retorno da tabela "CADASTRO". ................................................ 16 Figura 27 - Arquivos referentes à esttrutura da tabela e do banco....................................................... 17 Figura 28 - Nodes a serem utilizados neste fluxo. ................................................................................ 17 Figura 29 - Criando um novo Mapping. ................................................................................................. 18 Figura 30 - Configurando o novo Mapping............................................................................................ 18 Figura 31 - Definindo as mensagens de entrada e saída. .................................................................... 19 Figura 32 - Criando a cláusula SELECT. .............................................................................................. 19 Figura 33 - Cláusula SELECT completa no editor de expressões........................................................ 20 Figura 34 - Linha a ser apagada. .......................................................................................................... 20 Figura 35 - Campos correspondentes no mapeamento........................................................................ 21 Figura 36 - Mensagem de saída como "interna" ao SELECT do banco. .............................................. 22 Figura 37 - Configuração das propriedades do Trace Node................................................................. 22 Figura 38 - Nodes conectados. ............................................................................................................. 23 Figura 39 - Mudando de perspectiva..................................................................................................... 24 Figura 40 - Configurando a conexão do Domain. ................................................................................. 25 Figura 41 - Nomeando a conexão......................................................................................................... 26 Figura 42 - Pou-up para solicitação de confirmação............................................................................. 26 Figura 43 - Adicionando um Broker ao Domain. ................................................................................... 26 Figura 44 - Adicionando um Broker ao Domain. ................................................................................... 27 Figura 45 - Criando um Broker Archive File. ......................................................................................... 27 Figura 46 - Nomeando um Broker Archieve File. .................................................................................. 28 Figura 47 - Adicionando Message Set e Message Flow Projects ao BAR. .......................................... 29 Figura 48 - Projetos compilados no arquivo BAR. ................................................................................ 29 Figura 49 - "Drag and Drop" para facilitar o deploy............................................................................... 30 Figura 50 - Resposta do Configuration Manager. ................................................................................. 30 Figura 51 - Event Log. ........................................................................................................................... 31 Figura 52 - Mensagem de saída. .......................................................................................................... 32

Page 4: Tutorial Message Broker com DB2

Tutorial Broker DB2 – C Carvalho e Alexandre J. Batista

Criado em: 11/03/08 Página 4 de 33

11.. OOBBJJEETTIIVVOOSS DDOO DDOOCCUUMMEENNTTOO

Esse documento tem como objetivo ajudar no manuseio da ferramenta IBM WebSphere Message Broker e fazer com que os integrantes da equipe de integração tenham uma noção sobre os recursos do software e como ele interage com outros aplicativos, no caso o DB2.

22.. IINNTTRROODDUUÇÇÃÃOO

Este passo-a-passo descreve um fluxo que tem um XML contendo um único campo (ID) como entrada em uma fila MQ; este dado é utilizado para a realização de um “SELECT” na tabela “CADASTRO” do banco “PORTAL”. Os dados retornados deste “SELECT” são mapeados para um outro XML, que é colocado em outra fila MQ.

33.. PPAASSSSOO AA PPAASSSSOO

3.1 Criação da tabela “CADASTRO” 1) Entre no Centro de Controle do IBM DB2:

Iniciar > Programas > IBM DB2 > Ferramentas Gerais de Administração > Centro de Controle 2) No poup-up “Visualização Centro de Controle”, clique OK; 3) Expanda o item “Todos os Sistemas” até chegar em “Bancos de Dados”; Clique com o botão

direito em “Bancos de Dados” > “Criar banco de dados” > “Padrão”. Preencha como segue e clique em “Concluir:

Page 5: Tutorial Message Broker com DB2

Tutorial Broker DB2 – C Carvalho e Alexandre J. Batista

Criado em: 11/03/08 Página 5 de 33

Figura 1 - Criação do banco de dados “PORTAL”.

4) Após criado, o banco “PORTAL” aparecerá em baixo de “Todos os bancos de dados”. Expanda e clique com o botão direito em “Tabelas” > Criar. Preencha como na figura e clique em “Avançar”:

Figura 2 - Criação da tabela “CADASTRO” no banco de dados “PORTAL”. 5) Em “Colunas”, preencha para que a tabela fique como na figura:

Page 6: Tutorial Message Broker com DB2

Tutorial Broker DB2 – C Carvalho e Alexandre J. Batista

Criado em: 11/03/08 Página 6 de 33

Figura 3 - Campos da tabela "CADASTRO".

3.2 Criação do ODBC para a tabela “CADASTRO”

1) Iniciar > Configurações > Painel de Controle > Ferramentas Administrativas > Fontes de Dados (ODBC);

2) Na guia “Fontes de Dados do Sistema”, clique no botão “Adicionar”; 3) Escolha o driver “IBM DB2 ODBC driver” e clique em “Concluir”; 4) Prencha como na figura e clique em OK.

Figura 4 - Criação da conexão ODBC.

5) Para testar esta conexão, selecione PORTAL e clique em “Configurar”. Na nova janela, clique em “Conectar”. A mensagem “Conexão testada com sucesso” deve aparecer.

Page 7: Tutorial Message Broker com DB2

Tutorial Broker DB2 – C Carvalho e Alexandre J. Batista

Criado em: 11/03/08 Página 7 de 33

Figura 5 - Teste da conexão ODBC.

3.3 Criação da workspace

1) Iniciar > Programas > IBM WebSphere Message Brokers 6.0 > WebSphere Message Brokers Toolkit

2) Selecione a workspace clicando em “Browse”. Aqui pode –se também criar uma nova pasta para ser a workspace clicando no botão “Criar nova pasta”.

Figura 6 - Prompt de seleção da workspace.

3) Feche a guia “Welcome”;

Page 8: Tutorial Message Broker com DB2

Tutorial Broker DB2 – C Carvalho e Alexandre J. Batista

Criado em: 11/03/08 Página 8 de 33

3.4 Criação do Message Set Project e Message Set 1) Clique com o botão direito na guia “Resource Navigator” e preencha conforme as figuras:

Figura 7 - Criando um novo Message Set Project.

Figura 8 - Nomeando um novo Message Set Project. 2) Clique em “Next”;

Page 9: Tutorial Message Broker com DB2

Tutorial Broker DB2 – C Carvalho e Alexandre J. Batista

Criado em: 11/03/08 Página 9 de 33

Figura 9 - Criando um novo Message Set 3) Clique em “Next”;

Figura 10 - Definindo o novo Message Set como XML.

4) Clique em “Finish”;

3.5 Criação do Message Definition File e mensagens

Page 10: Tutorial Message Broker com DB2

Tutorial Broker DB2 – C Carvalho e Alexandre J. Batista

Criado em: 11/03/08 Página 10 de 33

1) Clique com o botão direito em “messageSet.mset” e siga as figuras :

Figura 11 - Criando um novo arquivo de definição de mensagem.

Figura 12 - Criando um novo arquivo de definição de mensagem.

2) Clique em “Next”;

Page 11: Tutorial Message Broker com DB2

Tutorial Broker DB2 – C Carvalho e Alexandre J. Batista

Criado em: 11/03/08 Página 11 de 33

Figura 13 - Selecionando um Message Set onde criar o arquivo de definição de mensagem. 2) Clique em “Finish”; 3) Dê dois cliques em “bkr_db_bkr.mxsd”; 4) Clique com o botão direito em “Elements and Attrbutes”. Siga a figura.

Figura 14 - Criando elementos para a mensagem.

5) Renomeie o “Global Element 1” por “id” e mude o tipo para “int”.

Page 12: Tutorial Message Broker com DB2

Tutorial Broker DB2 – C Carvalho e Alexandre J. Batista

Criado em: 11/03/08 Página 12 de 33

6) Repita os passos de 4 e 5 para os seguintes atributos :

Figura 15 - Elementos a serem criados. 7) Clique com o botão direito em “Messages” e siga a figura:

Figura 16 - Criando uma mensagem.

8) Renomeie “message1” para “entrada”; 9) Clique com o botão direito na mensagem “entrada” > “Add Element Reference”; 10) Selecione o elemento “id”.

Figura 17 - Adicionando elementos a uma mensagem.

11) Clique novamente com o botão direito em “Messages” > “Add Message”. 12) Renomeie “message1” para “saida”; 13) Clique com o botão direito na mensagem “saida” > “Add Element Reference”; 14) Selecione os elementos na seguinte ordem:

Page 13: Tutorial Message Broker com DB2

Tutorial Broker DB2 – C Carvalho e Alexandre J. Batista

Criado em: 11/03/08 Página 13 de 33

Figura 18 - Mensagens de entrada e saída completas.

15) Altere o nome dos tipos “complexType1” e “complexType2” para “entrada” e “saida”, respectivamente.

Figura 19 - Alterando o label do título.

16) Salve e feche todas as guias abertas.

3.6 Criação do Message Flow Project e Message Flow 1) Clique com o botão direito na guia “Resource Navigator” > “New” > “Message Flow Project”.

Nomeie- o como “testeBanco”; 2) Clique em “Finish”;

Page 14: Tutorial Message Broker com DB2

Tutorial Broker DB2 – C Carvalho e Alexandre J. Batista

Criado em: 11/03/08 Página 14 de 33

3) Clique com o botão direito em “testeBanco” e siga a figura:

Figura 20 - Criando um novo Message Flow. 4) Nomeie o Message Flow como “bkr_db_bkr” e clique em “Finish”;

3.7 Criação da referência à tabela 1) Clique novamente com o botão direito em “testeBanco” e siga as figuras:

Figura 21 - Criando o arquivo de definição das tabelas do banco.

Page 15: Tutorial Message Broker com DB2

Tutorial Broker DB2 – C Carvalho e Alexandre J. Batista

Criado em: 11/03/08 Página 15 de 33

Figura 22 - Criando a conexão com o banco.

2) Clique em “Next”; 3) Em “Alias”, preencha “PORTAL”;

Figura 23 - Especificando parâmetros de conexão ao banco.

Page 16: Tutorial Message Broker com DB2

Tutorial Broker DB2 – C Carvalho e Alexandre J. Batista

Criado em: 11/03/08 Página 16 de 33

4) Clique em “Test Connection”. Se todos os passos foram realizados corretamente, a mensagem “Connection to PORTAL is successful” deve aparecer. Clique em “Next”.

5) Na parte inferior, selecione “Meet all conditions” e “Add”;

Figura 24 – Janela para adição de filtros. 10) Inclua o seguinte filtro:

Figura 25 - Definição de filtro para o retorno da tabela "CADASTRO". 11) Clique em “Finish”; 12) Em “Project”, coloque “testeBanco” e clique em “Finish”. Os objetos aparecerão no “Resource

Navigator”:

Page 17: Tutorial Message Broker com DB2

Tutorial Broker DB2 – C Carvalho e Alexandre J. Batista

Criado em: 11/03/08 Página 17 de 33

Figura 26 - Arquivos referentes à esttrutura da tabela e do banco.

3.8 Criação do fluxo

1) Expanda o projeto “testeBanco” e clique duas vezes em “bkr_db_bkr.msgflow”. 2) Expanda a Palette para vizualizar os nodes; 3) Clique no node desejado e o arraste até a área à direita. Os nodes a serem adicionados são os

seguintes : - 1 MQInput - 1 MQOutput - 1 Mapping - 3 Trace Coloque- os na ordem que segue :

Figura 27 - Nodes a serem utilizados neste fluxo.

4) Clique com o botão dreito no node “MQInput” > Properties > Basic > Queue Name e preencha TESTEBANCO.IN.

5) Clique com o botão dreito no node “MQOutput” > Properties > Basic > Queue Name e preencha TESTEBANCO.OUT.

Page 18: Tutorial Message Broker com DB2

Tutorial Broker DB2 – C Carvalho e Alexandre J. Batista

Criado em: 11/03/08 Página 18 de 33

OBS: Essas duas filas que estamos configurando aqui são pré- requisitos e devem estar criadas no WebSphere MQ. 6) Clique com o botão direito no node “Mapping” > Open Map;

Figura 28 - Criando um novo Mapping.

7) Clique em “Next”;

Figura 29 - Configurando o novo Mapping.

8) Clique em “Next” nas duas telas; 9) Selecione os recursos de entrada e saída como na figura a seguir:

Page 19: Tutorial Message Broker com DB2

Tutorial Broker DB2 – C Carvalho e Alexandre J. Batista

Criado em: 11/03/08 Página 19 de 33

Figura 30 - Definindo as mensagens de entrada e saída.

10) Clique em “Finish”. 11) Expanda o conteúdo do que está em “Source”. 12) Em “Map Script”, clique em “$db:select”.

Figura 31 - Criando a cláusula SELECT.

13) Apague o “fn:true()” e arraste o campo “ID” do banco “PORTAL” para o editor de expressões. Coloque o sinal de “=” e, em seguida, araste o campo “id” da mensagem “entrada”.

Page 20: Tutorial Message Broker com DB2

Tutorial Broker DB2 – C Carvalho e Alexandre J. Batista

Criado em: 11/03/08 Página 20 de 33

Figura 32 - Cláusula SELECT completa no editor de expressões.

14) Expanda o “$db:select” e apague a linha que contém um “for”. Ao apagar, selecione “yes” na pergunta que aparecer.

Figura 33 - Linha a ser apagada.

14) Expanda a mensagem “saida” na área “target”. Aqui, vamos realizar o mapeamento em si, ou seja, arrastar quais dados vindos do banco serão colocados em qual tag do XML. Clique no

Page 21: Tutorial Message Broker com DB2

Tutorial Broker DB2 – C Carvalho e Alexandre J. Batista

Criado em: 11/03/08 Página 21 de 33

campo do banco, segure, arraste e solte em cima do correspondente no XML (target), como é mostrado na figura :

Figura 34 - Campos correspondentes no mapeamento.

15) No “Map Script”, clique, segure e arraste a linha “$target” para cima da linha “$db:select”. O “$target” agora está dentro do “$db:select”, como segue na figura. Salve e note que o warning que tínhamos no projeto desapareceu.

Page 22: Tutorial Message Broker com DB2

Tutorial Broker DB2 – C Carvalho e Alexandre J. Batista

Criado em: 11/03/08 Página 22 de 33

Figura 35 - Mensagem de saída como "interna" ao SELECT do banco. 17) Feche esta guia (bkr_db_bkr_Mapping.msgmap). Voltaremos à guia “bkr_db_bkr.msgflow” para finalizarmos o fluxo. 18) Clique com o botão direito no node “Trace” > Properties, complete os campos conforme a figura e clique em “OK” :

Figura 36 - Configuração das propriedades do Trace Node. OBSERVAÇÕES: - O diretório colocado em “File Path” deve existir.

Page 23: Tutorial Message Broker com DB2

Tutorial Broker DB2 – C Carvalho e Alexandre J. Batista

Criado em: 11/03/08 Página 23 de 33

- Copie o conteúdo do campo “Pattern”: --------------- Body -------------------

${Body}

--------------- End Body --------------

--------------- Env ---------------------

${Environment}

--------------- End Env ----------------

--------------- Exception --------------

${ExceptionList}

--------------- End Exc ----------------

19) Repita o passo 18 para os nodes “Trace1” e “Trace2”, mudando o conteúdo do campo “File Path” para “C:\Trace\AfterMapping.txt” e “C:\Trace\AfterOutput.txt”, respectivamente. 20) Na “Pallete”, clique em Connection; Para fazer as conexões entre os nodes, basta clicar na saída desejada, segurar e arrastar ao destino. Faça as conexões de acordo com a seguinte figura:

Figura 37 - Nodes conectados. 21) Salve e feche todas as guias abertas. O fluxo está pronto !!

3.9 Deploy

Page 24: Tutorial Message Broker com DB2

Tutorial Broker DB2 – C Carvalho e Alexandre J. Batista

Criado em: 11/03/08 Página 24 de 33

1) Mude para a perspectiva de administração : Clique no ícone “Open a perspective”destacado na figura > Other. Selecione “Broker Administration” e clique em “OK”.

Figura 38 - Mudando de perspectiva. 2) No canto inferior esquerdo, na guia “Domains”, clique com o botão direito > New > Domain.

Nos três primeiros campos, deve haver respectivamente o nome da Queue Manager do Configuration Manager, o host da Queue Manager do Configuration Manager e a porta da Queue Manager do Configuration Manager, como segue:

Page 25: Tutorial Message Broker com DB2

Tutorial Broker DB2 – C Carvalho e Alexandre J. Batista

Criado em: 11/03/08 Página 25 de 33

Figura 39 - Configurando a conexão do Domain.

3) Clique em Next. Lembre –se que neste momento, para que a conexão seja realizada com sucesso, os serviços realacionados ao Broker e ao Configuration Manager dever estar ativos, assim como os canais entre as Queue Managers do Broker e do Configuration Manager (caso se aplique).

4) Em “Connection Name”, coloque o nome da Queue Manager do Configuration Manager e clique em “Finish”.

Page 26: Tutorial Message Broker com DB2

Tutorial Broker DB2 – C Carvalho e Alexandre J. Batista

Criado em: 11/03/08 Página 26 de 33

Figura 40 - Nomeando a conexão.

Figura 41 - Pou-up para solicitação de confirmação. 5) Clique com o botão direito em “Broker Topology” e siga as imagens:

Figura 42 - Adicionando um Broker ao Domain.

Page 27: Tutorial Message Broker com DB2

Tutorial Broker DB2 – C Carvalho e Alexandre J. Batista

Criado em: 11/03/08 Página 27 de 33

Figura 43 - Adicionando um Broker ao Domain.

6) Clique em “Finish”. OBS: Warnings são normais neste ponto porque não há nenhum dado ainda no Broker. 7) Na guia “Broker Administration Navigator”, clique com o botão direito em “Broker Archives”

e siga as imagens :

Figura 44 - Criando um Broker Archive File.

Page 28: Tutorial Message Broker com DB2

Tutorial Broker DB2 – C Carvalho e Alexandre J. Batista

Criado em: 11/03/08 Página 28 de 33

Figura 45 - Nomeando um Broker Archieve File.

8) Na guia “testeBanco.bar”, clique em “Adicionar”. Marque os checkbox conforme a figura e

clique em “OK”:

Page 29: Tutorial Message Broker com DB2

Tutorial Broker DB2 – C Carvalho e Alexandre J. Batista

Criado em: 11/03/08 Página 29 de 33

Figura 46 - Adicionando Message Set e Message Flow Projects ao BAR.

9) Tenha certeza que nenhum erro ocorreu na adição. O arquivo “.bar” deve ficar como segue:

Figura 47 - Projetos compilados no arquivo BAR.

10) Clique em “testeBanco.bar”, segure e arraste para o execution group “default”

Page 30: Tutorial Message Broker com DB2

Tutorial Broker DB2 – C Carvalho e Alexandre J. Batista

Criado em: 11/03/08 Página 30 de 33

Figura 48 - "Drag and Drop" para facilitar o deploy. 10) Uma janela como a que segue deve aparecer em alguns instantes:

Figura 49 - Resposta do Configuration Manager. 11) Clique duas vezes em “Event Log” e observe as novas entradas. Se todos os passos foram seguidos corretamente, dois novos eventos serão lançados como “information” descrevendo que o deploy foi realizado com sucesso.

Page 31: Tutorial Message Broker com DB2

Tutorial Broker DB2 – C Carvalho e Alexandre J. Batista

Criado em: 11/03/08 Página 31 de 33

Figura 50 - Event Log.

3.10 Teste 1) Popule a tabela “CADASTRO” com dados. Segue um exemplo: INSERT INTO db2admin.CADASTRO(NOME , ENDERECO, TELEFONE) VALUES ('Carina',

'Xavier Curado', '9118');

INSERT INTO db2admin.CADASTRO(NOME , ENDERECO, TELEFONE) VALUES ('Alexandre',

'Xavier Curado', '9118');

INSERT INTO db2admin.CADASTRO(NOME , ENDERECO, TELEFONE) VALUES ('Samuel',

'Xavier Curado', '9118');

INSERT INTO db2admin.CADASTRO(NOME , ENDERECO, TELEFONE) VALUES ('Eduardo',

'Xavier Curado', '9118');

2) Coloque o seguinte XML na fila TESTEBANCO.IN (através do RFHUtil, por exemplo): <?xml version="1.0" encoding="UTF-8"?>

<entrada>

<id>0</id>

</entrada>

3) Em instantes, esta mensagem deve estar na fila TESTEBANCO.OUT. Se todos os passos foram completados com scesso, a saída deve ser como esta:

Page 32: Tutorial Message Broker com DB2

Tutorial Broker DB2 – C Carvalho e Alexandre J. Batista

Criado em: 11/03/08 Página 32 de 33

Figura 51 - Mensagem de saída.

Page 33: Tutorial Message Broker com DB2

Tutorial Broker DB2 – C Carvalho e Alexandre J. Batista

Criado em: 11/03/08 Página 33 de 33

44.. RREEFFEERRÊÊNNCCIIAASS

[IBM 08] http://www.ibm.com/software/integration/wbimessagebroker/

[IBM2 08] http://www.redbooks.ibm.com/abstracts/sg247137.html