integrando aplicaciones con mule - barcamp2010
DESCRIPTION
Presentación barcamp 2010 Quito, Ecuador. Integrando Aplicaciones con MuleTRANSCRIPT
Integrando aplicaciones con Mule
Ing. Mauricio Murillo Rosero
AGENDAhttp://ingmmurillo.blogspot.com
IntroducciónProblemaSolucionesEnterprise Service BusMULE ESBResumenPreguntas
PROBLEMAhttp://ingmmurillo.blogspot.com
Aplicación JEE
Hello World!!!
Aplicación .NET
Aplicación Heredada
Je ne comprendes!!
!
Buen día!!!
PoseenDiferentes Lenguajes y Tecnologías
Nativamente, las aplicaciones de software no pueden integrarse
SOLUCIÓN COSTOSA (P2P)http://ingmmurillo.blogspot.com
Programar una interface de comunicación por cada punto de comunicación
Aplicación JEE
Aplicación .NET
Aplicación Heredada
Aplicación X
Difícil de Mantener,SoluciónCostosa
Aplicación SaaS
SOLUCIÓN ÓPTIMA (BUS)http://ingmmurillo.blogspot.com
Usar una arquitectura en BUS, que permita integrar cualquier aplicación con diferente tecnología y protocolo de comunicación
Aplicación JEE
Aplicación .NET
Aplicación Heredada
Aplicación SaaS
Aplicación X
ESBComunicación a través de mensajes
ENTERPRISE SERVICE BUS
El Enterprise Service Bus (ESB) o bus de servicios empresariales se encarga de proveer la funcionalidad de
1. Transparencia2. Conversión del protocolo de transporte (HTTP JMS)3. Transformación de mensajes (XML Object)4. Enrutamiento de mensajes5. Mejoramiento de mensajes6. Seguridad7. Monitoreo y gestión
http://ingmmurillo.blogspot.com
MULE - CARACTERÍSTICAS
Proyecto de software libre desarrollado por Ross Mason
Framework de mensajería liviano basado en Java
Permite conectar fácilmente aplicaciones e intercambiar datos
Provee las 7 funcionalidades básicas de un ESB
Versiones Community y Enterprise
http://ingmmurillo.blogspot.com
MULEhttp://ingmmurillo.blogspot.com
FTP
JDBC
HTTP
FILE
JMS
XML
MULE ESB
Aplicación SaaS
Aplicación Web
Servicio a Datos
Aplicación Heredada
Aplicación de Software
MULE - VENTAJAS
Altamente escalable
Basado en servicios o componentes
Hace énfasis en la reutilización de componentes
Los componentes no necesitan tener código específico de Mule (POJOs, Spring Bean, Java Bean, Web Service)
Lógica del negocio (servicios) totalmente separada de la lógica de mensajería
Transporta mensajes de cualquier formato. (SOAP, XML, binarios, Objects)
http://ingmmurillo.blogspot.com
MULE - ARQUITECTURA
Lee, transforma y envía datos como mensajes a otras aplicaciones
Basado en el concepto de SOA
Se definen servicios adaptables y reutilizables
La lógica de mensajería está centralizada en un archivo de configuración XML
Usa Spring como contenedor de Beans tanto para definir servicios como para subir la configuración
http://ingmmurillo.blogspot.com
MULE - ARQUITECTURAhttp://ingmmurillo.blogspot.com
Aplicación
Tran
sfo
rmad
ore
s
Recep
tor
Conector
Transporte
Tran
sfo
rmad
ore
s
Desp
ach
ad
or
Conector
Transporte
Aplicación
Servicio
En
ruta
dor
de
En
trad
a
En
ruta
dor
de
Salid
a
Componente
Canal
Canal
LÓGICA DE MENSAJERÍA
LÓGICA DEL NEGOCIO
MULE - CONFIGURACIÓNhttp://ingmmurillo.blogspot.com
Mule Configuration
Schema Import Statements
Spring Beans Definition
Mule Filters
Mule Connectors
Mule Transformers
Mule Model
Mule Service
Inbound Router
Component
Outbound Router
Mule Global Endpoints
Existe una definición de esquema XML (XSD) para cada transportador http://www.mulesource.org/schema/mule/
Definición de Beans de Spring
Por cada transportador se crea un conector. Los conectores más comunes son:Web Services: Axis, CXFArchivos: FTP, FileBróker de mensajería: JMS, VMCalendarización: QuartzAcceso a datos: JDBC
Condiciones que tiene que cumplir un mensaje
• Internos <byte-array-to-object-transformer/>• Configurables <custom-transformer/>
Definición de colas o tópicos de mensajesDefinición de destinos globales
Definición de la lógica de mensajería
MULE ESB - DEMO
Ejemplo demostrativo
http://ingmmurillo.blogspot.com
RESUMEN
La integración de aplicaciones puede ser resuelta usando un ESB
Un ESB es el componente principal (backbone) de una arquitectura SOA
Existen ESBs comerciales y Open-Source Mule es un framework de mensajería liviano basado en
Java Mule separa la lógica de presentación de la lógica del
negocio Mule maneja mensajes en cualquier formato Mule usa servicios desacoplados para la lógica del negocio La versión Community de Mule, permite resolver el 100%
de los problemas de integración que una empresa requiera
http://ingmmurillo.blogspot.com
MUCHAS GRACIAS POR SU ATENCIÓN
http://ingmmurillo.blogspot.com