SlideShare a Scribd company logo
Implementing an ESB using Mule A Real World Example JavaZone 2005 Ross Mason [email_address]
Agenda ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Introduction to ESB ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Properties of an ESB ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Introduction to Mule ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Mule Topologies Enterprise Service Bus Client/Server and Hub n' Spoke Peer Network Pipeline Enterprise Service Network
Mule and JBI ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Mule and JBI Differences ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Loan Broker ,[object Object]
Shopping for Loans ,[object Object],[object Object],[object Object],[object Object]
The Loan Broker ,[object Object],[object Object],[object Object],[object Object],[object Object]
Components Marshals a request from the message bus to the Lender Application. Lender Gateway Based on the customer's credit scoring, loan amount and duration, the lender service will select banks from which to request a LoanQuote. Lender Service Marshals a request between the message bus and the Credit Agency Application. Credit Agency Gateway An external service provider that provides crediting checking on customers to ensure the loan amount requested is feesible. Credit Agency Service Dispatches LoanRequests to one or more banks. Banking Gateway Receives LoanRequests (customer, SS number, loan amount, duration) and is responsible for aggregating LoanQuotes into response for the request. Loan Broker Service
Orchestration ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Design Considerations ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Loan Broker Design
Request Event Flow ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Loan Broker ,[object Object]
Design With Mule
The Message ,[object Object],[object Object],[object Object],public class LoanQuoteRequest implements Serializable { /** The request contains Customer info and loan amount and duration*/ private  CustomerQuoteRequest  customerRequest; /** credit profile for the customer */ private  CreditProfile  creditProfile; /** A list of lenders for this request */ private  Bank[]  lenders; /** A loan quote from a bank */ private  LoanQuote  loanQuote; ....... }
Client Request ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
The Message ,[object Object],[object Object],public Object  transform (Object src, UMOEventContext context)  throws TransformerException { String name = context.getStringProperty(" name "); int ssn = context.getIntProperty(" ssn "); double amount = context.getDoubleProperty(" loanAmount "); double duration = context.getDoubleProperty(" loanDuration "); Customer customer = new Customer(name, ssn); CustomerQuoteRequest  request =  new  CustomerQuoteRequest (customer, amount, duration); return request; }
Loan Broker Service ,[object Object],[object Object],public class LoanBroker { public LoanQuoteRequest requestLoanQuote( CustomerQuoteRequest  request) throws Exception { LoanQuoteRequest  bqr = new  LoanQuoteRequest (); bqr.setCustomerRequest(request); return bqr; } }
Loan Broker Configuration ,[object Object],<mule-descriptor name=&quot;LoanBroker&quot; implementation=&quot;org.mule.samples.loanbroker.esb.LoanBroker&quot;> <inbound-router> <endpoint address=&quot; jetty:rest://localhost:8080/loanbroker &quot;/> </inbound-router> <outbound-router> <router className=&quot;org.mule.routing.outbound.OutboundPassThroughRouter&quot;> <endpoint address=&quot; jms://esb.credit.agency &quot;/> </router> </outbound-router> <response-router timeout=&quot;10000&quot;> <endpoint address=&quot; jms://esb.loan.quotes &quot;/> <router className=&quot; org.mule.samples.loanbroker.esb.routers. BankQuotesResponseAggregator &quot;/> </response-router> </mule-descriptor>
Credit Agency Gateway ,[object Object],[object Object],[object Object]
Credit Agency Configuration <mule-descriptor name=&quot;CreditAgencyGateway&quot; implementation=&quot;org.mule.components.builder.ReflectionMessageBuilder&quot;> <inbound-router> <endpoint address=&quot; jms://credit.agency &quot;/> </inbound-router> <outbound-router> <router className=&quot;org.mule.routing.outbound.FilteringRouter&quot;> <endpoint address=&quot; ejb://localhost:1099/local/CreditAgency?method=getCreditProfile “  transformers=“ LoanQuoteRequestToCreditProfileArgs ” responseTransformers=&quot; CreditProfileXmlToCreditProfile “ />  <properties> <list name=&quot; methodArgumentTypes &quot;> <entry value=&quot;java.lang.String&quot;/> <entry value=&quot;java.lang.String&quot;/> </list> </properties> </endpoint> <endpoint address=&quot; jms://esb.lender.service &quot;/> </router> </outbound-router> </mule-descriptor>
Credit Agency Configuration ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Lender Gateway ,[object Object],[object Object],[object Object],[object Object]
Lender Gateway Configuration Lender Service <mule-descriptor name=&quot;LenderService&quot; implementation=&quot;org.mule.samples.loanbroker.esb.LenderService&quot;> <inbound-router> <endpoint address=&quot;vm://lender.service&quot;/> </inbound-router> </mule-descriptor> Lender Gatway <mule-descriptor name=&quot;LenderGateway”  implementation=&quot;org.mule.components.simple.BridgeComponent&quot;> <inbound-router> <endpoint address=&quot;jms://esb.lender.service&quot;/> </inbound-router> <outbound-router> <router className=&quot;org.mule.routing.outbound.ChainingRouter&quot;> <endpoint address=&quot;vm://lender.service&quot;/> <endpoint address=&quot;jms://esb.banks&quot;/> </router> </outbound-router> </mule-descriptor>
Banking Gateway ,[object Object],[object Object],<mule-descriptor name=&quot;BankingGateway&quot; implementation=&quot;org.mule.components.simple.BridgeComponent&quot;> <inbound-router> <endpoint address=&quot; jms://esb.banks &quot;/> </inbound-router> <outbound-router> <router className=&quot;org.mule.routing.outbound. StaticRecipientList &quot;> < reply-to  address=&quot; jms://esb.loan.quotes &quot;/> </router> </outbound-router> </mule-descriptor>
Banks ,[object Object],<mule-descriptor name=&quot;Bank1&quot; inboundEndpoint=&quot; axis:http://localhost:10001/services &quot; implementation=&quot;org.mule.samples.loanbroker.Bank&quot;> </mule-descriptor> ,[object Object]
Choosing the best Quote ,[object Object],[object Object],<response-router timeout=&quot;10000&quot;> <endpoint address=&quot; jms://esb.loan.quotes &quot;/> <router className=&quot;org.mule.samples.loanbroker.esb.routers. BankQuotesResponseAggregator &quot;/> </response-router> ,[object Object],[object Object]
Event Correlation ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Response Aggregation ,[object Object],protected UMOMessage aggregateEvents(EventGroup events) throws RoutingException { . . . . List list = events.getEvents(); for (Iterator iterator = list.iterator(); iterator.hasNext();)  { event = (UMOEvent) iterator.next(); quote = (LoanQuote)event.getTransformedMessage(); logger.info(&quot;Processing quote: &quot; + quote); if (lowestQuote == null)  { lowestQuote = quote; } else if (quote.getInterestRate() < lowestQuote.getInterestRate())  { lowestQuote = quote; } } return new MuleMessage(lowestQuote, event.getProperties()); }
Transports ,[object Object],[object Object],[object Object]
Transport Configuration ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Fault Tolerance ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Scaling ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Summary ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
The Mule Project ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Resources ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Slides and Code ,[object Object],[object Object],[object Object],[object Object]
Questions ,[object Object]

More Related Content

What's hot

Introduction to mule esb's
Introduction to mule esb's Introduction to mule esb's
Introduction to mule esb's
F K
 
Introduction to JMS and Message-Driven POJOs
Introduction to JMS and Message-Driven POJOsIntroduction to JMS and Message-Driven POJOs
Introduction to JMS and Message-Driven POJOs
Matt Stine
 
Implementing an Esb using Mule
Implementing an Esb using MuleImplementing an Esb using Mule
Implementing an Esb using Mule
AbdulImrankhan7
 
Concepts and Derivatives of Web Services
Concepts and Derivatives of Web ServicesConcepts and Derivatives of Web Services
Concepts and Derivatives of Web Services
IOSR Journals
 
Mule real-world-old
Mule real-world-oldMule real-world-old
Mule real-world-old
F K
 
WEB SERVICES COMPOSITION METHODS AND TECHNIQUES: A REVIEW
WEB SERVICES COMPOSITION METHODS AND TECHNIQUES: A REVIEWWEB SERVICES COMPOSITION METHODS AND TECHNIQUES: A REVIEW
WEB SERVICES COMPOSITION METHODS AND TECHNIQUES: A REVIEW
ijcseit
 
Web Service Composition
Web Service CompositionWeb Service Composition
Web Service Composition
Payam Jahanshahi
 
Soa 24 enterprise service bus
Soa 24 enterprise service busSoa 24 enterprise service bus
Soa 24 enterprise service bus
Vaibhav Khanna
 
Chap 1
Chap 1Chap 1
Exchange cas server providing exchange clients access to their mailbox part...
Exchange cas server  providing exchange clients access to their mailbox  part...Exchange cas server  providing exchange clients access to their mailbox  part...
Exchange cas server providing exchange clients access to their mailbox part...
Eyal Doron
 
Web service introduction 2
Web service introduction 2Web service introduction 2
Web service introduction 2
Sagara Gunathunga
 
Introduction to Service Oriented Architectures, SOAP/WSDL Web Services and RE...
Introduction to Service Oriented Architectures, SOAP/WSDL Web Services and RE...Introduction to Service Oriented Architectures, SOAP/WSDL Web Services and RE...
Introduction to Service Oriented Architectures, SOAP/WSDL Web Services and RE...
ecosio GmbH
 
Integration of Web Service Stacks in an Esb
Integration of Web Service Stacks in an EsbIntegration of Web Service Stacks in an Esb
Integration of Web Service Stacks in an Esb
Wen Zhu
 
NEW APPROACH TO DEVELOP THE MESSENGER APPLICATION: FROM CLIENTSERVER DESIGN T...
NEW APPROACH TO DEVELOP THE MESSENGER APPLICATION: FROM CLIENTSERVER DESIGN T...NEW APPROACH TO DEVELOP THE MESSENGER APPLICATION: FROM CLIENTSERVER DESIGN T...
NEW APPROACH TO DEVELOP THE MESSENGER APPLICATION: FROM CLIENTSERVER DESIGN T...
cscpconf
 
Web service architecture
Web service architectureWeb service architecture
Web service architecture
Muhammad Shahroz Anwar
 
Wso2 2degrees-case-study
Wso2 2degrees-case-studyWso2 2degrees-case-study
Wso2 2degrees-case-study
oncomdeky
 
Unit iii soa
Unit iii soaUnit iii soa
Unit iii soa
smitha273566
 
20090213 Friday Food Croslocis
20090213 Friday Food Croslocis20090213 Friday Food Croslocis
20090213 Friday Food Croslocis
imec.archive
 
Jms
JmsJms

What's hot (19)

Introduction to mule esb's
Introduction to mule esb's Introduction to mule esb's
Introduction to mule esb's
 
Introduction to JMS and Message-Driven POJOs
Introduction to JMS and Message-Driven POJOsIntroduction to JMS and Message-Driven POJOs
Introduction to JMS and Message-Driven POJOs
 
Implementing an Esb using Mule
Implementing an Esb using MuleImplementing an Esb using Mule
Implementing an Esb using Mule
 
Concepts and Derivatives of Web Services
Concepts and Derivatives of Web ServicesConcepts and Derivatives of Web Services
Concepts and Derivatives of Web Services
 
Mule real-world-old
Mule real-world-oldMule real-world-old
Mule real-world-old
 
WEB SERVICES COMPOSITION METHODS AND TECHNIQUES: A REVIEW
WEB SERVICES COMPOSITION METHODS AND TECHNIQUES: A REVIEWWEB SERVICES COMPOSITION METHODS AND TECHNIQUES: A REVIEW
WEB SERVICES COMPOSITION METHODS AND TECHNIQUES: A REVIEW
 
Web Service Composition
Web Service CompositionWeb Service Composition
Web Service Composition
 
Soa 24 enterprise service bus
Soa 24 enterprise service busSoa 24 enterprise service bus
Soa 24 enterprise service bus
 
Chap 1
Chap 1Chap 1
Chap 1
 
Exchange cas server providing exchange clients access to their mailbox part...
Exchange cas server  providing exchange clients access to their mailbox  part...Exchange cas server  providing exchange clients access to their mailbox  part...
Exchange cas server providing exchange clients access to their mailbox part...
 
Web service introduction 2
Web service introduction 2Web service introduction 2
Web service introduction 2
 
Introduction to Service Oriented Architectures, SOAP/WSDL Web Services and RE...
Introduction to Service Oriented Architectures, SOAP/WSDL Web Services and RE...Introduction to Service Oriented Architectures, SOAP/WSDL Web Services and RE...
Introduction to Service Oriented Architectures, SOAP/WSDL Web Services and RE...
 
Integration of Web Service Stacks in an Esb
Integration of Web Service Stacks in an EsbIntegration of Web Service Stacks in an Esb
Integration of Web Service Stacks in an Esb
 
NEW APPROACH TO DEVELOP THE MESSENGER APPLICATION: FROM CLIENTSERVER DESIGN T...
NEW APPROACH TO DEVELOP THE MESSENGER APPLICATION: FROM CLIENTSERVER DESIGN T...NEW APPROACH TO DEVELOP THE MESSENGER APPLICATION: FROM CLIENTSERVER DESIGN T...
NEW APPROACH TO DEVELOP THE MESSENGER APPLICATION: FROM CLIENTSERVER DESIGN T...
 
Web service architecture
Web service architectureWeb service architecture
Web service architecture
 
Wso2 2degrees-case-study
Wso2 2degrees-case-studyWso2 2degrees-case-study
Wso2 2degrees-case-study
 
Unit iii soa
Unit iii soaUnit iii soa
Unit iii soa
 
20090213 Friday Food Croslocis
20090213 Friday Food Croslocis20090213 Friday Food Croslocis
20090213 Friday Food Croslocis
 
Jms
JmsJms
Jms
 

Similar to Javazone 2005-mule-real-world-old

4. mule real-world-old
4. mule real-world-old4. mule real-world-old
4. mule real-world-old
AbdulImrankhan7
 
Mule execution
Mule executionMule execution
Mule execution
princeirfancivil
 
Mule execution
Mule executionMule execution
Mule execution
princeirfancivil
 
Mule execution
Mule executionMule execution
Mule execution
Phaniu
 
Mule execution
Mule executionMule execution
Mule execution
D.Rajesh Kumar
 
Mule execution
Mule executionMule execution
Mule execution
irfan1008
 
Implementation in mule esb
Implementation in mule esbImplementation in mule esb
Implementation in mule esb
Vamsi Krishna
 
Development using anypointstudio
Development using anypointstudioDevelopment using anypointstudio
Development using anypointstudio
himajareddys
 
Mule Fundamentals
Mule FundamentalsMule Fundamentals
Mule Fundamentals
Khasim Cise
 
mule real world
mule real worldmule real world
mule real world
Rajkattamuri
 
Mule real-world
Mule real-worldMule real-world
Mule real-world
AbdulImrankhan7
 
Mule real world old
Mule real world oldMule real world old
Mule real world old
Mohammed625
 
Mule real-world-old
Mule real-world-oldMule real-world-old
Mule real-world-old
Praneethchampion
 
CV_PurnimaBalla_WCS-Consultant_7Yrs
CV_PurnimaBalla_WCS-Consultant_7YrsCV_PurnimaBalla_WCS-Consultant_7Yrs
CV_PurnimaBalla_WCS-Consultant_7Yrs
Purnima Balla
 
Web services SOAP Notes
Web services SOAP NotesWeb services SOAP Notes
Web services SOAP Notes
Sunil Kumar Gunasekaran
 
Subscription based control system to automate management of events for robots
Subscription based control system to automate management of events for robotsSubscription based control system to automate management of events for robots
Subscription based control system to automate management of events for robots
dbpublications
 
WCF tutorial
WCF tutorialWCF tutorial
WCF tutorial
Abhi Arya
 
L0704065070
L0704065070L0704065070
L0704065070
IJERD Editor
 
Real world integration using mule
Real world integration using muleReal world integration using mule
Real world integration using mule
Manav Prasad
 
Meetup6 microservices for the IoT
Meetup6 microservices for the IoTMeetup6 microservices for the IoT
Meetup6 microservices for the IoT
Francesco Rago
 

Similar to Javazone 2005-mule-real-world-old (20)

4. mule real-world-old
4. mule real-world-old4. mule real-world-old
4. mule real-world-old
 
Mule execution
Mule executionMule execution
Mule execution
 
Mule execution
Mule executionMule execution
Mule execution
 
Mule execution
Mule executionMule execution
Mule execution
 
Mule execution
Mule executionMule execution
Mule execution
 
Mule execution
Mule executionMule execution
Mule execution
 
Implementation in mule esb
Implementation in mule esbImplementation in mule esb
Implementation in mule esb
 
Development using anypointstudio
Development using anypointstudioDevelopment using anypointstudio
Development using anypointstudio
 
Mule Fundamentals
Mule FundamentalsMule Fundamentals
Mule Fundamentals
 
mule real world
mule real worldmule real world
mule real world
 
Mule real-world
Mule real-worldMule real-world
Mule real-world
 
Mule real world old
Mule real world oldMule real world old
Mule real world old
 
Mule real-world-old
Mule real-world-oldMule real-world-old
Mule real-world-old
 
CV_PurnimaBalla_WCS-Consultant_7Yrs
CV_PurnimaBalla_WCS-Consultant_7YrsCV_PurnimaBalla_WCS-Consultant_7Yrs
CV_PurnimaBalla_WCS-Consultant_7Yrs
 
Web services SOAP Notes
Web services SOAP NotesWeb services SOAP Notes
Web services SOAP Notes
 
Subscription based control system to automate management of events for robots
Subscription based control system to automate management of events for robotsSubscription based control system to automate management of events for robots
Subscription based control system to automate management of events for robots
 
WCF tutorial
WCF tutorialWCF tutorial
WCF tutorial
 
L0704065070
L0704065070L0704065070
L0704065070
 
Real world integration using mule
Real world integration using muleReal world integration using mule
Real world integration using mule
 
Meetup6 microservices for the IoT
Meetup6 microservices for the IoTMeetup6 microservices for the IoT
Meetup6 microservices for the IoT
 

Recently uploaded

Programming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup SlidesProgramming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup Slides
Zilliz
 
Artificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopmentArtificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopment
Octavian Nadolu
 
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
Edge AI and Vision Alliance
 
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Speck&Tech
 
Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024
Jason Packer
 
WeTestAthens: Postman's AI & Automation Techniques
WeTestAthens: Postman's AI & Automation TechniquesWeTestAthens: Postman's AI & Automation Techniques
WeTestAthens: Postman's AI & Automation Techniques
Postman
 
HCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAUHCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAU
panagenda
 
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
名前 です男
 
GenAI Pilot Implementation in the organizations
GenAI Pilot Implementation in the organizationsGenAI Pilot Implementation in the organizations
GenAI Pilot Implementation in the organizations
kumardaparthi1024
 
Introduction of Cybersecurity with OSS at Code Europe 2024
Introduction of Cybersecurity with OSS  at Code Europe 2024Introduction of Cybersecurity with OSS  at Code Europe 2024
Introduction of Cybersecurity with OSS at Code Europe 2024
Hiroshi SHIBATA
 
National Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practicesNational Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practices
Quotidiano Piemontese
 
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdfHow to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
Chart Kalyan
 
GraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracyGraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracy
Tomaz Bratanic
 
OpenID AuthZEN Interop Read Out - Authorization
OpenID AuthZEN Interop Read Out - AuthorizationOpenID AuthZEN Interop Read Out - Authorization
OpenID AuthZEN Interop Read Out - Authorization
David Brossard
 
Driving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success StoryDriving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success Story
Safe Software
 
AI 101: An Introduction to the Basics and Impact of Artificial Intelligence
AI 101: An Introduction to the Basics and Impact of Artificial IntelligenceAI 101: An Introduction to the Basics and Impact of Artificial Intelligence
AI 101: An Introduction to the Basics and Impact of Artificial Intelligence
IndexBug
 
Nordic Marketo Engage User Group_June 13_ 2024.pptx
Nordic Marketo Engage User Group_June 13_ 2024.pptxNordic Marketo Engage User Group_June 13_ 2024.pptx
Nordic Marketo Engage User Group_June 13_ 2024.pptx
MichaelKnudsen27
 
UI5 Controls simplified - UI5con2024 presentation
UI5 Controls simplified - UI5con2024 presentationUI5 Controls simplified - UI5con2024 presentation
UI5 Controls simplified - UI5con2024 presentation
Wouter Lemaire
 
Digital Marketing Trends in 2024 | Guide for Staying Ahead
Digital Marketing Trends in 2024 | Guide for Staying AheadDigital Marketing Trends in 2024 | Guide for Staying Ahead
Digital Marketing Trends in 2024 | Guide for Staying Ahead
Wask
 
June Patch Tuesday
June Patch TuesdayJune Patch Tuesday
June Patch Tuesday
Ivanti
 

Recently uploaded (20)

Programming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup SlidesProgramming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup Slides
 
Artificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopmentArtificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopment
 
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
 
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
 
Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024
 
WeTestAthens: Postman's AI & Automation Techniques
WeTestAthens: Postman's AI & Automation TechniquesWeTestAthens: Postman's AI & Automation Techniques
WeTestAthens: Postman's AI & Automation Techniques
 
HCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAUHCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAU
 
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
 
GenAI Pilot Implementation in the organizations
GenAI Pilot Implementation in the organizationsGenAI Pilot Implementation in the organizations
GenAI Pilot Implementation in the organizations
 
Introduction of Cybersecurity with OSS at Code Europe 2024
Introduction of Cybersecurity with OSS  at Code Europe 2024Introduction of Cybersecurity with OSS  at Code Europe 2024
Introduction of Cybersecurity with OSS at Code Europe 2024
 
National Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practicesNational Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practices
 
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdfHow to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
 
GraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracyGraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracy
 
OpenID AuthZEN Interop Read Out - Authorization
OpenID AuthZEN Interop Read Out - AuthorizationOpenID AuthZEN Interop Read Out - Authorization
OpenID AuthZEN Interop Read Out - Authorization
 
Driving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success StoryDriving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success Story
 
AI 101: An Introduction to the Basics and Impact of Artificial Intelligence
AI 101: An Introduction to the Basics and Impact of Artificial IntelligenceAI 101: An Introduction to the Basics and Impact of Artificial Intelligence
AI 101: An Introduction to the Basics and Impact of Artificial Intelligence
 
Nordic Marketo Engage User Group_June 13_ 2024.pptx
Nordic Marketo Engage User Group_June 13_ 2024.pptxNordic Marketo Engage User Group_June 13_ 2024.pptx
Nordic Marketo Engage User Group_June 13_ 2024.pptx
 
UI5 Controls simplified - UI5con2024 presentation
UI5 Controls simplified - UI5con2024 presentationUI5 Controls simplified - UI5con2024 presentation
UI5 Controls simplified - UI5con2024 presentation
 
Digital Marketing Trends in 2024 | Guide for Staying Ahead
Digital Marketing Trends in 2024 | Guide for Staying AheadDigital Marketing Trends in 2024 | Guide for Staying Ahead
Digital Marketing Trends in 2024 | Guide for Staying Ahead
 
June Patch Tuesday
June Patch TuesdayJune Patch Tuesday
June Patch Tuesday
 

Javazone 2005-mule-real-world-old

  • 1. Implementing an ESB using Mule A Real World Example JavaZone 2005 Ross Mason [email_address]
  • 2.
  • 3.
  • 4.
  • 5.
  • 6. Mule Topologies Enterprise Service Bus Client/Server and Hub n' Spoke Peer Network Pipeline Enterprise Service Network
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12. Components Marshals a request from the message bus to the Lender Application. Lender Gateway Based on the customer's credit scoring, loan amount and duration, the lender service will select banks from which to request a LoanQuote. Lender Service Marshals a request between the message bus and the Credit Agency Application. Credit Agency Gateway An external service provider that provides crediting checking on customers to ensure the loan amount requested is feesible. Credit Agency Service Dispatches LoanRequests to one or more banks. Banking Gateway Receives LoanRequests (customer, SS number, loan amount, duration) and is responsible for aggregating LoanQuotes into response for the request. Loan Broker Service
  • 13.
  • 14.
  • 16.
  • 17.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25. Credit Agency Configuration <mule-descriptor name=&quot;CreditAgencyGateway&quot; implementation=&quot;org.mule.components.builder.ReflectionMessageBuilder&quot;> <inbound-router> <endpoint address=&quot; jms://credit.agency &quot;/> </inbound-router> <outbound-router> <router className=&quot;org.mule.routing.outbound.FilteringRouter&quot;> <endpoint address=&quot; ejb://localhost:1099/local/CreditAgency?method=getCreditProfile “ transformers=“ LoanQuoteRequestToCreditProfileArgs ” responseTransformers=&quot; CreditProfileXmlToCreditProfile “ /> <properties> <list name=&quot; methodArgumentTypes &quot;> <entry value=&quot;java.lang.String&quot;/> <entry value=&quot;java.lang.String&quot;/> </list> </properties> </endpoint> <endpoint address=&quot; jms://esb.lender.service &quot;/> </router> </outbound-router> </mule-descriptor>
  • 26.
  • 27.
  • 28. Lender Gateway Configuration Lender Service <mule-descriptor name=&quot;LenderService&quot; implementation=&quot;org.mule.samples.loanbroker.esb.LenderService&quot;> <inbound-router> <endpoint address=&quot;vm://lender.service&quot;/> </inbound-router> </mule-descriptor> Lender Gatway <mule-descriptor name=&quot;LenderGateway” implementation=&quot;org.mule.components.simple.BridgeComponent&quot;> <inbound-router> <endpoint address=&quot;jms://esb.lender.service&quot;/> </inbound-router> <outbound-router> <router className=&quot;org.mule.routing.outbound.ChainingRouter&quot;> <endpoint address=&quot;vm://lender.service&quot;/> <endpoint address=&quot;jms://esb.banks&quot;/> </router> </outbound-router> </mule-descriptor>
  • 29.
  • 30.
  • 31.
  • 32.
  • 33.
  • 34.
  • 35.
  • 36.
  • 37.
  • 38.
  • 39.
  • 40.
  • 41.
  • 42.