
- La creación y alojamiento de servicios web reutilizables en un contenedor de servicios ligero.
- El enrutamiento de mensajes, para enrutar, filtrar, agregar, y redirigir mensajes entrantes o salientes basados en su contenido o en reglas.
- La transformación e intercambio de datos a través de distintos formatos y protocolos de transporte.
- Servicios de mediación para el manejo de formatos, mensaje y protocolos, además de lógicas de integración.
- Cuando se requiere la integración de 3 o más aplicaciones o servicios.
- Cuando se requiere conectar más aplicaciones en un futuro.
- Cuando es necesario utilizar más de un tipo de protocolo de comunicación.
- Cuando se requiere capacidades de enrutamiento de mensajes, tales como bifurcación y agregación de flujos de mensajes, o enrutamiento basado en contenido.
- Cuando es necesario publicar los servicios destinados al consumo de otras aplicaciones
- El patrón de intercambio seleccionado para un flow o flujo incide en el número de hilos que mule utiliza para la ejecución de servicios de integración. Si el patrón es Request-Response, este se desarrolla sobre un solo hilo; si el patrón es Onew-Way se desarrolla sobre un pool de hilos (inbound, core y outbount). Es necesario considerar esta política durante el diseño de los servicios.
- Por defecto Mule ESB solo gestiona 16 hilos, por ende, es importante monitorear el número de hilos y aumentarlo según la demanda de un servicio de integración específico.
- Mule ESB proporciona patrones de configuración, que están optimizados para casos comunes de procesamiento de mensajes. Los cuatro patrones de configuración incluidos en Mule son: Servicio simple (componente que expone servicios web SOAP/ JAX-WS , beans, REST/JAX-RS, JAXB, XML y el contenido de simples componentes POJO), Web Service Proxy ( Proxies de servicios web remotos que pueden realizar transformaciones), Bridge ( establecen un canal de comunicación directo entre un endpoint de entrada y uno de salida), por ultimo Validador (Valida los mensajes entrantes contra un filtro de aceptación definido. Devuelve una respuesta ACK o NACK sincrónica y envía mensajes válidos de forma asíncrona).
- Utilice el Scope Pool para ajustar el desempeño de un servicio de integración mediante pool de objetos.
- Utilice wiretap para realizar auditorías en los flows o flujos de servicios.
- Si requiere utilizar multiples entradas en un mismo flow utilice composite source.
- Si requiere establecer rutas alternativas al fallar una rama de ejecución utilice first successfull.
- Si requiere reorganizar la secuencia de mensajes utilice un resequencer.
- Si va a realizar mapeo recomiendo utilizar smooks y dozer.
- La información del header de un mensaje en el inbound no se propaga al siguiente flow, solo de outbound a inboud, considere esta característica cuando diseñe sus servicios.
Ejemplo: Como enviar un mensaje a multiples destinos.
Ejemplo: Como realizar el procesamiento de una coleccion de datos.
Ejemplo: Como exponer un servicio web implementado en un POJO.
Ejemplo: Como filtrar el mensaje entrante de un servicio.
Ejemplo: Como realizar auditorias a un servicios de integracion:
Saludos;
1 comentario:
Muy buena la información publicada, felicitaciones y continua cosechando éxitos.
Publicar un comentario