OpenESB es un bus de servicios empresariales de código abierto basado en Java. Puede utilizarse como plataforma tanto para la integración de aplicaciones empresariales como para la arquitectura orientada a servicios. OpenESB permite a los desarrolladores integrar sistemas heredados, socios externos e internos y nuevos desarrollos en los procesos empresariales. Admite una multitud de tecnologías de integración, incluidas JBI ( Java Business Integration ) estándar, XML con soporte para esquemas XML , WSDL y BPEL con el objetivo de lograr simplicidad, eficiencia, durabilidad a largo plazo y un bajo TCO ( costo total de propiedad ).
Solía ser propiedad de Sun Microsystems , pero después de que Oracle y Sun Microsystems se fusionaran (ver: Adquisición de Sun por Oracle ), se creó la Comunidad OpenESB para mantener, mejorar, promover y apoyar a OpenESB. [ cita requerida ]
OpenESB consta de 5 partes: el marco, el contenedor, los componentes, el entorno de desarrollo integrado y los complementos de desarrollo.
El framework consiste en una implementación ligera de JBI en Java. Esta implementación es independiente del contenedor y puede funcionar en cualquier plataforma y contenedor. Aunque el desarrollo y el soporte se centran principalmente en las plataformas Glassfish V2 y V3, los proyectos beta en JBoss y JVM independientes funcionan bien y están en curso (segundo trimestre de 2012). Además de que el framework OpenESB es ligero, también es fiable y altamente escalable. Está integrado en una máquina virtual Java y se comunica con otras instancias del framework a través de componentes Binding. Esta arquitectura se adapta perfectamente a las nuevas arquitecturas de la nube y permite una fácil implementación y gestión en infraestructuras muy complejas. El framework es totalmente gestionable con cualquier herramienta basada en JMX, como Jconsole, o herramientas más sofisticadas como Opsview o Nagios.
El framework implementa un bus virtual conocido como Normalised Message Router (NMR), un potente canal de comunicación inteligente asincrónico entre componentes.
La especificación JBI define dos tipos de componentes: el motor de servicios (SE) y el componente de enlace (BC). El SE y el BC implementan el mismo contrato de interfaz, sin embargo, se comportan de manera diferente:
- Los componentes de enlace actúan como interfaz entre el mundo exterior y el bus, pudiendo generar mensajes de bus al recibir estímulos de una fuente externa, o generar una acción/interacción externa en respuesta a un mensaje recibido del bus.
- Los motores de servicio reciben mensajes del bus y envían mensajes al bus. Los motores de servicio no tienen contacto directo con el mundo exterior. Dependen del bus para interactuar con otros componentes, ya sean componentes de enlace u otros motores de servicio.
OpenESB incluye muchos componentes listos para usar.
Componentes de enlace de OpenESB
Motores de servicio OpenESB
OpenESB ofrece un conjunto de herramientas gráficas para facilitar los desarrollos complejos de SOA y de integración. Con OpenESB se proponen potentes editores gráficos de XLM, XML Schema, WSDL, BPEL, mapeo de datos y Composition Applications. De manera similar, las tareas de compilación, implementación, desimplementación, ejecución, prueba y depuración se gestionan mediante herramientas gráficas. OpenESB proporciona la mejor ergonomía para los desarrollos ESB y SOA.
OpenESB V3.1.2 no utiliza ningún contenedor, sino solo una JVM. Por lo tanto, su consumo de memoria es muy bajo (menos de 300 Mo) y permite que OpenESB se ejecute en una Raspberry PI o en muchas instancias en la nube. Las próximas versiones están previstas para 2019.
La siguiente tabla enumera los sitios web y foros administrados por la comunidad OpenESB
Integración empresarial con Java
Especificación JBI