Esse artigo faz parte da revista Java Magazine edição 59. Clique aqui para ler todos os artigos desta edição

AN style="FONT-SIZE: 10pt; BACKGROUND: white; COLOR: red; FONT-FAMILY: Verdana; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial">

aplicações corporativas através de uma ferramenta especializada.

 

Para que serve:

Mostrar que o uso de uma ferramenta de EAI pode facilitar muito a vida de um desenvolvedor ou de uma empresa e é muito mais simples do que realizar a integração “manualmente”.

 

Em que situação o tema é útil:

O tema é importante para qualquer um que deseje entender um pouco mais sobre EAI. A ferramenta apresentada é muito poderosa e apenas uma pequena parte de sua funcionalidade foi abordada.

 

EAI na prática – Resumo Devman:

Dentro de uma ferramenta de EAI, existe uma série de técnicas que podem ser utilizadas para integração de aplicações corporativas. Para realizar a transformação de dados, o WLI dispõe do padrão MFL (Message Format Language). Através desse padrão, configuramos o formato da mensagem através da ferramenta Format Builder e, quando recebida, ela é convertida em um objeto Java que especializa a superclasse MflObject. Com isso, a mensagem pode ser tratada como XML, ou convertida para esse formato e participar de transformações através de XQuery.

Para efetuar a comunicação, utilizamos o controle HttpControl que abstrai as complexidades da realização de comunicação através do protocolo HTTP.

 

Neste artigo conheceremos a ferramenta BEA WebLogic Integration. O WebLogic Integration (ou  simplesmente WLI) permite realizar a integração de aplicações e a transformação de dados de forma simples via mapeamento visual de processos. Através dos elementos nativos do WLI, podemos realizar integrações complexas em minutos, sem que o desenvolvedor perca o foco no negócio, deixando para a ferramenta os requisitos não funcionais e as complexidades de uma integração entre sistemas heterogêneos.

Integração de Aplicações Corporativas (EAI)

Realizar integração entre sistemas corporativos é uma tarefa muito complexa e propensa a erros. Quando essa tarefa é realizada através da codificação da integração partindo “do zero”, esse cenário fica ainda mais nebuloso. As dificuldades incluem aspectos como conectividade, protocolos, formato e transformação de dados, segurança, transações distribuídas e processos de longa duração.

Quando desenvolvedores de aplicações são alocados para codificar integrações, perderão mais tempo lidando com os requisitos não-funcionais e infra-estrutura para o desenvolvimento do que com as regras de negócio. Esse é o pior cenário possível, já que a maioria desses desenvolvedores não estarão preparados para lidar com tamanha complexidade e, com certeza, serão menos produtivos do que poderiam, sem mencionar o reuso e a qualidade do que será produzido que, na maioria das vezes, será prejudicada.

Para evitar a codificação de uma integração complexa “do zero”, a solução é utilizar uma ferramenta com foco em facilitar e prover a infra-estrutura necessária.

WebLogic Integration

O WLI é uma plataforma que visa facilitar a integração entre sistemas através de mapeamento de processos de forma visual, transformação de dados, mensageria e diversos outros recursos.

O WLI provê opções comuns à maioria dos cenários de integração entre sistemas:

·         Web Services;

·         Mensageria;

·         Arquivos e FTP;

·         Formatos estruturados como CSV, EDI, etc;

·         Ativação via Eventos;

·         Transações distribuídas;

·         Java Connector Architecture;

·         Interação humana;

·         Entre outros.

 

Ao prover opções comuns a todos os tipos de integração, o WLI fornece uma base interessante, permitindo que o desenvolvedor foque no que ele deve realmente fazer: traduzir regras de negócio para código e deixe com a ferramenta as complexidades da infra-estrutura.

Flexibilidade na integração

Como já foi mencionado, o WLI trabalha através do mapeamento visual de processos. Por trás do mapeamento visual, é gerado código Java e é possível adicionar código customizado ao que é gerado automaticamente. Isso dá uma enorme flexibilidade ao desenvolvedor e também reduz bastante a curva de aprendizado, já que o desenvolvedor irá utilizar simplesmente Java.

Todas as configurações do processo ficam armazenadas em um único arquivo: a classe Java que, através de anotações (padrão da linguagem), se transforma em um processo dentro do WLI. Isso facilita muito o gerenciamento das configurações, pois não existem extensos arquivos XML. Tudo fica contido em um único lugar: o código-fonte de uma classe java.

Construído sobre uma base sólida

Os processos do WLI são Enterprise JavaBeans. Através disso, o WLI aproveita toda a base sólida do WebLogic Server (WLS), sobre a qual ele executa, herdando os recursos de clustering, mensageria, transações e segurança providos pelo servidor de aplicações.

Ao executar os processos de integração sobre um servidor de aplicações, temos a garantia de escalabilidade e disponibilidade, algo importante para tarefas de integração de missão crítica.

Outra vantagem da ferramenta é que ela é inteiramente baseada na IDE Eclipse 3, o que também reduz a curva de aprendizado necessária para que o desenvolvedor comece a produzir. Além disso, as transformações utilizam XQuery que, além de ser um padrão aberto, é muito robusto para manipulação e mapeamento de dados e mais performático e flexível do que XSLT.

Funcionamento e arquitetura

Nesta seção entenderemos melhor o funcionamento e arquitetura de uma ferramenta de EAI, com foco na que estaremos apresentando.

Entendendo o que é um processo de integração

No WLI, sempre criamos processos de integração. Esses processos geralmente receberão dados, efetuarão alguma transformação nesses dados e os enviarão para um ou mais destinos, recebendo um possível retorno ou efetuando outra transformação.

Quando realizamos isso, estamos efetivamente criando um serviço de integração que, dentro do WLI, é denominado Java Process Definition (JPD). Um JPD é uma coleção de nós que representam os estágios (também chamados de passos ou nós) do processo. A lógica de todo o processo é modelada de maneira gráfica, o que proporciona boa visibilidade do que é necessário para o processo ser concluído. Um exemplo simples de processo de integração poderia ser:

1.      O processo é iniciado;

2.      Os dados são convertidos e associados a uma variável local do processo;

3.      Fazemos conexão e enviamos dados a um sistema externo;

4.      Recebemos uma resposta;

5.      Validamos a resposta recebida;

6.      Transformamos a resposta recebida em algo que o cliente espera receber;

7.      Devolvemos a resposta transformada para o cliente.

 

Nesse exercício, podemos dizer que cada um dos sete passos é um nó ou estágio do processo.

Executando o processo de integração

Para entrar em operação, um JPD pode ser invocado de três formas. Elas são as seguintes:

·       Web Service: todo processo no WLI disponibiliza uma interface SOAP para sua invocação. Isso permite que o processo possa ser invocado por aplicações executando em servidores distintos, e mesmo de outras plataformas que tenham suporte a SOAP, como Python ou .NET. Além disso, através do suporte nativo a web services, um processo se encaixa naturalmente a uma arquitetura orientada a serviços (SOA), onde EAI é uma parte essencial; ...

Quer ler esse conteúdo completo? Tenha acesso completo