Mule Esb, Spring Tours UPeU - Presentation Transcript
Mule ESB Spring Tours UPeU 2009 José Luis Gutiérrez
Descripción General Características de Mule Arquitectura Mule Conceptos Mule Ejemplo/Demo Herramientas Mule MuleHQ MuleIDE Agenda
¿Qué es Mule?
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
Descripción General
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
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, IoCObjects, EJB SessionBeans, RemoteObjects 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?
Arquitectura de componentes Mule
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
Arquitectura de Nodos Mule
Tecnologías Soportadas
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
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
Usando diferentes módulos (namespaces)
1. Services 2. Endpoints and Transport Providers 3. Inbound 4. Outbound 5. Transformers 7. Service Manager Conceptos Mule
En Mule pueden ser objetos - POJOs, EJBs, Remote Objects, WS/REST Services.
Configurado en XML.
Mule manejahilos, Pool y recursos de administración via JMX.
Services
Se utiliza para conectar los componentes y sistemas externos
Endpoints usauna URI paraacceder.
Puedentener transformer, transaction, filter, security y meta-information asociada.
Se puedemodelartodos los patrones de enrutamientodefinido 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
Ejemplo; AmulzonBookstore
AlmuzonService es un POJO que implementa BookstoreService Código del servicio
La implementacion (El POJO puede ser manejado por Mule)
Order.class PaymentDetails CustomerDetails OrderedItems ProcessedOrder.class Objetos de dominio son los mensajes
Configurando AlmuzonBookstore
Exponiendo como un Servicio Web
Exponiendo como un Servicio Web
Llamando a otro servicio
JMS con ActiveMQ y Mule. Servicio Web con Xfire y Mule. Iniciando servicios mediante Quartz y HTTP. Demo
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
MuleHQDashboard
Basado en Eclipse IDE Asistente de proyecto Mule Configuración Drag and Drop Editor gráfico extensible Mule IDE 2.x Eclipse
0 comments
Post a comment