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:
Respecto a la infraestructura:
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
Pruebas:
· Seguridad:
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.
· 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.
· 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.
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.
Escriba un comentario
Usted debe ser registrado escribir un comentario.