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;