33
Mule ESB Spring Tours UPeU 2009 José Luis Gutiérrez

Mule ESB

Embed Size (px)

DESCRIPTION

This presentation is the same that was published on September 18th, 2009. "mule-esb-2016509"

Citation preview

Page 1: Mule ESB

Mule ESBSpring Tours UPeU 2009

José Luis Gutiérrez

Page 2: Mule ESB

Descripción General Características de Mule Arquitectura Mule Conceptos Mule Ejemplo/Demo Herramientas Mule

◦ MuleHQ◦ MuleIDE

Agenda

Page 3: Mule ESB

¿Qué es Mule?

Page 4: Mule ESB

Framework de Integración y plataforma de mensajería Open Source.

Estadísticas(desde 1.0)◦ Más de 1,000,000 de descargas◦ Más de 2,500 desarrolladores en lista de usuarios.◦ Más de 2,000 despliegues en producción.◦ Más de 10 millones de vistas del web page, entre

otros.

Información Mule

Page 5: Mule ESB

Descripción General

Page 6: Mule ESB

Soporta una variedad de topología de servicios incluyendo ESB.

Altamente escalable; usando SEDA modelo de eventos. Asíncrono, Síncrono y Request/Response de

mensajería. Soporte J2EE: JBI, JMS, EJB, JCA, JTA, Servlet. Potentes capacidades de enrutamiento de eventos. Amplitud de conectividad (Más de 60 tecnologías). Distribución tranparente. Transacciones: Local y Distribuido(XA). Tolerancia a fallos; Gestión de excepciones- Seguridad; Authentication/Authorization.

SOA Navaja Suiza

Page 7: Mule ESB

No hay formato de mensaje prescrito◦ XML, CSV, Binary, Streams, Record, Java Objects. Mezclar

y combinar. Cero código de intrusión

◦ Mule no impone un API en objetos de servicio◦ Los Objetos son totalmente portables

Existencia de objetos que pueden ser manejados◦ POJOs, IoC Objects, EJB Session Beans, Remote Objects◦ REST Web Services

Fácil de testear◦ Mule puede ser facilmente ejecutado desde Junit test

case.◦ El Framework provee un kit compatible de Test

¿Porque elegir Mule?

Page 8: Mule ESB

Arquitectura de componentes Mule

Page 9: Mule ESB

Configuración en XML◦ Schema no en DTD◦ Configuración específica de Endpoint◦ IDE/Editor amigable, finalización de código

Configuración Java Endpoint para enlaces Java

◦ Metodo asociado a llamadas Endpoint Registro de configuración Mejora de manipulación de Mensajes

◦ Streaming◦ Transformation

Características de configuración

Page 10: Mule ESB

Arquitectura de Nodos Mule

Page 11: Mule ESB

Tecnologías Soportadas

Page 12: Mule ESB

Usa Spring2.x para manejar Namespace Cada modulo tiene su propio Namespace Cada modulo puede definir configuración personalizada

◦ Mule provee un framework para ayudar con consistencia Los Spring Beans pueden ser fácilmente embebidos

◦ Sin problemas para mezclar objectos◦ Objetos desde otros contenedores también son soportados

Seasar Hivemind PicoContainer

Soporta AOP◦ Puede asesorar configuración de objetos

Puede ser usado Spring DAO y JDBC

Configuración XML

Page 13: Mule ESB

No hay nombres de clases Las propiedades son definidas en el

esquema Validación de valor de las propiedades Los namespaces definen los modulos al ser

usados

Configuración Mule 2

Page 14: Mule ESB

Usando diferentes módulos (namespaces)

Page 15: Mule ESB

1. Services 2. Endpoints and Transport Providers 3. Inbound 4. Outbound 5. Transformers 7. Service Manager

Conceptos Mule

Page 16: Mule ESB

En Mule pueden ser objetos - POJOs, EJBs, Remote Objects, WS/REST Services.

Configurado en XML. Mule maneja hilos, Pool y recursos de

administración via JMX.

Services

Page 17: Mule ESB

Se utiliza para conectar los componentes y sistemas externos

Endpoints usa una URI para acceder. Pueden tener transformer, transaction,

filter, security y meta-information asociada. Existen dos tipos de URI

scheme://[username][:password]@[host][:port]?[params]

smtp://ross:pass@localhost:25 scheme://[address]?[params]

jms://my.queue?persistent=true

Endpoints

Page 18: Mule ESB

Controla los eventos que son enviados y recibidos. Se puede modelar todos los patrones de enrutamiento

definido en el libro EIP. Inbound Routers

Idempotency Selective Consumers Re-sequencing Message aggregation

Outbound Routers Message splitting / Chunking Content-based Routing Broadcasting Rules-based routing Load Balancing

Routers

Page 19: Mule ESB

Ejemplo; Amulzon Bookstore

Page 20: Mule ESB

AlmuzonService es un POJO que implementa BookstoreService

Código del servicio

La implementacion (El POJO puede ser manejado por Mule)

Page 21: Mule ESB

Order.class◦ Payment Details◦ Customer Details◦ Ordered Items

ProcessedOrder.class

Objetos de dominio son los mensajes

Page 22: Mule ESB

Configurando Almuzon Bookstore

Page 23: Mule ESB

Exponiendo como un Servicio Web

Page 24: Mule ESB

Exponiendo como un Servicio Web

Page 25: Mule ESB

Llamando a otro servicio

Page 26: Mule ESB

JMS con ActiveMQ y Mule. Servicio Web con Xfire y Mule. Iniciando servicios mediante Quartz y HTTP.

Demo

Page 27: Mule ESB

Monitorea el estado de tus servidores y servicios

Vistas y gráficos de estadísticas para recursos y eventos Mule durante el tiempo.

Auto inventario de servidores y servicios.

Alertas personalizadas para algunos eventos en Mule incluyendo Excepciones, fallas de conexiones y seguridad.

Control total JMX.

MuleQH

Page 28: Mule ESB

MuleHQ Dashboard

Page 29: Mule ESB

Basado en Eclipse IDE

Asistente de proyecto Mule

Configuración Drag and Drop

Editor gráfico extensible

Mule IDE 2.x Eclipse

Page 30: Mule ESB
Page 31: Mule ESB
Page 32: Mule ESB

Referencias

http://www.mulesoft.orghttp://www.mulesoft.org/display/MULE2INTRO/Examples

Page 33: Mule ESB

¿Preguntas?