Integrando aplicaciones con Mule - barcamp2010

15
Integrando aplicaciones con Mule Ing. Mauricio Murillo Rosero

description

Presentación barcamp 2010 Quito, Ecuador. Integrando Aplicaciones con Mule

Transcript of Integrando aplicaciones con Mule - barcamp2010

Page 1: Integrando aplicaciones con Mule - barcamp2010

Integrando aplicaciones con Mule

Ing. Mauricio Murillo Rosero

Page 2: Integrando aplicaciones con Mule - barcamp2010

AGENDAhttp://ingmmurillo.blogspot.com

IntroducciónProblemaSolucionesEnterprise Service BusMULE ESBResumenPreguntas

Page 3: Integrando aplicaciones con Mule - barcamp2010

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

Page 4: Integrando aplicaciones con Mule - barcamp2010

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

Page 5: Integrando aplicaciones con Mule - barcamp2010

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

Page 6: Integrando aplicaciones con Mule - barcamp2010

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

Page 7: Integrando aplicaciones con Mule - barcamp2010

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

Page 8: Integrando aplicaciones con Mule - barcamp2010

MULEhttp://ingmmurillo.blogspot.com

FTP

JDBC

HTTP

FILE

EMAIL

JMS

XML

MULE ESB

Aplicación SaaS

Aplicación Web

Servicio a Datos

Aplicación Heredada

Aplicación de Software

Page 9: Integrando aplicaciones con Mule - barcamp2010

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

Page 10: Integrando aplicaciones con Mule - barcamp2010

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

Page 11: Integrando aplicaciones con Mule - barcamp2010

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

Page 12: Integrando aplicaciones con Mule - barcamp2010

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

Page 13: Integrando aplicaciones con Mule - barcamp2010

MULE ESB - DEMO

Ejemplo demostrativo

http://ingmmurillo.blogspot.com

Page 14: Integrando aplicaciones con Mule - barcamp2010

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

Page 15: Integrando aplicaciones con Mule - barcamp2010

MUCHAS GRACIAS POR SU ATENCIÓN

http://ingmmurillo.blogspot.com