Conteúdo


Chamada Dinâmica de Enterprise Information Systems Usando Fluxos de Mediação WebSphere ESB em WebSphere Adapters

Comments

A família IBM® WebSphere® Adapter consiste em diversos adaptadores de tecnologia e de aplicativo baseados na norma JCA 1.5. Esses adaptadores permitem que desenvolvedores de integração integrem diversos tempos de execução -- como WebSphere Application Server, WebSphere ESB e IBM Process Manager -- com vários EIS -- como SAP, Siebel, Oracle, PeopleSoft, JD Edwards, Lotus Domino, bancos de dados JDBC, protocolos FTP/FTPS/SFTP, sistemas de arquivo simples e servidores de email.

WebSphere Adapters são usados no centro da lógica de integração de negócios em vários sistemas de negócios complexos. Sua funcionalidade de saída é usada quando os fluxos de negócios precisam chamar algumas funções de EIS. Em muitos cenários, os Adapters precisam conectar-se a diferentes instâncias de EIS dinamicamente, com base em critérios de roteamento -- como dados de negócios ou condições -- que são conhecidos apenas no tempo de execução. Este artigo oferece uma solução ao desafio enfrentado por usuários de WebSphere Adapter quando a lógica de negócios requer que o aplicativo chame dinamicamente diferentes EIS no tempo de execução. A solução usa fluxos de mediação de WebSphere ESB em uma abordagem "sem código", que reduz a complexidade, duplicação e manutenção.

Cenários de negócios para chamada dinâmica

Aqui estão alguns casos de uso para chamada dinâmica de EIS:

  • Para todos os WebSphere Adapters: Quando o EIS não oferece balanceamento de carga e o cliente quer implementar balanceamento de carga baseado em adaptador.
  • Para todos os WebSphere Adapters: Quando uma instância de EIS está inativa e o aplicativo precisa realizar failover para uma instância diferente dinamicamente.
  • Para WebSphere Adapter para Email: Quando o aplicativo do cliente que está usando o adaptador quer direcionar mensagens de email recebidas para um servidor de correio específico com base em algum valor. Esse recurso é uma limitação com WebSphere JCA Adapter.
  • Para WebSphere Adapter para FTP: Quando o fluxo de mediação precisa conectar-se a diferentes servidores FTP dinamicamente, baseado em quais usuários fazem login.

Limitações com Websphere JCA Adapters

A estrutura atual de WebSphere Adapters não permite configuração de adaptador para conexão dinâmica a diferentes instâncias de EIS. Além disso, a especificação de JCA não tem suporte para conexão dinâmica. Por isso, é difícil para WebSphere Adapters oferecerem esse recurso, e os casos de uso listados acima em "Cenários de negócios para chamada dinâmica" atualmente não podem ser implementados de forma simples. Em vez disso, os usuários precisam desenvolver e implementar várias instâncias de adaptador, o que cria os seguintes problemas:

  • Maior duplicação de ativos e código
  • Maior complexidade da lógica de negócios
  • Maior tempo de desenvolvimento
  • Maior tempo de manutenção

Chamada dinâmica usando WebSphere ESB

WebSphere ESB tem suporte para reencaminhamento de mensagens por meio de substituição dinâmica de terminais com definição estática, ou chamada dinâmica usando uma importação de destino. WebSphere ESB também tem suporte para redirecionamento dinâmico de mensagens de resposta. Quando um módulo de mediação é desenvolvido e implementado, o fluxo de mensagens através do módulo usa informações estáticas. É possível inserir valores fixos descrevendo as importações, ligações e destinos usando WebSphere Integration Developer. Mensagens que passam pelo módulo de mediação usam esses valores.

Em alguns aplicativos, é possível substituir ou alterar alguns desses valores estáticos no tempo de execução. É possível fazer dinamicamente, substituindo um valor especificado para um endereço de terminal, ou selecionando uma nova importação de destino. Nesse caso, o fluxo de mensagem é alterado de acordo com as informações na mensagem. Para obter mais informações, consulte Dynamic invocation no centro de informações de WebSphere ESB. Este artigo explica como é possível chamar dinamicamente EIS usando WebSphere Adapters e o recurso de chamada dinâmica de fluxos de mediação de WebSphere ESB.

Pré-requisitos

  • IBM Integration Developer
  • Conhecimento de trabalho sobre fluxos de mediação
  • Conhecimento de trabalho sobre WebSphere Adapters

Suposições

  • São usados WebSphere Adapter para FTP e sua operação Create.
  • WebSphere Adapter para FTP é implementado no nível de nó de WebSphere Application Server.
  • Diferentes connection factories gerenciados são definidos, cada um referenciado por seu JNDI.

Etapas de chamada dinâmica

As etapas abaixo configuram WebSphere Adapter para FTP para uma operação Create de saída, mas aplicam-se a qualquer configuração de adaptador de saída. Em um cenário normal, FTPImport pode usar apenas um conjunto de propriedades definidas em Managed Connection Factory (MCF). As etapas a seguir mostram como o mesmo FTPImport pode ser usado com diferentes conjuntos de propriedades para se conectar a diferentes servidores FTP dinamicamente.

  1. Arraste e solte FTP Outbound Adapter da paleta para criar um FTPImport usando o assistente External Service. Selecione FTPImport para configurar uma operação Create e insira as propriedades necessárias:
    Figura 1. Criar FTPImport no assistente
    Criar FTPImport no assistente
    Criar FTPImport no assistente
  2. Na paleta, clique em Componentse, em seguida, arraste o componente Mediation Flow para o diagrama de conjunto:
    Figura 2. Criar componente Mediation Flow
    Criar componente Mediation Flow
    Criar componente Mediation Flow
  3. Agora é necessário um novo business object (BO), que assume o nome do JNDI do connection factory gerenciado (MCF). Crie um BO que assume todas as propriedades necessárias para o FTP de saída e o nome do JNDI para o MCF:
    Figura 3. Criar um novo business object
    Criar um novo business object
    Criar um novo business object
  4. Crie uma interface e inclua a operação Request and Response, que tem o BO criado na etapa anterior:
    Figura 4. Criar uma operação Request and Response
    Criar uma operação Request and Response
    Criar uma operação Request and Response
  5. Inclua essa interface no fluxo de mediação e ligue a FTPImport:
    Figura 5. Ligue o fluxo de mediação a FTPImport
    Ligue o fluxo de mediação a FTPImport
    Ligue o fluxo de mediação a FTPImport
  6. Clique duas vezes em Mediation Flow e clique em Operation Map para mapear as operações dessas duas interfaces:
    • A interface de entrada que você criou na Etapa 4
    • A interface criada por FTP Adapter
    Figura 6. Mapear as operações das duas interfaces
    Mapear as operações das duas interfaces
    Mapear as operações das duas interfaces
  7. A Etapa 6 cria um input_map entre as duas operações, como mostra a Figura 7:
    Figura 7. Mapa de medição das duas interfaces
    Mapa de medição das duas interfaces
    Mapa de medição das duas interfaces
  8. Clique duas vezes em input_map para mapear todos os campos necessários de acordo com as necessidades de negócios:
    (Clique aqui para ampliar a imagem.)
    Figura 8. Mapear todos os campos necessários
    Mapear todos os campos necessários
    Mapear todos os campos necessários
  9. Para chamar dinamicamente o EIS, é necessário apenas mapear o campo de endereço de destino em SMOHeader, que está disponível no caminho smo/headers/SMOHeader/Target/address da estrutura em árvore:
    (Clique aqui para ampliar a imagem.)
    Figura 9. Mapear o campo de endereço de destino
    Mapear o campo de endereço de destino
    Mapear o campo de endereço de destino
  10. 10 Com base na entrada fornecida em MCF_JNDI, a solicitação será executando usando esse MCF.
  11. Informe o JNDI do MCF no seguinte formato de URI: jca:jndi:<JNDI of the MCF>.

Exemplos

Aqui estão alguns exemplos que demonstram o uso de JNDI de MCF como parte da solicitação de saída. Nesses exemplos, com um único FTPImport configurado, é possível chamar dinamicamente EIS diferentes por meio da solicitação de saída.

Exemplo 1

Solicitação de saída Create para o MCF referenciado por jca:jndi:jndi/ftp1 usando FTPImport:

Figura 10. Solicitação do Exemplo 1
Solicitação do Exemplo 1
Solicitação do Exemplo 1
Figura 11. Resposta do Exemplo 1
Resposta do Exemplo 1
Resposta do Exemplo 1

Exemplo 2

Solicitação de saída Create para o MCF referenciado por jca:jndi:jndi/ftp2 usando o mesmo FTPImport:

Figura 12. Solicitação do Exemplo 2
Solicitação do Exemplo 2
Solicitação do Exemplo 2
Figura 13. Resposta do Exemplo 2
Resposta do Exemplo 2
Resposta do Exemplo 2

Os dois exemplos acima mostram que, usando apenas um único FTPImport, foi possível enviar solicitações a dois servidores FTP diferentes com base em dois MCFs diferentes jndi/ftp1 e jndi/ftp2

Conclusão

Neste artigo, você aprendeu uma técnica e uma abordagem de solução para chamar dinamicamente EIS diferentes no tempo de execução, usando WebSphere Adapters e fluxos de mediação de WebSphere ESB. Essa abordagem "sem código" permite lidar com os casos de uso listados acima em Cenários de negócios para chamada dinâmica.


Recursos para download


Temas relacionados


Comentários

Acesse ou registre-se para adicionar e acompanhar os comentários.

static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=80
Zone=WebSphere
ArticleID=843446
ArticleTitle=Chamada Dinâmica de Enterprise Information Systems Usando Fluxos de Mediação WebSphere ESB em WebSphere Adapters
publish-date=10302012