Transcript of Integration mule
- 1. Integration med Mule ESB
- 2. Outline Grunderna Enterprise Service Bus Hur man installerar
och startar mule Hur man skapar projekt med Maven Ett enkelt flde
Praktiskt Endpoints, Transports och Connectorer Transformationer
Komponenter Avancerade Flden
- 3. Enterprise Service Bus En ESB r - - en central punkt dr man
exponerar funktionalitet och data. Medfr: - lsare koppling mellan
system - Wrappa gamla tekniker och exponera som nya -
teranvndbarhet av APIer - Kan exponera data p kanoniskt format -
Kan applicera skerhet etc.
- 4. Mule ESB Open source ESB. Finns en Enterprise variant. Byggt
i Java. Bygg egna tillgg i Java. Flden skapas i XML (/XSD).
Scriptbart med - Groovy - Python - Ruby - Javascript - Beanshell
Transformering med XSLT. Filtreringsmjligheter etc..
- 5. Installera och kra
http://www.mulesoft.org/download-mule-esb- community-edition
Standalone r den rena servervarianten. tar xvfz
mule-standalone-3.4.0.tar.gz Unzip fr Windows. cd
mule-standalone-3.4.0/bin/ ./mule start tail f ../logs/*.log
Startar standardprojektet under /apps/.
- 6. Skapa project Projekthantering med Maven mvn
org.mule.tools:mule-project-archetype:create - Dinteractive=false
-DartifactId=Labb01 -Ddescription="Facade for XXX"
-DmuleVersion=3.3.1 -Dpackage=com/crepido/mule -
Dtransports=http,vm,file -Dmodules=cxf,scripting,xml ; ( cd Labb01
; mvn eclipse:eclipse ; mkdir -p src/main/resources ; cd
src/main/resources ; mkdir mule ; mkdir xslt ) Eclipse: Import
Existing Project
- 7. Frsta fldet Bygg och deploy: mvn clean package cp
target/labb01-1.0-SNAPSHOT.zip /apps
- 8. Frsta fldet - Resultat
- 9. Endpoints: Transports och Connectors En endpoint r en
kommunikationspunkt. En lyssnare, ett anrop ivg till en webservice
eller lsning/skrivning ifrn/till fil. En Transport definierar
protokollet fr en endpoint. Tex Fil, UDP, DB, JMS, HTTP En
Connector r en anpassad transport och endpoint till ett visst
API.
- 10. Exempel FIL till WS till Fil
- 11. Transformatorer Transformation av meddelanden att ndra
formateringen av datan - r en naturlig del av integration, och
sjlvklart ven en del av Mule ESB. Finns ett antal
standardtransformatorer, tex:
- 13. Transformatorer - Groovy
- 14. Komponenter Komponenter skter funktionalitet som inte rr
transformering av meddelandets innehll. Till exempel: Utkad
loggning. Modifiering av meddelanden i helhet. Businesslogik.
Skerhet. Implementeras i Java eller ett ngot av tidigare nmnda
scriptsprk.
- 15. Komponenter Exempel public class GroupingService implements
Callable { public Object onCall(MuleEventContext eventContext) {
code here return message; } }
- 16. Loggning Ifrn Java/Groovy kod funkar log4j. I flden
hanteras det manuellt. Loggar ut texten angiven som message. Loggar
ut textmeddelande + sjlva payloaden.
- 17. Annat bra att veta Tillter flera inbound endpoints till ett
flde. Hanterar WSDLer, tillter validering samt ger lite
felhantering. Stter en session-property med data ifrn
meddelandet.
- 18. Lite mer Anropar en extern tjnst och berikar data ifrn
den.
- 19. Request-reply / All / Async Request-reply Mjliggr att vi gr
ngot och vntar p ett anrop. All kopierar upp meddelandet och
skickar ett till varje del. Async Lsgr sig som en egen trd.
Correlation Stter metadata p meddelandet (jag r 1 av 3)
- 20. Vntar p alla meddelanden och samlar dem (krver correlation)
Meddelanden blir en Lista. Kan sls ihop med en enkel
java-component. for (MuleMessage m : msg.getMessagesAsArray()) {
try { sb.append(m.getPayloadAsString()); } catch (Exception e) {
e.printStackTrace(); } } Aggregering
- 21. Avancerat exempel: RDBE Ett anrop till RDBE innehller
ndvndig indata till underliggande tjnster. RDBE skall anropa ett
antal tjnster, samla ihop resultatet och transformera det. Sedan
returneras det till anvndaren.
- 22. Avancerat exempel: RDBE