49
28/07/11 Titolo presentazione 1 ESB: The Mule Solution SUMMER LABS 2011 Cagliari 22 luglio 2011 Antonio Ariu & Dino Manca flosslab s.r.l.

ESB: The Mule Solution

Embed Size (px)

DESCRIPTION

Per soddisfare esigenze riguardo all’automazione dei processi, monitoraggio e controllo dei costi, il mercato offre tutta una serie di applicativi software specializzati per risolvere le singole problematiche e migliorare la produttività aziendale. Un grosso ostacolo all’ottiè dato dal fatto che le varie applicazioni software tipicamente non comunicano tra di loro, nè condividono dati. Questa mancanza di comunicazione porta all’inefficienza, perchè gli stessi dati sono memorizzati in diversi punti. Nasce così l’esigenza di integrare tra di loro le applicazioni software. Architetti e venditori del software suggeriscono diversi approcci per risolvere i problemi di integrazione, dalla scrittura di wrappers che usano un protocllo comune al porting di sistemi legacy in Java o .Net, in maniera da creare moderne architetture enterprise. Spesso tutti questi approcci sono poco pratici in quanto necessitano della scrittura di codice, l’investimento di tanto tempo e risorse e rimanendo comunque accoppiati a specifici sistemi, linguaggi o protocolli. La soluzione al problema può essere quella di far comunicare le applicazione con i protocolli che già supportano (SOAP, REST, EDI) su un comune sistema di comunicazione, che abbia un suo metodo indipendente di aggregazione delle informazioni, tramite l’aggiunta di moduli di traduzione specifici per protocollo o applicazione. Il termine sotto cui si racchiude questo concetto architetturale è Enterprise Service Bus che nell’ultimo decennio è diventato lo strumento più utilizzato per l’integrazione di sistemi che hanno interfacce di scambio dati eterogenee e/o basate su una notevole varietà di tecnologie. Mule ESB è un Enterprise Service Bus e un framework di integrazione leggero a sorgente aperto. E' in grado di gestire servizi e applicazioni utilizzando molteplici tecnologie di trasporto e messaggistica. Questo laboratorio affronta l’introduzione agli ESBs e all’Enterprise Integration tramite Mule ESB.

Citation preview

Page 1: ESB: The Mule Solution

28/07/11 Titolo presentazione 1

ESB: The Mule Solution

SUMMER LABS 2011

Cagliari

22 luglio 2011

Antonio Ariu & Dino Manca

flosslab s.r.l.

Page 2: ESB: The Mule Solution

28/07/11 Titolo presentazione 2

Cos'è Mule?

● E' una piattaforma “Lightweight” per l'integrazione e un Service Container che permette la gestione del routing, la trasformazione e la validazione di messaggi

● Supporta differenti protocolli e formati di messaggi● Facilmente integrabile all'interno di Web Applications e

Application Servers o utilizzabile come applicazione "stand alone"

● Basato sui patterns di EIP ● In una sola parola: Enterprise Service Bus● Mule è tutto ciò che riguarda la connessione di applicazioni

Page 3: ESB: The Mule Solution

28/07/11 Titolo presentazione 3

The Mule Project

● Il progetto Mule è partito nel 2003 con Ross Mason

● Trasferito alla MuleSource nel 2006, che ha cambiato nome nel 2009 in MuleSoft

● Esiste una versione gratuita (Mule CE) e una commerciale (Mule EE)

● La versione che vedremo è la 2.2.X● L'ultima versione stabile è la 3.1.2● Nel mondo è usata in aziende quali Adobe,

Amazon, Google, Hp, Ebay, Cisco, FedEx, etc...

Page 4: ESB: The Mule Solution

28/07/11 Titolo presentazione 4

Perché integrare?

● Gli Utenti non si preoccupano di dove risiedono le funzioni o le informazioni

● Noi non abbiamo la necessità di avere il controllo di tutti i pezzi, sia in una intranet, sia con partners esterni

● E' meno costoso che costruire nuove soluzioni da zero

● Gli Utenti ormai vogliono accedere alle informazioni da diversi devices (browsers, mobile phone, ...)

Page 5: ESB: The Mule Solution

28/07/11 Titolo presentazione 5

Approcci all'integrazione

● Custom o point-to-point

● problema degli information silos

● Service Oriented Architecture (SOA)

● Basso accoppiamento di servizi sia per SO diversi che per diverse tecnologie e/o linguaggi di programmazione

● Web services (SOAP, REST), RPC, CORBA,etc.

● Enterprise Service Bus (ESB)

● Aiuta ad “orchestrare” e gestire il caos

● Si possono centralizzare di servizi generali

● Incoraggia l'uso di best practices

Page 6: ESB: The Mule Solution

28/07/11 Titolo presentazione 6

Perché usare un ESB?

● Integration Styles● Batch● File Transfer● Shared Database● Request/Reply● Messaging

– Synchronous– Asynchronous

● Vantaggi● Tutti gli integration styles● Bridges legacy systems● Modularità● Semplice e flessibile● Facile da testare e

manutenere● Scalabile● Può essere un passo

verso la SOA

Page 7: ESB: The Mule Solution

28/07/11 Titolo presentazione 7

La regola delle tre R

● Riduci● La complessità e la quantità del codice

● Refactor● Distribuire il codice per responsabilità

– Transformation, Routing, Service Component

● Riuso● Pianificare lo sviluppo per il riuso dei

componenti● Utilizzare componenti e soluzioni “pre-built”

Page 8: ESB: The Mule Solution

28/07/11 Titolo presentazione 8

Cosa offre Mule 1/2

● Hosting e creazione di Servizi● Espone transport endpoints, EJBs, Spring beans,

and POJOs come servizi modulari e riusabili● Gestisce i servizi come un lightweight service

container● Service mediation

● Separa la logica di business dalla messagistica● Rende indipendenti i service components dal

formato dei messaggi e dalle tipologie di protocolli● Chiamate ai servizi location-independent

Page 9: ESB: The Mule Solution

28/07/11 Titolo presentazione 9

Cosa offre Mule 2/2

● Message routing● Routing dei messaggi sulla base del contenuto e di regole

anche complesse● Filtra, aggrega e rimette in ordine i messaggi in ingresso

● Data transformation● Permette lo scambio di dati tra applicazioni gestendo i

vari formati dei dati● Trasforma i dati solo se necessario e in ogni caso a

seconda delle necessità● Formatta i messaggi su protocolli di trasporto eterogenei

Page 10: ESB: The Mule Solution

28/07/11 Titolo presentazione 10

Architettura Mule

● Standards-based e vendor-neutral

● Integrazione facilitata su infrastrutture esistenti

● Architettura a plug-in per un approccio di tipo “building block”

● Utilizzabile con qualsiasi application server o standalone

● L'architettura è stata progettata in accordo con i principi del libro "Enterprise Integration Patterns" di Hohpe e Woolf

Page 11: ESB: The Mule Solution

28/07/11 Titolo presentazione 11

Cosa Mule non è...

● Non introduce restrizioni al proprio sistema● Non è un gestore di code di messaggi, usa altri

prodotti (JMS capable)– Non richiede l'utilizzo di code di messaggi

● Non è complesso● Non è necessario essere “the grand master of

all integration endpoints across the enterprise”–– Think big, start small– Lavora anche con altri ESBs

Page 12: ESB: The Mule Solution

28/07/11 Titolo presentazione 12

Per cosa usare Mule?

● Disaccoppiamento Business Logic

● Location Transparency

● Transport Protocol

● Conversioni

● Message Transformation

● Message Routing

● Message Enhancement

● Reliability (Transactions)

● Sicurezza

● Scalabilità

Page 13: ESB: The Mule Solution

28/07/11 Titolo presentazione 13

Perchè usare Mule?

● Non richiede particolari formati dei messaggi

● XML, CSV, Binary, Streams, Record, Java Objects Mix and match→

● Zero “code intrusion”

● Mule non impone API nei service objects

● Oggetti “fully portable”

● Gli oggetti esistenti possono essere gestiti

● POJOs, IoC Objects, EJB Session Beans, Remote Objects

● REST & Web Services

● Facile da testare

● Mule può funzionare facilmente a partire da un JUnit test case

● Il Framework fornisce un Test compatibility kit

Page 14: ESB: The Mule Solution

28/07/11 Titolo presentazione 14

L'architettura dei messaggi 1/3

● E' il cuore della piattaforma Mule

● E' basata sui principi degli ESB

● Esempio: Mule riceve un messaggio da una applicazione, lo trasforma in un formato comprensibile dalla applicazione di destinazione e lo spedisce a quest'ultima

Page 15: ESB: The Mule Solution

28/07/11 Titolo presentazione 15

L'architettura dei messaggi 2/3

● Esempio:

● Implementazione:

Page 16: ESB: The Mule Solution

28/07/11 Titolo presentazione 16

L'architettura dei messaggi 3/3

Componenti

● Endpoint:- Source system location- Target system location

● Transport:- Transformation- Protocols- Routing

● Service:- Validation- Archiving- Logging- Etc…

Page 17: ESB: The Mule Solution

28/07/11 Titolo presentazione 17

Enterpise Integration Patterns 1/2

● Message Filter● I Service component ricevono specifici message types

● Message Translator● Transformazioni: cambio formato, tag names, etc.

● Content Enricher (Message Enhancement)● Aggiunge dati al messaggio

● Content-based Router● Routing dei messaggi sulla base dei dati contenuti

● Messaging Bridge● Invio di messaggi con differenti protocolli o sistemi di

messaggistica

Page 18: ESB: The Mule Solution

28/07/11 Titolo presentazione 18

Enterpise Integration Patterns 2/2

● Content Filter● Ridurre il messaggio a pochi dati

● Polling Consumer● File directory, email, FTP

● Scatter-Gather● Spedire a multipli endpoints / aggregazione repliche

● Splitter● Batches, Lists, Collections, etc.

● Wire Tap● Ispezione messaggi (logging, monitoring...)

Page 19: ESB: The Mule Solution

28/07/11 Titolo presentazione 19

Componenti principali di Mule

● Service components● Transports● Endpoints● Transformers● Routers● Filters● Interceptors

Page 20: ESB: The Mule Solution

28/07/11 Titolo presentazione 20

Endpoints 1/2

Un endpoint è composto da:● Endpoint URI● Connector● Filter● Transaction● Properties

Endpoint scopes:● Global

- Definitio uno sola volta nel mule-config.xml- Può essere usato ovunque

● Local- Definito per un servizio- Limitato alla sola configurazione di quel servizio

Page 21: ESB: The Mule Solution

28/07/11 Titolo presentazione 21

Endpoints 2/2

● Regole di annotazione

● Descritto totalmente in XML

● E' definito un namespace per ogni transport

● Ogni transport ha specifici elementi (transport details)

● Template di annotazione XML:

<[transport ns]:[inbound-endpoint|outbound-endpoint] [transport details] />

● Examples:

● <file:outbound-endpoint path="directory/temp"/>

● <file:inbound-endpoint path="C:/indir" transformer-ref="FileToString"/>

● <cxf:inbound-endpoint address="http://atosorigin.com/webservice"/>

● <vm:inbound-endpoint path="jvmqueue.in"/>

● <http:inbound-endpoint url="http://localhost:8080/MyServletApp/>

Page 22: ESB: The Mule Solution

28/07/11 Titolo presentazione 22

Transports 1/2

● Responsabile della traffico di invio/ricezione dei messaggi verso i sistemi target/source

● E' composto da:

● Message receiver/dispatcher● Connector● Transformer

Page 23: ESB: The Mule Solution

28/07/11 Titolo presentazione 23

Transports 2/2

● Large number of available transports, such as :● AS400, JCR, SMTPS, FTP, POP3S, XMPP, Axis,

JDBC, SOAP, HTTP, Quartz, SMTP, BPM, Jetty, SSL, HTTPS, RMI, IMAPS, CXF, Jetty SSL, STDIO, IMAP, Servlet, VM, EJB, JMS, UDP, File, POP3, Email

● http://www.mulesoft.org/display/MULE2USER/ Available+Transports

Page 24: ESB: The Mule Solution

28/07/11 Titolo presentazione 24

Services

● Un service è tutto ciò che permette di creare un'accoppiamento end-to-end tra sistemi

● E' composta da:- Description: nome user friendly- Inbound Routers: con endpoint(s) e transformer(s)- Service Component

- contiene la logica di business necessaria all'esecuzione corretta della transazione- È un classe Java, un webservice o qualsiasi cosa di “pluggabile” nell'ESB

- Outbound Routers: con endpoint(s) e transformer(s)- Exception strategy: gestione delle eccezioni

Page 25: ESB: The Mule Solution

28/07/11 Titolo presentazione 25

Services components

● Un service component può essere un qualsiasi tipo di oggetto, uno spring bean, un POJO, un web service o una chiamata REST

● E' possibile scrivere facilmente dei componenti custom

● Mule usa la reflection per capire quale metodo invocare (Spesso sulla base del tipo del payload)

● Nota: un componente può anche non restituire un messaggio. Nell'esempio il log component non restituisce niente

package com.myfactory.muledemo.beans.MessageBean;public class CustomLogComponent implements Serializable {

public void accept(String payload) {System.out.println("Current payload: " +payload);

}}

Page 26: ESB: The Mule Solution

28/07/11 Titolo presentazione 26

Standard Service Components

Page 27: ESB: The Mule Solution

28/07/11 Titolo presentazione 27

Service Component Entry Point

● Un service component è spesso un POJO o un bean con diversi metodi

● Mule per determinare quale metodo invocare in un POJO segue le seguenti regole:

1. Verifica se è stata specificata la property “method”

2. Se il POJO implementa l'interfaccia org.mule.api.lifecycle.Callable Mule invoca il metodo onCall()

3. Se in configurazione è stato aggiunto un transformer, il tipo restituito da quest'ultimo viene usato per cercare se esiste un metodo che accetta tale tipo.

4. Se sono ancora presenti più metodi che rispondono ai requisiti precedenti Mule prende quello che corrisponde al tipo di payload

Page 28: ESB: The Mule Solution

28/07/11 Titolo presentazione 28

Transformers

● Componenti che trasformano da un formato di messaggio ad un altro o arricchiscono il contenuto del messaggio

● Configurati all'interno degli endpoints

● Vengono applicati automaticamente

● Si possono combinare diversi transformers (“chaining”)

● Mule applica transformers impliciti per le comunicazioni interne

Page 29: ESB: The Mule Solution

28/07/11 Titolo presentazione 29

Standard Transformers

● FileToString, ObjectToString, StringToEmailMessage● XML

● XmlToObject / ObjectToXml● DomToXml / XmlToDom● JXPath

● Encryption / Decryption● GZipCompress / GZipUncompress● Base64Encoder / Base64Decoder● StringToByteArray / ByteArrayToString

Page 30: ESB: The Mule Solution

28/07/11 Titolo presentazione 30

Custom Transformers 1/2

● E' facile scrivere transformers custom:● Estendendo

org.mule.transformer.AbstractTransformer

● o implementandoprotected Object doTransform(Object payload, String encoding)

● I tipi attesi in input e output sono definiti nel costruttore del transformer

Page 31: ESB: The Mule Solution

28/07/11 Titolo presentazione 31

Custom Transformers 2/2

public class FileToString extends FileToByteArray {public FileToString() {

//define accepted input typeregisterSourceType(byte[].class);//define return typesetReturnClass(String.class);

}

@Overridepublic Object doTransform(Object payload, String encoding)

throws TransformerException {byte[] bytes;String output;//call transform method from super classbytes = (byte[]) super.doTransform(payload, encoding);output = new String(bytes, encoding);return output;

}}

Page 32: ESB: The Mule Solution

28/07/11 Titolo presentazione 32

Filters

● Con i Filters si esprimono le condizioni per le quali un messaggio (o il suo payload) sono accettate e/o dirottate da/verso un determinato service

● Restituiscono un boolean per accettare o meno il passaggio del messaggio

● Standard filters:

● Payload Type Filter, RegEx Filter, Wildcard Filter, XPath Filter, Logic Filters, Message Property Filter

● Ancora una volta, scrivere il proprio filter non è difficile

<!-- Globally defined filter with name attribute --><payload-type-filter name="payloadFilter" expectedType="java.lang.String"><model><service><inbound>

<tcp:inbound-endpoint host="localhost" port="1234"/><filter ref="payloadFilter"/>

</inbound><echo-component/><service></model>

Page 33: ESB: The Mule Solution

28/07/11 Titolo presentazione 33

Interceptors

● Gli Interceptors permettono allo sviluppatore di inserire della logica in determinati punti del flusso esecutivo classico di Mule e potenzialmente anche di alterarne il normale proseguio

● Esistono due tipi di interceptors:

● Envelope interceptor

– Può essere eseguito prima e dopo l'invocazione di un componente

– Utile per azioni di logging e profiling● Message Interceptor

– Intercetta il messaggio e poi lo inoltra al prossimo elemento– Può stoppare il flusso stoppando l'inoltro– Utile per la verifica dei permessi

● Gli Interceptors possono essere raggrupati in interceptor-stacks

Page 34: ESB: The Mule Solution

28/07/11 Titolo presentazione 34

Interceptor Stack

Page 35: ESB: The Mule Solution

28/07/11 Titolo presentazione 35

Interceptor example

<interceptor-stack name="bunchOfInterceptors"><custom-interceptor class="com.mc.muledemo.CustomInterceptor"/><logging-interceptor/>

</interceptor-stack><model name="MyModel">

<service name="MyService"><component>

<custom-interceptor class="com.mc.muledemo.MyFirstInterceptor"/>

<logging-interceptor/><interceptor-stack ref="bunchOfInterceptors"/><timer-interceptor/>

</component></service>

</model>

Page 36: ESB: The Mule Solution

28/07/11 Titolo presentazione 36

Custom Interceptors

● Message Interceptors

● Implenta l'interfaccia Interceptor

MuleMessage intercept(Invocation invocation) throws MuleException;

● Deve restituire un MuleMessage che viene passato al successivo componente

● Envelope interceptors

● Implementa l'interfaccia EnvelopeInterceptor

MuleMessage before(Invocation invocation) throws MuleException;

MuleMessage after(Invocation invocation) throws MuleException;

● In configurazione sono definiti con il tag <custom-interceptor>

Page 37: ESB: The Mule Solution

28/07/11 Titolo presentazione 37

Routers

● Determinano cosa e dove i messaggi vengono inviati o ricevuti

● Due tipi principali● Outbound router

– Per definire l'invio dei messaggi in uscita● Inbound router

– Per configurare l'ascolto sui messaggi in entrata

● Definiti nei tag <inbound></inbound> e <outbound></outbound>

Page 38: ESB: The Mule Solution

28/07/11 Titolo presentazione 38

Piattaforma Tecnologica

Sistemi operativi:

Windows XP SP2, Windows 2000, Windows 2003 Server (32-bit if using the Java Service Wrapper), Linux, Solaris, AIX, HP-UX, and Mac OSX

Application Servers:

Tomcat, JBoss, WebSphere, WebLogic, and Jetty

Java JDK 1.5 and 1.6

Page 39: ESB: The Mule Solution

28/07/11 Titolo presentazione 39

Download e Installazione

● URL per il download:http://www.mulesoft.org/download-mule-esb-community-edition

● Scaricare il file .tar.gz ● Estrarre il file nella cartella scelta come Home

Directory di Mule● Creare la variabile d'ambiente MULE_HOME in

modo che punti alla directory di installazione di Mule

Page 40: ESB: The Mule Solution

28/07/11 Titolo presentazione 40

Struttura della cartella ROOT di Mule

● /bin - Startup scripts● /conf – File di configurazione● /examples - Esempi (ozionale)● /lib/user - JARs aggiuntive● /logs - Logs

Page 41: ESB: The Mule Solution

28/07/11 Titolo presentazione 41

Mule IDE per Eclipse (1)

● Accedere alla sezione Help>Install New Software di Eclipse

● Aggiungere il repository:http://dist.muleforge.org/mule-ide/updates/3.4/

● Selezionare Mule IDE e installare● Riavviare Eclipse

Page 42: ESB: The Mule Solution

28/07/11 Titolo presentazione 42

Mule IDE per Eclipse (2)

● Accedere alla sezione Window>Preferences

● Selezionare la voce Mule e poi Add● Specificare la Home Directory di Mule● Applicare le modifiche

Page 43: ESB: The Mule Solution

28/07/11 Titolo presentazione 43

Creazione di un progetto Mule su Eclipse

● Accedere alla sezione File > New > Project, selezionare la voce Mule > Mule Project.

● Dare un nome al progetto, assicurandosi che non esistano directory con lo stesso nome all'interno del workspace.

● Per aggiungere un progetto d'esempio spuntare la voce 'Add sample project content' e selezionare l'esempio desiderato.

● Verificare che siano installate le librerie Java 5 o versioni superiori e cliccare su Finish.

Page 44: ESB: The Mule Solution

28/07/11 Titolo presentazione 44

Lanciare un'applicazione Mule

● Nel caso di Mule IDE è sufficiente accedere alla cartella /conf del progetto e cliccare con il destro sul file your-config.xml e selezionare la voce Runs As > Mule Server

● Nel caso di un utilizzo esterno ad Eclipse è necessario: ● che il file di configurazione sia all'interno della

cartella /conf nella Home Directory di Mule● da questa posizione lanciare sul terminale il

comando mule [-config your-config.xml].

In questo caso inoltre è necessario inserire eventuali file .jar nella cartella /lib/user

Page 45: ESB: The Mule Solution

28/07/11 Titolo presentazione 45

Il file di configurazione

Page 46: ESB: The Mule Solution

28/07/11 Titolo presentazione 46

Un esempio di applicazione Mule: Echo (1)

<?xml version="1.0" encoding="UTF-8"?><mule xmlns="http://www.mulesource.org/schema/mule/core/2.2" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:spring="http://www.springframework.org/schema/beans" xmlns:stdio="http://www.mulesource.org/schema/mule/stdio/2.2" xmlns:vm="http://www.mulesource.org/schema/mule/vm/2.2" xsi:schemaLocation=" http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd http://www.mulesource.org/schema/mule/core/2.2 http://www.mulesource.org/schema/mule/core/2.2/mule.xsd http://www.mulesource.org/schema/mule/stdio/2.2 http://www.mulesource.org/schema/mule/stdio/2.2/mule-stdio.xsd http://www.mulesource.org/schema/mule/vm/2.2 http://www.mulesource.org/schema/mule/vm/2.2/mule-vm.xsd">

<description> This is a simple component example that demostrates how to expose a component over multiple transports. </description> <stdio:connector name="SystemStreamConnector" promptMessage="Please enter something: " messageDelayTime="1000"/>........</mule>

Page 47: ESB: The Mule Solution

28/07/11 Titolo presentazione 47

Un esempio di applicazione Mule: Echo (2)

<model name="echoSample"> <service name="EchoUMO"> <inbound> <stdio:inbound-endpoint system="IN"/> <vm:inbound-endpoint path="echo"/> </inbound>

<echo-component/>

<outbound> <pass-through-router> <stdio:outbound-endpoint

system="OUT"/> </pass-through-router> </outbound> </service> </model>

Page 48: ESB: The Mule Solution

28/07/11 Titolo presentazione 48

Un esempio di applicazione Mule: Echo esposto come web service SOAP

<?xml version="1.0" encoding="UTF-8"?><mule xmlns="http://www.mulesource.org/schema/mule/core/2.2" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:spring="http://www.springframework.org/schema/beans" xmlns:soap="http://www.mulesource.org/schema/mule/soap/2.2" xmlns:axis="http://www.mulesource.org/schema/mule/axis/2.2" xmlns:vm="http://www.mulesource.org/schema/mule/vm/2.2" xsi:schemaLocation=" http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd http://www.mulesource.org/schema/mule/core/2.2 http://www.mulesource.org/schema/mule/core/2.2/mule.xsd http://www.mulesource.org/schema/mule/soap/2.2 http://www.mulesource.org/schema/mule/soap/2.2/mule-soap.xsd http://www.mulesource.org/schema/mule/axis/2.2 http://www.mulesource.org/schema/mule/axis/2.2/mule-axis.xsd http://www.mulesource.org/schema/mule/vm/2.2 http://www.mulesource.org/schema/mule/vm/2.2/mule-vm.xsd">

<description> Per invocare il servizio: http://localhost:65081/services/EchoUMO?method=echo&param=GERONIMOOOO WSDL del servizio hall'indirizzo: http://localhost:65081/services/EchoUMO?wsdl </description>

<model name="echoSample"> <service name="EchoUMO"> <inbound> <axis:inbound-endpoint address="http://localhost:65081/services"> <soap:http-to-soap-request-transformer/> </axis:inbound-endpoint> <axis:inbound-endpoint address="http://localhost:65082/services"/> <vm:inbound-endpoint path="echo" /> </inbound> <echo-component/> </service> </model>

</mule>

Page 49: ESB: The Mule Solution

28/07/11 Titolo presentazione 49

Link Utili

● Guida Utente:http://www.mulesoft.org/display/MULE2USER/Home

● API documentation:http://www.mulesoft.org/docs/site/current2/apidocs/

● Esempi:http://www.mulesoft.org/display/MULE2INTRO/Examples

● Blog "From the Mule's mouth"http://blogs.mulesoft.org/

● Corso Online: Mule ESB Fundamentalshttp://www.mulesoft.com/virtual-course-mule-esb-fundamentals

● Mule ESB & Integration resourceshttp://www.mulesoft.com/esb-integration-resources