Free Enterprise Service Bus

Embed Size (px)

Text of Free Enterprise Service Bus

  • ADMINISTRACIN Free Interprise Service Bus

    52 Nmero 85 W W W . L I N U X - M A G A Z I N E . E S

    Si una empresa necesita un tipo de

    configuracin en la cual mltiples

    sistemas tienen que comunicarse

    con mltiples servicios, la red tendr que

    enfrentarse al peligro de convertirse en

    una arquitectura tipo espagueti (Figura 1),

    en la que cada servicio se comunica con

    cada uno de los otros por medio de un

    intrincado sistema de interfaces dife-

    rentes.

    Cuando se llega a este estado, es conve-

    niente pensar en introducir una arquitec-

    tura orientada al servicio (SOA) [1] e inte-

    grar un bus de servicio empresarial (ESB)

    [2]. Las tcnicas basadas en SOA propor-

    cionan un modelo para implementar pro-

    cesos de negocio complejos como una

    coleccin de aplicaciones software inter-

    activas las cuales se pasan la informacin

    las unas a las otras. Las aplicaciones Con-

    sumidoras y las aplicaciones Productoras

    comparten datos en la forma de mensajes

    SOAP. Esta arquitectura permite que una

    empresa aada e integre fcilmente com-

    ponentes nuevos de la infraestructura

    software con mnimos cambios en los

    componentes existentes. El modelo SOA

    tambin ofrece un estndar de desarrollo

    para asegurar la interoperabilidad de los

    servicios compatibles con SOA.

    La tecnologa SOA se usa ampliamente

    en la integracin de los diversos servicios

    clientes en el escenario de negocio empre-

    sarial que pasan y traducen los mensajes

    entre diversos entornos SOA. ESB es un

    componente esencial de lo que tpica-

    mente se conoce como middleware

    empresarial.

    Los sistemas ESB sofisticados de hoy en

    da no slo pasan los mensajes, sino que

    registran los eventos de los mensajes y, en

    algunos casos, proporcionan sistemas de

    traduccin extendidos para los diversos

    formatos de mensajes para poder comuni-

    carse de forma transparente. Un ESB

    puede actuar como una instancia central

    (Figura 2) y eliminar la necesidad de tener

    mltiples interfaces independientes entre

    los servicios.

    Cada vez ms y ms empresas se estn

    dando cuenta de la relevancia de integrar

    servicios distribuidos en aplicaciones

    empresariales heterogneas, lo que

    implica que el negocio de los ESB se

    encuentra en auge. Los fabricantes de pro-

    ductos propietarios tales como IBM WebS-

    phere [3], Microsoft BizTalk [4], Oracle

    Integration Adapters [5] o Red Hat Jboss

    Enterprise SOA Platform [6] compiten en

    este mercado con productos libres tales

    como Mule ESB [7], Apache Service Mix

    [8] y Talend ESB [9] (anteriormente

    Sopera [10]).

    Lisog, que ahora forma parte de Open

    Source Business Alliance, le dio a ESB un

    papel importante en su arquitectura de

    nube [11]. A nivel de producto, Sopera y

    Mule son alternativas equivalentes y

    libres.

    La puesta en marcha de ESB puede ser

    cara y es una decisin con consecuencias

    a largo alcance. Incluso en configuracio-

    nes pequeas se requiere una inversin

    en una escala de cinco cifras, con gastos

    por igual tanto en programacin como en

    consultora.

    Todos los fabricantes de ESB proclaman

    que la inversin vale la pena, ya que hace

    que el sistema sea ms simple de mante-

    ner y extender. Sin embargo, un director

    de IT o un administrador tienen que ser

    conscientes de que la eleccin de un ESB

    significa un compromiso a largo plazo con

    el producto porque es difcil y caro para la

    Ale

    xey Z

    aro

    do

    v, 1

    23R

    f

    El Bus GratuitoUn Bus de Servicio Empresarial (ESB) es una autopista centralizada

    para los datos en entornos con arquitecturas orientadas al servicio. Un

    buen ESB se encarga de la orquestacin, del enrutamiento de los men-

    sajes y del anlisis de los eventos. Vamos a presentar tres opciones

    libres de ESB. POR ARNE ROSSMANN, CHRISTINE KNIG Y

    MARKUS FEILNER.

    Figura 1: Si cinco servicios necesitan comu-

    nicarse los unos con los otros, el resultado

    es una clase de arquitectura con forma de

    espagueti. En el peor de los casos, el depar-

    tamento TI de la empresa tendr que progra-

    mar y mantener cada conector.

    Construyendo un entorno con arquitectura orientada alservicio con un Bus de Servicio Empresarial.

  • empresa volverse atrs una vez que se

    haya realizado el cambio.

    Los consultores estn de acuerdo al

    menos en una cosa: es imposible dar una

    recomendacin genrica del producto ESB

    ideal. Los escenarios individuales, las

    capacidades de los servicios y los requeri-

    mientos de los entornos de los servicios

    afectan a la eleccin.

    La Tabla 1 muestra algunas caractersti-

    cas asociadas con los tres sistemas ESB

    ms populares de cdigo abierto (Mule

    ESB, Apache Service Mix y Talend ESB).

    En este artculo, vamos a repasar con ms

    detalle estas alternativas ESB.

    Mule ESBEl sistema ESB de MuleSoft es el ms

    popular de entre las aplicaciones ESB de

    cdigo abierto, con ms de 1.5 millones

    de descargas y 2.500 usuarios empresaria-

    les. Mule ESB est programado en Java y

    los sistemas existentes con componentes

    JMS, servicios web y HTTP se pueden

    integrar fcilmente. Al mismo tiempo,

    MuleSoft indica que posee un alto nivel de

    escalabilidad, lo que permite a los usua-

    rios la posibilidad de combinar un gran

    nmero de aplicaciones.

    Mule ESB, que es apropiado tanto para

    escenarios SOA como para aplicaciones

    incrustadas de plataformas centralizadas,

    utiliza su propio dialecto XML para prop-

    sitos de configuracin. En el ejemplo del

    Listado 1, se muestra la configuracin

    para una aplicacin simple de Mule ESB.

    La aplicacin recibe un nombre en una

    URL y luego, muestra la cadena.

    El primer cdigo establece el espacio de

    nombres para el componente. Luego, tras

    un breve comentario en description (lnea

    12), la aplicacin abre el flujo. Mule deno-

    mina flujo a una secuencia en la que los

    mdulos tales como los componentes, se

    despliegan. En este flujo, ESB acepta la

    entrada proveniente de la URL, definida

    por la etiqueta bound-endpoint (lnea 19).

    La entrada es proporcionada por un

    servicio web JAX-WS (Java API para

    XML Web Services), Mule se la pasa al

    componente hecho programado interna-

    mente org.mule.example.echo.Echo del

    Listado 2 y el componente simplemente

    Free Interprise Service Bus ADMINISTRACIN

    53Nmero 85W W W . L I N U X - M A G A Z I N E . E S

    Figura 2: Un ESB acta como sistema de

    comunicacin central para el paso de men-

    sajes entre los servicios.

    Tabla 1: Tres sistemas ESB de cdigo abiertoMule ESB Apache ServiceMix Talend (Sopera)

    Versin Actual 3.12 4.30 4.21

    Licencia Community Edition (CPAL)/ Enterprise Edi-

    tion con soporte comercial

    Apache License 2.0 Eclipse public license (Community

    edition); anteriormente Sopera

    License (Enterprise Edition)

    Arquitectura Java, centralizada Java, centralizada Java, bajo demanda, tambin dis-

    tribuida

    Comunidad Comunidad Muleforge activa, Mule exten-

    sions, I-Beans, foros, varias listas de correo

    Foros activos, listas de correo Foro, blog, seminarios en lnea

    Soporte Persona de contacto, actualizaciones soft-

    ware, soporte 8/ 5 o 24/ 7, service packs

    Foros de discusin, soporte 8/ 5

    o 24/ 7, service packs

    Lnea caliente, ayuda de escritorio,

    actualizaciones libres, service packs

    Sistemas operativos sopor-

    tados

    Linux, Windows, Solaris, AIX, HP-UX, Mac

    OS X

    Linux, Windows XP y 2000,

    Solaris, HP-UX, Mac OS X

    Linux, Windows XP, Vista y Server

    2003, Solaris

    Independiente S S S

    Servidor de aplicaciones

    soportado

    Geronimo, JBoss, WebLogic, WebSphere,

    Oracle, Sun One, Tcat, Tomcat, Resin, Jetty,

    Spring Framework

    Geronimo, JBoss, Jonas Geronimo, JBoss, WebLogic, Web-

    Sphere, SAP NetWeaver, Tomcat,

    Jetty

    Lenguaje soportado para

    servicios/ componentes

    Groovy, Java, Javascript, Jaxen, Jython

    (Python), JRyby, JXPath

    Java, Groovy, JRuby, Rhino,

    JavaScript

    Java, .NET

    Soporte para el desarrollo Eclipse Mule IDE, Mule Studio, Profiler,

    Japex, Data Integrator IDE, Ant, Maven

    Consola web para desarrollo de

    componentes JBI

    Herramienta propia (Eclipse)

    Gestin de procesos de

    negocio

    JBPM, BPEL BPEL (Apache ODE), BpmScript Sopera BPM (basado en Intalio

    BPM), Apache ODE, SAG, webMeth-

    ods BPMS

    Monitorizacin Gestin y monitorizacin, gestin de

    parches, herramientas de migracin

    JMX, Ant Tasks Toolkit (Eclipse), Gestin de inter-

    faces para Service Registry, JMX,

    Sopera HQ

    Disponibilidad Alta disponibilidad y tolerancia a fallos,

    polticas de reintento para autoreparar

    conexiones

    Alta disponibilidad y clusters de

    contenedores

    Arquitectura distribuida

    Persistencia de los men-

    sajes

    Colas VM persistentes (colas internas de

    SEDA para la persistencia)

    JMS, JDBC JMS

    Transacciones Independientes del transporte (p.e., JDBC,

    XA, JMS, reconocimiento de mensajes,

    transacciones multirecursos [EE])

    JMS, JCA JMS, JDBC

  • Apache ServiceMixApache ServiceMix es una solucin ESB

    software que ya se est utilizando en

    multitud de aplicaciones y