Bajo la ruta Open Source de SOA

abril 15, 2012

share

Archived

Con la aparición de una nueva tecnología siempre salen a la luz diferentes herramientas para implementarla, muchas de ellas pagas y algunas otras de distribución gratuita y de código abierto. Ahora bien, cuando debemos tomar la decisión sobre cual de ellas utilizar, ¿Que aspectos consideramos para su elección? ¿Confiamos en aquellas que no requieren de un costo considerable y donde quizás el único soporte que podamos recibir sea el de la comunidad que la creo y de las experiencias vividas por sus usuarios? Por experiencia personal podría afirmarles que si, es posible confiar ya que hoy en día muchas de estas organizaciones que se dedican al desarrollo de software open source constan de una estructura bien definida capaz de brindar la ayuda necesaria para aquellas personas o empresas que hayan optado por implementar sus productos.

En lo que a SOA respecta, existe una amplia y variada gama de productos open source que nos permitirán cubrir cada una de las partes fundamentales de la plataforma que definiremos a continuación, presentándoles algunas opciones para cada una de ellas.

Orquestador de procesos de negocio (BPM):

Intalio BPMS (Community Edition): Utiliza notación BPMN para generar orquestación basada en BPEL. Desafortunadamente, solo parte de la solución es opensource ya que posee determinadas restricción de licencia.

ActiveBPEL Engine: Es un eficiente motor de BPEL. Permite realizar el diseño mediante un diseñador gratuito. Funcionalidades importantes como son la persistencia en base de datos y el versionado de procesos se encuentran solo disponibles en la versión comercial.

Apache ODE (Orchestration Director Engine): Motor de ejecución BPEL capaz de integrarse vía JBI con un ESB. Puede ser extendido con facilidad permitiendo no solo la invocación SOAP de BPEL. No posee un diseñador de BPEL, pero podremos utilizar el editor de Eclipse.

JBoss jBPM: Maduro y eficiente motor de procesos que consta de un diseñador basado en Eclipse. Utiliza su propio lenguaje grafico conocido como JPDL (JBPM Process Definition Language) y puede ser extendido con facilidad.

ObjectWeb Bonita: Potente y maduro motor. Posee herramientas para generar interfaces humanas con facilidad. No viene con un editor y ademas requiere de un servidor de aplicaciones JOnAS (Java Open Application Server).

WSO2 Business Process Server: Se basa en Apache ODE y agrega una interfaz web de administración con capacidad de simulación.

EDM: Administrador de reglas de negocio

OpenLexicon: De difícil integración con otros productos, posee una interfaz web de administración y creación de reglas, además cuenta con un repositorio para el almacenamiento de las mismas.

JBoss Rules (Drools): Eficiente motor de reglas basado en un entorno de edición de Eclipce. Liviano y de fácil integración.

ESB: Bus de integración

ServiceMix: Poderoso bus de integración con varios componentes y adaptadores, capaz de soportar varios protocolos.

MuleSource Mule: Posee amplias opciones de conectividad con capacidad de transformación, enrutamiento y seguridad. Compatible con una variada gama de aplications servers.

Apache Synapse (WSO2 ESB): De fácil configuración mediante XML, con un alto rendimiento para la mediación web.

JBoss ESB: De fácil integración con otros productos jboss. Consta de una variada gama de componentes y adaptadores.

OpenAdapter: Maduro y elegante ESB que consta de poca documentación. Soporta diferentes protocolos de comunicación.

ESP: Procesador de Eventos

Esper Project: Presenta un lenguaje de consulta de eventos denominado EQL, con la posibilidad de registrar las consultas sobre un motor, quien las validará con los datos que ingresen.

Registry: Almacén de artefactos de SW utilizados en la plataforma

MuleSource Galaxy: Repositorio diseñado para la gestión de objetos SOA. Esto incluye WSDL, archivos XML, y las configuraciones de Mule y Spring.

WSO2 Registry: Diseñado para almacenar, catalogar, indexar y administrar artefactos SOA. Incluye controlador de versiones y es de fácil integracion.

Service components and composites Framework:

Apache Tuscany: Facilita la tarea de construcción de soluciones SOA brindando además la posibilidad correr las aplicaciones generadas dentro de su entorno.

Para la creación de servicios web podemos mencionar: Apache Axis, Java-WS, Spring-WS, JBossWS y CXF (anteriormente conocido como XFire).

Referencias de interés:

– Open Source SOA – Jeff Davis. http://www.manning.com/davis/
– http://www.intalio.com/bpms
– http://www.jboss.org/jbpm
– http://www.bonitasoft.com/
– http://www.jboss.org/drools
– http://openlexicon.org/
– http://servicemix.apache.org/home.html
– http://www.mulesoft.org/
– http://esper.codehaus.org/
– http://wso2.org/project/registry/1.1/docs/userguide.html
– http://tuscany.apache.org/