Se seu negócio requer o tipo de



Documentos relacionados
Integração Orientada a Serviços

3 Serviços na Web (Web services)

UFG - Instituto de Informática

Service Oriented Architecture (SOA)

Prática da Disciplina de Sistemas Distribuídos Serviços Web IFMA DAI Professor Mauro Lopes C. Silva

IplanRio DOP - Diretoria de Operações GIT - Gerência de Infraestrutura Tecnológica Gerente da GIT

PROJELER. Componentes da Solução Intalio BPMS 5.2. Maurício Bitencourt / mauricio.bitencourt@projeler.com.

Projeto Demoiselle. Para perguntas e respostas, utilizem a lista de discussões de usuários da comunidade: demoiselle-users@lists.sourceforge.

Integração de sistemas utilizando Web Services do tipo REST

Parte I. Demoiselle Mail

IBM Software Demos The Front-End to SOA

Ferramentas unificadas de SOA alinham negócios e TI IDG Research aponta grandes ganhos potenciais a partir de uma solução integrada

Manual de Instalação

Entrar neste site/arquivo e estudar esse aplicativo Prof. Ricardo César de Carvalho

Parceiro Oficial de Soluções Zabbix no Brasil

ENTERPRISE JAVABEANS 3. Msc. Daniele Carvalho Oliveira

Integrações e o ecossistema Java. Fabric8 ao Resgate!

Web Services. Autor: Rômulo Rosa Furtado

UNIVERSIDADE. Sistemas Distribuídos

gerenciamento de portais e websites corporativos interface simples e amigável, ágil e funcional não dependendo mais de um profissional especializado

ABORDAGEM DE FRAMEWORKS PARA JSF QUE AUXILIAM O DESENVOLVIMENTO DE SOFTWARE

O que é o Virto ERP? Onde sua empresa quer chegar? Apresentação. Modelo de funcionamento

Intranets. FERNANDO ALBUQUERQUE Departamento de Ciência da Computação Universidade de Brasília 1.INTRODUÇÃO

SEGURANÇA E GERENCIAMENTO DE APIs. Uma empresa da CA Technologies

Web Services. (Introdução)

Qual servidor é o mais adequado para você?

3 Um Framework Orientado a Aspectos para Monitoramento e Análise de Processos de Negócio

LEIA ISTO PRIMEIRO. IBM Tivoli Configuration Manager, Versão 4.2.1

DELL POWERVAULT SÉRIE MD ARMAZENAMENTO DE DADOS MODULAR ARMAZENAMENTO DE DADOS DELL POWERVAULT SÉRIE MD

Sistemas Integrados de Gestão Empresarial

Governança AMIGA. Para baixar o modelo de como fazer PDTI:

A partir do XMon é possível:

ADMINISTRAÇÃO DE SISTEMAS OPERACIONAIS SERVIÇOS IMPRESSÃO. Professor Carlos Muniz

FileMaker Pro 13. Utilização de uma Conexão de Área de Trabalho Remota com o FileMaker Pro 13

ERP. Enterprise Resource Planning. Planejamento de recursos empresariais

Escolha seu serviço Cloud O melhor do Cloud

Semântica para Sharepoint. Busca semântica utilizando ontologias

Obtendo Qualidade com SOA

FileMaker Pro 14. Utilização de uma Conexão de Área de Trabalho Remota com o FileMaker Pro 14

Etapas e Desafios. plataforma de BPM corporativa. BPMS Showcase Kelly Sganderla Consultora de Processos, CBPP Kelly.sganderla@iprocess.com.

Thalita Moraes PPGI Novembro 2007

Padrões Abertos, Componentização e SOA A chave para a evolução e criação de uma nova geração de sistemas de gestão comercial

AGORA ORACLE AO SEU ALCANCE

QUESTINAMENTOS AO EDITAL DE CONCORRÊNCIA 01/2013

Desenvolvendo Websites com PHP

Plano de Gerenciamento do Projeto

STK (Start Kit DARUMA) Extensão PHP para DarumaFrameWork

Soluções de Gerenciamento de Clientes e de Impressão Universal

Sistemas Distribuídos. Professora: Ana Paula Couto DCC 064

Ferramenta de apoio a gerência de configuração de software. Aluno: Rodrigo Furlaneto Orientador: Everaldo Artur Grahl

INTEGRAÇÃO DE APLICAÇÕES UTILIZANDO WEB SERVICE 1. Kellen Kristine Perazzoli 2 ; Manassés Ribeiro 3

5 Estudo de caso: utilizando o sistema para requisição de material

Manual de Instalação do Agente Citsmart

Anexo VI Edital nº 03361/2008. Projeto de Integração das informações de Identificação Civil. 1. Definições de interoperabilidade adotadas pela SENASP

Web Services. Integração de aplicações na Web. Sistemas Distribuídos

Alfresco Content Management

acoplamento Exprime o grau de conexão entre os módulos; os módulos de um software devemapresentar um baixo coeficiente de acoplamento.

Sistemas Operacionais

INTRODUÇÃO E CONFIGURAÇÃO DO PRIMEFACES MOBILE EM APLICAÇÕES JSF

STK (Start Kit DARUMA) Extensão PHP para DarumaFrameWork

Como sobreviver com Java 2? Saulo Arruda

MANUAL. Perfil de Professor

2 Conceitos relativos a Web services e sua composição

Spring: Um suite de novas opções para Java EE

Sistema Gerenciador de Conteúdo OpenCms: um caso de sucesso no CEFET-MG

Arquitetura Orientada a Serviços (SOA) Copyright e-core LTDA, Todos os direitos reservados.

4 Um Exemplo de Implementação

Serviços Web: Introdução

[ Empowering Business, Architecting IT. ]

Consultoria sobre Joomla!

? O SQL SERVER é um sistema de gerenciamento de banco de dados relacional que foi desenvolvido inicialmente pela Microsoft em parceria com a Sybase.

INTEGRE Diversas fontes de informações em uma interface intuitiva que exibe exatamente o que você precisa

STK (Start Kit DARUMA) Extensão PHP para DarumaFrameWork

Instalando, configurando e utilizando a Área de trabalho remota via Web

Instalação do ByYou ESB. Guia de Instalação e Atualização do ByYou ESB

Online Help StruxureWare Data Center Expert

EXPLORANDO TÉCNICAS E RECURSOS DO GERENCIADOR DE DADOS ABERTOS CKAN. TuaneFaria USP tuanefaria@yahoo.com.br

Sistemas Distribuídos

Soluções Oracle. Serviços Oracle

UFG - Instituto de Informática

Agregador de feeds RSS para dispositivos móveis

Proposta de Avaliação de Empresas para o uso do SAAS

Oracle WebLogic Server 11g: Conceitos Básicos de Administração

FTIN Formação Técnica em Informática Módulo Sistema Proprietário Windows AULA 01. Prof. André Lucio

MODELAGEM DE PROCESSOS

Sistemas Distribuídos

Sistemas Distribuídos na WEB (Plataformas para Aplicações Distribuídas) Sumário. Java 2 Enterprise Edition. J2EE (Java 2 Enterprise Edition)

Líder em Soluções Samba 4 no Brasil

Fase 1: Engenharia de Produto

Desenvolvendo uma Arquitetura de Componentes Orientada a Serviço SCA

Este guia foi escrito para ajudar os administradores de sistema ou qualquer um que usa o Avast Small Office. 1.0 Requisitos do sistema...

FileMaker Pro 12. Utilização de uma Conexão de Área de Trabalho Remota com o

Conceitos Básicos de Rede. Um manual para empresas com até 75 computadores

Satélite. Manual de instalação e configuração. CENPECT Informática cenpect@cenpect.com.br

Programação com acesso a BD. Prof.: Clayton Maciel Costa clayton.maciel@ifrn.edu.br

INT-9: Implementing ESB Processes with OpenEdge and Sonic David Cleary

CONCEITOS INICIAIS. Agenda A diferença entre páginas Web, Home Page e apresentação Web;

Transcrição:

ANÁLISE Ambiente com arquitetura orientada a serviço Ambiente com arquitetura orientada a serviço ANÁLISE Ônibus corporativo Um serviço de Bus corporativo é uma via expressa centralizada para dados em ambientes com arquitetura orientada a servidor. Um bom ESB lida com orquestração, roteamento de mensagens e análise de eventos. por Markus Feilner, Arne Rossmann e Christine König Se seu negócio requer o tipo de configuração no qual múltiplos sistemas se comunicam com múltiplos serviços, sua rede encara o perigo de se transformar em uma arquitetura espaguete ( figura 1 ), onde cada serviço se comunica com outro por meio de uma série de interfaces não similares. Ao chegar a esse estágio, faz sentido pensar na introdução de uma arquitetura orientada a serviços (SOA) [1] e na integração de um serviço de Bus corporativo (ESB, do inglês Enterprise Service Bus ) [2]. As técnicas SOA oferecem um modelo para implementar um processo complexo de negócios por meio de um conjunto de softwares que interagem uns com os outros, trocando informações. Aplicativos de usuários e do fornecedor trocam dados em forma de mensagens SOAP. Essa arquitetura permite que uma empresa adicione e integre novos componentes da arquitetura de software de forma fácil com mudanças mínimas nos componentes existentes. O conceito SOA também oferece um padrão de desenvolvimento que garante a interoperabilidade com serviços em conformidade com a SOA. A tecnologia SOA é muito usada para a integração de serviços diversos usados em cenários corporativos. Um cenário típico pode ser uma solução na qual informações de clientes, produtos, pedidos e entregas estão todas integradas e acessíveis por meio de um ambiente comum de aplicativos. O termo serviço de bus corporativo refere-se normalmente ao componente de software que passa e traduz mensagens entre vários serviços em um ambiente SOA. O ESB forma um componente essencial que geralmente é conhecido por um nome mais genérico, o middleware corporativo. Os sistemas ESB sofisticados de hoje não somente passam mensagens, mas também criam registros de eventos de mensagens e, em alguns casos, oferecem recursos de tradução para permitir que serviços com diferentes formatos de mensagens realizem interconexões de forma transparente. Um ESB pode atuar como uma instância central ( figura 2 ) e remove a necessidade de interfaces independentes múltiplas entre os serviços. Mais e mais companhias estão cientes da relevância de integrar serviços distribuídos em aplicativos corporativos heterogêneos, o que significa que o ESB está em alta. Produtos proprietários, como o WebSphere [3], da IBM, BizTalk [4] da Microsoft, Integration Adapters [5] da Oracle e JBoss [6] da Red Hat competem no mercado com produtos gratuitos como Mule ESB [7], Apache ServiceMix [8] e Talend ESB [9] (antigamente conhecido como Sopera [10] ). O Lisog, que agora é parte da Open Source Business Alliance, deu ao ESB um papel importante em sua solução de nuvem [11] ; no nível do produto, Sopera e Mule são alternativas gratuitas e compatíveis. Implementar um ESB pode ser caro e é uma decisão com consequências de amplo alcance. Mesmo implementações pequenas requerem investimentos de, pelo menos, cinco dígitos, sendo os gastos alocados tanto na programação quanto em um serviço abrangente de consultoria. Todos os fornecedores de ESB defendem que o investimento vale a pena porque torna os sistemas mais fáceis de manter e expandir. No entanto, um gerente de TI ou administrador precisa estar ciente 64 www.linuxmagazine.com.br

Ambiente com arquitetura orientada a serviço ANÁLISE de que a escolha do ESB significa estar comprometido com um produto a longo prazo. A decisão por um fornecedor é difícil de reverter e a mudança futura seria muito cara. Consultores concordam em pelo menos uma coisa: é impossível dar uma recomendação genérica para o produto ESB ideal. Cenários individuais, recursos dos serviços e requisitos do ambiente afetam a escolha. A tabela 1 mostra alguns dos recursos associados com três dos mais populares sistemas ESB de código aberto (Mule ESB, Apache ServiceMix e Talend ESB). Neste artigo, avaliamos de perto as três alternativas mais importantes. Mule ESB O ESB da MuleSoft é o mais popular entre os aplicativos do gênero em código aberto, com mais de 1,5 milhão de downloads e 2,5 mil usuários empresariais. O software é escrito em Java e componentes de sistemas existentes como JMS, serviços web e HTTP podem ser integrados de forma bem simples. Ao mesmo tempo, a MuleSoft gosta de destacar o alto nível de escalonabilidade do Mule ESB, que daria aos usuários a possibilidade de combinar um número maior de aplicativos. O Mule ESB, que é adequado tanto para cenários com SOA quanto com aplicativos embarcados em plataformas centralizadas, usa seu próprio dialeto XML para fins de configuração. O exemplo exibido na listagem 1 mostra a configuração para um aplicativo simples no Mule ESB. O aplicativo recebe um nome e uma URL e, então, exibe um resultado. O código primeiramente configura um namespace para os componentes requisitados. Após um comentário curto em description ( linha 12 ), o aplicativo inicia o fluxo. O Mule indica uma sequência na qual os módulos, como os componentes, são implementados neste fluxo. O ESB Listagem 1: Confi guração do Mule aceita a entrada que chega através de uma URL, como definido pela tag inbound-endpoint (linha 19 ). A entrada de dados é fornecida por meio de um serviço web JAX-WS (API do Java para serviços web XML). O Mule passa essa entrada por um componente echo (org.mule.example. echo.echo ), conforme pode ser visto na listagem 2 e o componente simplesmente dá como saída o nome que foi inserido. Já o Mule Studio permite a visualização do fluxo ( figura 3 ). Os usuários de uma versão comercial podem acessar ferramentas adicionais de integração, como as Native WebSphere MQ e Premium JBDC. Além disso, o console Mule Management permite o controle e gerenciamento de desempenho. Clusterização e implantação são compatíveis na versão 3.2. Os usuários normalmente implantam seu próprio analisador do fluxo de serviços ( Service Flow Analyzer ) para verificar conflitos. O usuário pode, ainda, requisitar suporte adicional, assim como mecanismos adicionais de segurança, como SAML e controles de acesso baseados em recursos de usuários. Apache ServiceMix O Apache ServiceMix é uma solução ESB já utilizada em muitos produtos e organizações de TI. O ServiceMix é baseado na especificação Java Business Integration (JBI) [12], que define um padrão de ar- 01 <?xml version="1.0" encoding="utf-8"?> 02 <mule xmlns=" http://www.mulesoft.org/schema/mule/core " 03 xmlns:cxf=" http://www.mulesoft.org/schema/mule/cxf " 04 xmlns:doc=" http://www.mulesoft.org/schema/mule/documentation " 05 xml ns:spring=" http://www.springframework.org/schema/beans " 06 xmlns:core=" http://www.mulesoft.org/schema/mule/core " 07 xmlns:xsi=" http://www.w3.org/2001/xmlschema-instance " 08 xsi:schemalocation=" 09 http://www.mulesoft.org/schema/mule/cxf http://www.mulesoft.org/ schema/mule/cxf/3.1/mule-cxf.xsd 10 http://www.springframework.org/schema/beans http://www. springframework.org/schema/beans/spring-beans-3.0.xsd 11 http://www.mulesoft.org/schema/mule/core http://www.mulesoft. org/schema/mule/core/3.1/mule.xsd "> 12 <description> Essa configuração constrói um serviço JAX-WS com CXF. Nós usamos uma "serviceclass"que é interface JAX-WS 13 que definimos. Isso permite que se garanta que o WDLS 14 só é gerado para o método "echo" (em oposição a todos os outros métodos no EchoComponente). 15 Isso mantém nosso WSDL limpo e elegante, mas não é requisitado. 16 Para acionar o serviço Echo vá à URL - http://localhost:65082/ services/echoumo/echo/text/hello 17 Para visualizar o WSDL para o serviço Echo vá para http:// localhost:65082/services/echoumo?wsdl </description> 18 <flow name="echoflow"> 19 <core:inbound-endpoint address=" http://localhost:65082/services/ EchoUMO " 20 exchange-pattern="request-response" doc:name="generic" 21 doc:description="generic endpoint specified by address URI"/> 22 <cxf:jaxws-service serviceclass="org.mule.example.echo. Echo" 23 doc:name="soap" 24 doc:description="torne um serviço web disponível via CXF"/> 25 <component doc:name="component" doc:description="invoke a Java component"> 26 <singleton-object class="org.mule.example.echo.echo"/> 27 </component> 28 </flow> 29 </mule> Linux Magazine #87 Fevereiro de 2012 65

ANÁLISE Ambiente com arquitetura orientada a serviço quitetura tão útil para ferramentas Java quanto para ESB. A arquitetura abrange uma coleção de componentes para fornecer ou consumir serviços, sendo que pontos de integração são implementados como plugins. O Apache ServiceMix implementa a versão 1.0 (JSR 208) da especificação JBI e inclui uma série de componentes, sendo que os mais importantes são: servicemix-bean : utiliza POJOs ( Plain Old Java Objects ) servicemix-eip : mecanismo de serviço que inclui uma implantação de roteador alinhada com o EIP ( Enterprise Integration Patterns ) servicemix-file : acesso a sistema de arquivos servicemix-http : acesso a serviços SOAP e HTTP servicemix-jms : acesso a implementações JMS como o Apache Active MQ Um exemplo simples de um copiador automático de arquivos mostra como administradores trabalham com o Apache ServiceMix. Se você quer que o copiador mantenha cópias de arquivos de um diretório ( /home/ servicemix/input ) para outro diretório ( /home/servicemix/output ), é necessário primeiro criar um novo diretório para o projeto e, depois, editar o arquivo pom.xml para configurar o Maven [13], uma ferramenta de gerenciamento do projeto Apache. O seguinte comando cria a unidade de serviço: mvn archetype:create- DarchetypeArtifactId=servicemix- service-unit- DarchetypeGroupId=org.apache. servicemix.tooling- DartifactId=tutorial-file-su Então, é necessário adicionar as dependências do Apache Service- Mix no arquivo pom.xml (listagem 3 ). Agora só falta a configuração para os endpoints do arquivo. Será necessário algo para enviar os arquivos e algo para criar um pool deles. A listagem 4 oferece um exemplo do arquivo obrigatório xbean.xml onde tudo o que você precisa fazer é agrupar o resultado em um serviço: mvn archetype:create- DarchetypeArtifactId=servicemix- service-assembly- DarchetypeGroupId=org.apache. servicemix.tooling- DartifactId=tutorial-sa Em seguida, mude o nome do projeto no arquivo pom.xml e adicione as dependências na unidade de serviço ( Service Unit listagem 5 ). Para uma implementação eficiente, mude para o diretório com um modelo de projeto, tutorial-sa, e emita um comando mvn install para construir o projeto. Isso gera um arquivo ZIP, que pode ser copiado para o diretório $SERVICE- MIX_HOME/hotdeploy. Para mais detalhes sobre o ServiceMix do Apache, confira a documentação do ServiceMix [14]. A variante corporativa do Apache ServiceMix leva o nome de Fuse ESB e é comercializada pela FuseSource [15]. A edição corporativa oferece recursos extras e também inclui o Fuse Message Broker (baseado no Apache Active MQ), o Fuse Medidation Router (que usa o Apache Camel [16] ) e o Fuse Service Framework (com Apache CXF). Figura 1 Se cinco serviços precisam se comunicar um com o outro, o resultado é um tipo de arquitetura espaguete. No pior cenário, o departamento de TI tem que programar e manter cada conector dentro de casa. Figura 2 Um ESB atua como um caminho central para que as mensagens passem entre os serviços. 66 www.linuxmagazine.com.br

Ambiente com arquitetura orientada a serviço ANÁLISE Os desenvolvedores também usam o Fuse IDE como um ambiente integrado de desenvolvimento e a interface gráfica Fuse HQ para gerenciar e monitorar o ESB. Se você estiver interessado, o Fuse Soft também oferece suporte e treinamento. Talend ESB O Sopera ASF é uma plataforma de integração orientada a serviço desenvolvida para a integração de projetos no Deutsche Post AG. O fornecedor oferece o software de código aberto desde 2008. Em novembro de 2010, a Talend comprou a Sopera e, agora, continua o projeto sob o rótulo Talend ESB. A ferramenta tem uma estrutura modular: ela integra aplicativos de terceiros, processos, dados e soluções SOA dentro de seu próprio SOA, suportando tanto padrões básicos como SOAP, WSDL e XML, assim como padrões mais abrangentes, como UDDI, WS Policy e BPEL. Outra variante do SOA associada com o Talend ESB é o Apache Camel. O framework de integração de código aberto Camel suporta EIP para negociar regras de mediação. Uma vez que o framework é baseado em URLs simples, os administradores podem trabalhar com quase qualquer modelo de transporte, como HTTP, JMS (Active MQ ou outra implementação JMS) ou JBI. Os usuários podem trabalhar em rede com Talend ESB em ambientes Java e Microsoft, e combinar os dois por meio de um framework SOA padronizado. Para essa finalidade, o Talend ESB suporta os padrões Java J2SE, J2EE e a API Windows Communication Foundation (WCF) no framework.net 3.0. O Talend ESB usa uma arquitetura distribuída e pode ser implementada em ambientes distribuídos e geograficamente separados. Nesse contexto, distribuído também significa que um Bus centralizado não é essencial. Em vez disso, as funções são executadas em bibliotecas backbone de serviços. O exemplo a seguir mostra como um aplicativo SOA é projetado em Talend ESB. Esse exemplo usa um serviço web para simplesmente mostrar qualquer entrada de dados ( echo ). Um cliente alimenta o serviço com dados e o provedor oferece o serviço. Existe um tutorial detalhado sobre essa configuração no endereço [17]. Para criar um cliente, você primeiro precisa de uma nova tarefa. Então, você pode proceder com a definição de uma entrada de dados simulados por meio do componente FixedFlowInput e transformar isso em uma mensagem XML por meio do txmlmap. A mensagem é, então, alimentada para o tesbconsumer, que dispara a chamada de serviço para Listagem 2: Componente Echo 01 @WebService 02 public class Echo 03 { 04 @WebResult(name="text") 05 public String echo(@webparam(name="text") String string) 06 { 07 return string; 08 } 09 } Listagem 3: pom.xml 01 <dependencies> 02 <dependency> 03 <groupid>org.apache.servicemix</groupid> 04 <artifactid>servicemix-file</artifactid> 05 <version>${servicemix-version}</version> 06 </dependency> 07 </dependencies> Listagem 4: xbean.xml 01 <beans xmlns:file=" http://servicemix.apache.org/file/1.0 " 02 xmlns:tut="urn:servicemix:tutorial"> 03 <!-- add the sender endpoint here --> 04 <!-- add the poller endpoint here --> 05 </beans> 06 <file:sender service="tut:file" 07 endpoint="sender" 08 directory="file:/home/servicemix/output" /> 09 <file:poller service="tut:file" 10 endpoint="poller" 11 file="file:/home/servicemix/input" 12 targetservice="tut:file" 13 targetendpoint="sender"/> Listagem 5: pom.xml 01 <project> 02 [...] 03 <dependencies> 04 <dependency> 05 <groupid>org.apache.servicemix.tutorial</groupid> 06 <artifactid>tutorial-file-su</artifactid> 07 <version>1.0-snapshot</version> 08 </dependency> 09 </dependencies> 10 [...] 11 </project> Linux Magazine #87 Fevereiro de 2012 67

ANÁLISE Ambiente com arquitetura orientada a serviço o provedor ESB. Novamente, você pode configurar o arquivo de linguagem WSDL ( Web Service Definition Language ) requisitada para isso. Tudo o que você precisa agora é de um provedor com dois componentes ESB: um que aceite a requisição e outro que retorne a resposta. Novamente, você precisa de uma tarefa para o fornecedor. Os dois componentes são combinados por um tlogrow, de forma que o fluxo de dados entre eles seja exibido na linha de comando. O tesbproviderrequest tem que ser configurado usando o mesmo arquivo WSDL que o cliente acabou de criar. Então, é possível iniciar o provedor para os serviços requisitados. Para tanto, vá à aba Start na parte inferior da área de trabalho. O cliente recebe, então, o comando para iniciar usando o mesmo mecanismo. A edição corporativa do Talend ESB também suporta a integração de plugins comerciais adicionais. Pacotes opcionais permitem aos usuários implementar o Sopera ESB.NET, Sopera BPM, Sopera Application, Data Integration e Sopera HQ (gerenciamento de sistema e serviço). O fornecedor também suporta ambientes runtime comerciais. A versão corporativa é sujeita a uma licença separada. O que faz da edição corporativa do Talend ESB interessante é a cooperação aprimorada entre equipes administrativas por meio do repositório Talend e o console administrativo uniforme para gerenciamento centralizado das atividades e localização dos serviços. Comunidades, suporte e IDEs Os três fornecedores de ESB possuem comunidades bem ativas, embora a maior seja, sem dúvidas, a do Mule, onde membros da comunidade oferecem suporte útil, extensões e I-Beans que eles mesmo programaram. O repositório Git do Mule contém muitos plugins. Mule ESB Apache ServiceMix Versão atual 3.12 4.30 Licença Community edition (CPAL) e Enterprise edition com suporte comercial Licença Apache 2.0 Arquitetura Java, centralizada Java, centralizada Comunidade Suporte Sistemas operacionais suportados Servidor de aplicação suportado Suporte de linguagens para serviços/dispositivos Suporte de desenvolvimento Comunidade ativa Muleforte, com extensões, I-Beans, fóruns e listas de correio Pessoa de contato, atualizações de software, suporte 8/5 ou 24/7, suporte, service packs Linux, Windows, Solares, AIX, HP-UX, Mac OS X Geronimo, Jboss, WebLogic, WebSphere, Oracle, Sun One, Tcat, Tomcat, Resin, Jetty, Framework Spring Groovy, Java, JavaScript, Jaxen, Jython (Python), JRuby, JXPath O desenvolvimento suporta Eclipse Mule IDE, Mule Studio, Profi ler, Japex, Data Integrator IDE, Ant, Maven Fórum ativo, listas de correio Fóruns de discussão, suporte 8/5 ou 24/7, service packs Windows XP e 2000, Solaris, HP-UX, Linux, Mac OS X Geronimo, Jboss, Jonas Java, Groovy, JRuby, Rhino, JavaScript Console web para desenvolvimento de componentes JBI Gerenciador de processo de negócios JBPM, BPEL BPEL (Apache ODE), Bpm-Script Monitoração Gerenciamento e monitoração, correção do gerenciamento, ferramentas de migração JMX, Ant Tasks Disponibilidade Persistência de mensagem Transações Alta disponibilidade e resistência a falhas, políticas de repetição de tentativas para autocorreção da conectividade Filas de VM persistentes (fi las internas do SEDA forçam a persistência) Independente de transporte (por exemplo, JDBC, XA, JMS, reconhecimento de mensagens, transações de múltiplos recursos) Tabela 1 Resumo dos três fornecedores de ESB de código aberto. Alta disponibilidade e clusterização de contêineres JMS, JDBC JMS, JCA 68 www.linuxmagazine.com.br

Ambiente com arquitetura orientada a serviço ANÁLISE Após a aquisição da Sopera pela Talend, os usuários agora se beneficiam de uma comunidade muito forte. Uma comunidade bastante ativa cresce em torno do Talend Open Studio, com comunicação intensa por fóruns e muito trabalho de desenvolvimento oferecido pelos membros. Embora uma comunidade exista para o Apache ServiceMix ou Fuse ESB, ela não possui o mesmo grau de movimentação das concorrentes. Os três fornecedores oferecem versões corporativas. Os clientes podem escolher entre diversos modelos com diversos recursos. Corporações tendem a optar pela versão Enterprise TalendESB (Sopera) 4.21 Licença pública Eclipse (Community edition); anteriormente licença Sopera (Enterprise edition) Java, sob demanda, distribuída Fórum, blog, seminários online Telefone, help desk, atualizações gratuitas, service packs Windows XP, Vista e Server 2003, Solaris, Linux Geronimo, Jboss, WebLogic, WebSphere, SAP NetWeaver, Tomcat, Jetty Java,.NET Kit de ferramentas próprio (Eclipse) Sopera BPM (baseado em Intalio BPM), Apache ODE, SAG, webmethods BPMS Eclipse, interface de gerenciamento para o Service Registry, JMX, arquitetura distribuída Sopera HQ das ferramentas com suas garantias de suporte, principalmente em se tratando de aplicativos de missão crítica. Nesse caso, a organização de TI da companhia não precisa depender da comunidade em casos de desastre. Os três fornecedores também oferecem suporte de desenvolvimento. Além do Mule IDE, que é baseado em Eclipse, o MuleSoft tem agora o Mule Studio em seu portfólio. O Mule Studio dá aos programadores a capacidade de modelar fluxos graficamente e configurar os componentes, como uma conexão JDBC. Esse componente gráfico torna possível a definição de um fluxo genérico em um curto período de tempo. Apesar disso, os desenvolvedores podem se concentrar em integrar os componentes requisitados. Seguindo a aquisição da Sopera pela Talend, a versão 4.2 agora tem uma ferramenta gráfica que permite aos administradores integrar seu SOA. Isso dá aos usuários uma interface gráfica, assim como fazem as ferramentas mais familiares Talend Open Studio e Data Profiler, que oferecem a possibilidade de arrastar componentes em um tipo de quadro onde eles podem ser combinados e configurados. Programadores podem, assim, se concentrar em desenvolvimento puro de componentes Java. O Fuse também oferece uma ferramenta que dá aos usuários um espaço de trabalho gráfico onde eles podem arrastar, vincular e configurar componentes no formato do Fuse IDE. Todas as soluções são baseadas em Eclipse. Concorrentes: IBM, Red Hat e Microsoft Os concorrentes proprietários servem a grupos muito diferentes. Os usuários sempre podem encontrar ajuda em fóruns, grupos de usuários, blogs, webcasts e wikis. O BizTalk, da Microsoft, é mais apropriado para clientes que já tem soluções da empresa, pois está disponível somente na plataforma Windows. A plataforma SOA da Red Hat, JBoss, cria uma API proprietária e é vendida como uma solução stand-alone sem Tomcat ou middleware similar. Suas forças estão no setor de mensagens. O WebSphere, da IBM, é uma das soluções mais caras, mas que consegue oferecer aos clientes pagantes respostas para quase qualquer problema. ESBs de código aberto: algo para todo mundo Cada uma das três soluções ESB abordadas tem seus benefícios e uma versão corporativa com suporte do fornecedor. Os clientes podem escolher entre diversos modelos com diversos níveis de disponibilidade. Os fornecedores não oferecem suporte para as edições comunitárias, mas contam com comunidades movimentadas. Arquitetura distribuída JMS JMS, JDBC Figura 3 Um exemplo simples de um aplicativo no Mule Studio. Linux Magazine #87 Fevereiro de 2012 69

ANÁLISE Ambiente com arquitetura orientada a serviço O Mule ESB oferece as vantagens de uma grande comunidade. Além disso, conta com muitos conectores para serviços de nuvem, como o Salesforce, Amazon Web Services ou Twitter. Isso facilita a tarefa de desenvolver soluções ESB que acessam serviços web algo interessante levando em consideração que a integração dos serviços baseados em nuvem com aplicativos legados pode se tornar mais importante no futuro. Em contraste, a Talend oferece um IDE muito intuitivo para a programação de sua própria solução baseada em ESB. A Talend ampliou seu portfólio para incluir uma solução ESB e está gradualmente chegando perto do Mule. O Apache ServiceMix e Fuse ESB possui uma curva de aprendizado maior se comparado aos outros fornecedores, sendo assim, próprios para desenvolvedores experientes. As principais vantagens desses programas é a excelente interoperabilidade com outros projetos Apache relevantes, como o Active MQ, Camel ou CXF. Além disso, o OSGi ( Open Services Gateway Initiative [18] ) criou uma base atemporal para uma plataforma de integração baseada em um padrão reconhecido. Quadro 1: Análises de ESB As empresas de pesquisas de mercado Forrester e Gartner investigaram de forma constante os ESBs em anos recentes. Os melhores produtos são destacados como líderes e os de desempenho mais forte também são recomendados. Os bons fornecedores de acordo com a Gartner são corporativos que têm soluções ou tecnologias inovadoras no portfólio e cujo uso tem alguma infl uência no usuário fi nal. Dito isso, os candidatos podem pontuar de 0 (muito fraco) a 5 (muito forte) para cada característica na pesquisa. Uma visão geral dos resultados: Fuse ESB 4.0 baseado no Apache ServiceMix foi listado como líder no estudo de 2011 da Forrester. Sua orquestração ganhou 5 pontos, a arquitetura fi cou com 4.88 e as conexões com 4.70. O BizTalk fi cou como líder em 2010 de acordo com a Forrester. O analista investigou o BizTalk Server 2010 e o ESB Toolkit. O BizTalk alcançou um bom valor de 5 na categoria Estratégia. A IBM também foi citada como líder em 2011 pelos seus produtos WebSphere Enterprise Service Bus Registry Edition (WESBRE) e WebSphere Message Broker (WMB). O IBM WebSphere Enterprise Service Bus (WESB) garantiu um lugar na categoria de forte desempenho. O levantamento da Forrester vê o Mule ESB 3 como de forte desempenho. Seus principais benefícios são conexões 5.0, arquitetura (4.70) e mudança e controle (4.47). A plataforma SOA JBoss 5.0.2 foi listada como de forte desempenho pela Forrester com notas de 3.98 para mediação, 3.37 para mudanças e controle de 3.33 para conexões. O Gartner citou o Sopera como um bom fornecedor no quesito plataforma e integração em 2010. Gostou do artigo? Queremos ouvir sua opinião. Fale conosco em cartas@linuxmagazine.com.br Este artigo no nosso site: http://lnm.com.br/article/6435 Mais informações [1] SOA: http://en.wikipedia.org/wiki/ Service -oriented_architecture [2] ESB: http://en.wikipedia.org/ wiki/enterprise_service_bus [3] IBM WebSphere: http://www -01.ibm. com/software/decision-management/ operational-decision-management/websphereoperational-decision-management/ [4] Microsoft BizTalk: http://www.microsoft. com/biztalk/en/us/default.aspx [5] Adaptadores de integração da Oracle: http:// www.oracle.com/technetwork/middleware/ adapters/overview/index.html [6] Plataforma SOA JBoss Enterprise: http://www.jboss.com/ [7] MuleSoft: http://www.mulesoft.org/ [8] Apache ServiceMix: http:// servicemix.apache.org/ [9] Talend: http://de.talend.com/products - application-integration/index.php [10] Sopera: http://www.sopera.de/en/ [11] Levantamento da Forrester Research: http://www.oracle.com/us/corporate/ analystreports/infrastructure/forrester - wave-esb-q2-2011-395900.pdf [12] JBI: http://en.wikipedia.org/wiki/ Java_Business_Integration [13] Apache Maven: http://maven.apache.org/ [14] Guia de iniciantes para Apache Service-Mix: http://servicemix.apache.org/2 -beginnerusing-maven-to-de-velop-jbi-applications.html [15] FuseSource: http://fusesource.com/ [16] Apache Camel: http://camel.apache.org/ [17] Tutorial do Talend ESB tutorial: http://www. talendforge.org/tutorials/tutorial. php?language=english&idtuto=94 [18] Iniciativa Open Services Gateway: http://www.osgi.org/ 70 www.linuxmagazine.com.br