Ir al contenido principal

El trabajo necesario en un ESB

Cuando ya nos damos cuenta que no es útil tener un BUS de Servicios es porque esto nos permite flexibilidad y velocidad para abordar los cambios que la organización requiere, pero como en todas las cosas sino nos organizamos y administrados también puede ser un caos y no obtengamos los beneficios esperados, es necesario que establezcamos nuestro orden dentro del bus cataloguemos los servicios, y tengamos una visión de las dependencias de estos para esto el catalogo de servicio, en esta entrada presento una primera organización de servicios básica y bastante replicable  y que debe ampliarse de acuerdo a la organización.

Si bien mediante un BUS de Servicios generamos una capa que sirve como puente entre consumidores y productores de servicios que nos evita la complejidad punto a punto (telaraña entre consumidores y productores), dentro de este bus tenemos que tener una clasificación que nos permita ordenar y visualizar el escenario.
Situación sin bus de servicios

V/S

Situación con Bus de Servicio

Pensando en la organización de estos servicios en un bus de servicios me hace sentido clarificarlos en al lo menos estas capas:
  • Adaptadores (Servicios que nos abstraen de problemas de conectividad, encargados de resolver protocolos de transporte).
  • Servicios Básicos de Negocio ( no divisibles, atómicos).
  • Servicios Compuestos (Servicios que son compuestos por otros servicios disponibles en el bus, los que son orquestados por el servicio principal).

En este diagrama también se establece que el bus de servicio es el encargado de proveer seguridad a los servicios, así tambien mostrar que todos los puntos productores, capa de integración y bus deben proveer información para auditoria, todos estos puntos importantes dentro de una arquitectura que permita sustentar en el tiempo la integración de sistemas y niveles de auditoria hoy exigidos por muchas industrias y que pueden implementarse o complementarse con una herramienta de BAM de manera de tener control sobre esta plataforma.

Comentarios

Entradas populares de este blog

la difusa linea entre orquestacion y Coreografía en SOA

Ambos términos ocupados en SOA, tienen que ver coordinación de servicios, el primero de ellos y mas fácil de entender es la "Orquestacion" esta se refiere a una coordinación de servicios por un proceso principal semejante a lo que hace un director de orquesta, de esta forma cualquier proceso BPEL(por poner un ejemplo tangible) que coordina a otros servicios como ente coordinador, esta "Orquestando" servicios,que es lo que sucede en la mayoría de los procesos BPEL, por ultimo es necesario decir que la orquestacion esta personificada por el proceso coordinador, si queremos saber la secuencia, mensajeria y lógica de orquestacion debemos ver el proceso coordinador. Como ejemplo veamos el siguiente flujo, expresado en BPMN (Bussines Process Managment Notation), este flujo expresa la orquestacion de servicios para obtener un servicio que realice el cierre de una compra y programe el envió en en un sis...

Registro en BAM de actividad en OSB

En esta entrada intentaré describir los aspectos mas relevantes para habilitar y usar registro de actividad en BAM de Oracle desde el ESB de Oracle (OSB). Primero entender que el BAM (Bussines Activity Monitor), como lo dice su nombre tiene por objetivo del monitoreo activo (osea en linea) de actividad de negocio, en este sentido el BAM es genérico puede registrar la actividad que tu definas, por eso el proceso parte por la definición de la estructura de datos que se utilizará para registrar dicha información denominado "Objeto de datos" (Data Object). A continuación los pasos que seguiremos: Definición de Objeto de Datos en BAM (Architect) Definición de Reportes Iniciales en BAM (Active Studio) Exposición de Servicio de Negocio en OSB, para Insertar información en el Data Object definido en BAM.  Definición de Objeto de Datos en BAM Esta acción se realiza en la opción d...

¿Como en Oracle BPEL hacer una llamada a BD?

Para hacer acciones directas sobre base de datos inserciones utilizar un Adaptador de tipo "Database Adapter" como se muestra en la figura, siempre trabajándolo como un servicio externo (External Reference) como método de desacoplar las acciones sobre la base de datos: al arrastrar este componente sobre el diagrama de composición, este iniciara un asistente como se muestra en la figura: Se indica el nombre del servicio  y Siguiente(Next). Aquí se especifica el nombre JNDI de la conexión que se utilizara y la conexión dentro del IDE en la parte superior, presionando el botón + como se ve en la siguiente figura. luego de esto se selecciona el tipo de acción que se realizara en la base de datos y este asistente generara la interfaz de entrada y salida de acuerdo a esto. En el despliegue un punto importante para que esto funcione es configurar el adaptador y la fuente de dat...