Oracle Service Bus 12C

Una completa herramienta de integración

El OSB es el ESB (Bus de Servicio Empresarial) de Oracle. Es una plataforma que nos permite realizar una arquitectura orientada a servicios (SOA).

Arquitectura: 

En la imagen puede verse la arquitectura del OSB. 

Respecto a la infraestructura:
-  SOA Suite 12c corre sobre WebLogic 12c:
            · OSB se ejecuta dentro del contenedor Java EE de WebLogic.

En un dominio OSB12C existen 3 consolas de administración, cada una dedicada a unas tareas específicas:

– Fusion Middleware Control 12c (Enterprise Manager): 

• Control, administración y monitorización de las aplicaciones OSB 
– Service Bus Console 12c: 

• Editar/Crear/Borrar aplicaciones SB. 
• Mismas acciones que JDeveloper pero vía web (se recomienda el uso de JDeveloper) 
– WebLogic Server Administration Console 12c: 

• Administración dominio e instancias WebLogic Server 
Odoo text and image block

Entorno:

Para la PoC se utilizó la última versión del producto, la 12.2.1.4.

Instalación y configuración:

 La instalación en local se realizó siguiendo la siguiente guía proporcionada por Oracle y se instalará lo siguiente:

                                                                    – Oracle Fusion Middleware 12c Infrastructure 12.2.1.4.0

                                                                    – Oracle SOA Suite 12.2.1.4.0 

                                                                    – Oracle Service Bus 12.2.1.4.0

                                                                    – Oracle JDeveloper Studio 12.2.1.4.0

Puedes ver la guía que se siguió aquí

Pruebas:

    · Seguridad: 

El OSB ofrece una capa de seguridad en los niveles de:

Nivel Transporte

• SSL/Basic Auth

• Custom security credentials

Nivel Mensaje

• WS-Policy/WS-Security

• SAML, UserID/Password, X509

• Signing & Encryption

• Custom security credentials

Consola OSB

• Soporta Single-Sign-On

• Acceso basado en Roles


Seguridad basada en Políticas

• WS-Security & WS-Policy

• Oracle Web Services Manager.

    · Monitorización: 

Podemos activar el Monitoring de nuestros recursos desde el EM como información adicional.

El monitoring es pasivo, no tiene configuración (únicamente el tiempo de agregación), y se visualizarán los datos desde la pestaña “Service Health”.

Una buena práctica es monitorizar los BS críticos con un intervalo de agregación corto (5/3 minutos) para tener un histórico de las peticiones desde el último reset y del intervalo actual.


 
Odoo - Sample 1 for three columns
 
Odoo - Sample 1 for three columns

· Environments:

Cada instancia de OSB sería un único entorno, y cada una de ellas debería ser una copia de la anterior con urls a las que apuntan diferentes. Para los pasos entre los distintos entornos se utiliza un fichero de customización el cuál nos permitirá actualizar datos como los endpoints de los servicios finales. Este fichero se genera desde la propia consola del OSB.

Odoo image and text block

· Mappings

Esta es la estructura de un servicio OSB la cuál nos permite realizar prácticamente cualquier tipo de mapping. Por ejemplo, podríamos exponer un proxy HTTP que internamente insertará un mensaje a una cola JMS utilizando dicho protocolo.

Para esto definiríamos un proxy tipo HTTP, en el Pipeline haríamos la transformación del mensaje/cabeceras (si es necesario) y en el Business Service definiríamos como transporte el protocolo JMS.

En la nueva versión del OSB podemos crear Pipelines tipo REST en los cuáles podemos ejecutar código javascript para hacer cualquier transformación del mensaje.

Por otro lado, si utilizamos un Pipeline tipo SOAP nos veremos obligados a trabajar con XML y en caso de necesitar transformaciones complejas, con Xquery.

· Integración continua

En esta nueva versión del OSB, los proyectos creados mediante JDeveloper tendrán un pom.xml mediante el cuál podremos configurar el plugin de maven correspondiente para gestionar los despliegues de los proyectos. Esto nos permitirá hacer despliegues vía Jenkins, descargando el código fuente del proyecto de GIT y haciendo el empaquetado y despliegue del proyecto en el OSB vía MAVEN.

Se incluye un ejemplo del pom.xml con el plugin de maven que habría que utilizar para generar el fichero .sbar necesario para desplegar el proyecto en el OSB.


· Logging

La forma más fácil de configurar los loggers de Service Bus es usando Fusion Middleware Control. 

Los pipelines y error handlers en los servicios proxy soportan la acción de logger la cual se utiliza para construir un mensaje y para definir un conjunto de atributos con los que se van a loggear.

Tendremos que activar manualmente el logging para un determinado proxy y configurarlo con uno de estos valores: Debug, Info, Warning o Error.

Conclusiones

Es una herramienta de integración bastante completa que nos permite hacer prácticamente cualquier tipo de mapeo o integración. Al estar diseñada para trabajar con XML, el desarrollo de servicios REST es un poco más tedioso si no utilizamos los pipelines tipo REST.

Aparentemente estos últimos aumentan la latencia de las peticiones por lo que se perdería una de las principales ventajas del OSB, su rapidez. Está principalmente enfocada a SOAP aunque en esta última versión han intentado centrarse en REST, añadiendo elementos como el WADL (YAML en XML), pipelines tipo REST… pero parece que aún quedan cosas que mejorar.



Blog realizado por Marcos Chacón

 

¿Quieres saber más sobre las ventajas de OSB?

Ponte en contacto con nuestro equipo de expertos.

Escriba un comentario

Usted debe ser registrado escribir un comentario.