SlideShare a Scribd company logo
Design ConsiderationsDesign Considerations
1
About Mule applicationsAbout Mule applications
 Java based apps that must be deployed to a Mule runtime
– Either on-premise or on CloudHub
 Packaged as zip file, referred to as deployable archive
– Universal format, for both on-premise and cloud
deployments
 Consist of one or more flows, stored in one or more XML
files
 Can be developed, built and packaged using Anypoint
Studio or a third party build solution (Maven, Gradle)
 Built around the standard software pattern of Input-
Processing-Output
2
Basic design considerationsBasic design considerations
 Application type?
– Real time vs batch, high volume vs high throughput
 Monolithic vs modular design
– Team development, development standards & best practices
 Cloud-based vs on-prem vs hybrid
 Code managed by Anypoint Studio or Maven/Gradle
– Maven/Gradle needed for setting up continuous integration
 Security considerations
– Securing messages/communications
– Properties management
– Secured services/APIs
3
Receiving thread
Non-functional design considerationsNon-functional design considerations
 Synchronous vs asynchronous
 Single-threaded vs multi-threaded
 Transactionality options
 High throughput vs reliability
4
Receiving thread
Infrastructure design considerationsInfrastructure design considerations
 Single runtime vs multiple runtimes vs cluster
 High availability
 Fail over
 Load balancing
 Bare-metal vs virtualization vs containers
5
Receiving thread
Development best practicesDevelopment best practices
 Keep applications synchronous if possible (avoid
serialization)
 Store as little as possible in session variables (serialization
overhead)
 Use bean payloads whenever possible
 Prefer MEL over JVM scripting languages
 Use VM queues instead of external message brokers if
possible
 Use flow references instead of VM queues if possible
 Cache aggressively
 Avoid large volumes of business events
 Consider using message compression for asynchronous apps
6
Receiving thread
Structuring Mule applicationsStructuring Mule applications
 Mule applications can (and should) be modular
– Monolithic applications are difficult to read and
maintain
– Modular applications are better suitable for team
development
– Modular applications encourage reusability
 A Mule application can consist of multiple Anypoint Studio
projects, to be assembled during the build process
 Design flows to be small
 Extract duplicate code into reusable (sub/private) flows
 Define global exception strategies, applied on flow via
references
7
Receiving thread
Organizing Mule configuration filesOrganizing Mule configuration files
 Separating an application into multiple configuration files makes code easier
to read, work with, test and more maintainable
 Two supported options for loading multiple configuration files
– Side-by-side: Provide a list of independent configuration files
to load
Config.resources=global-config.xml,admin-config.xml
– Imported: Have one configuration file import several others,
which in-turn can import other files using Spring
 <spring:beans>
 <spring:import resource=”global-config.xml" />
 <spring:importresource=”creditchecks-config.xml" />
 <spring:importresource=”loanprocessing-config.xml” />
 </spring:beans>
 import other files using Spring
 Can be used simultaneously
– All configuration files are loaded in the same context
8
THANKS
9
THANKS
9

More Related Content

What's hot

Mule esb introduction
Mule esb introductionMule esb introduction
Mule esb introduction
Praneethchampion
 
Performance tuning in mule
Performance tuning in mulePerformance tuning in mule
Performance tuning in mule
Son Nguyen
 
Mule splitters
Mule splittersMule splitters
Mule splitters
Gandham38
 
Mule Script Transformer
Mule Script TransformerMule Script Transformer
Mule Script Transformer
Ankush Sharma
 
Vm component in mule
Vm component in muleVm component in mule
Vm component in mule
javeed_mhd
 
Controlling message flow
Controlling message flowControlling message flow
Controlling message flow
Rajarajan Sadhasivam
 
File connector mule
File connector   muleFile connector   mule
File connector mule
Sindhu VL
 
File connector
File connectorFile connector
File connector
krishashi
 
Mule overview
Mule overviewMule overview
Mule overview
Praneethchampion
 
Scatter gather component - mule
Scatter gather component - muleScatter gather component - mule
Scatter gather component - mule
Sindhu VL
 
Mule JMS Transport
Mule JMS TransportMule JMS Transport
Mule JMS Transport
Rupesh Sinha
 
Mule filters
Mule filtersMule filters
Mule filters
krishashi
 
Scatter gatherinmule
Scatter gatherinmuleScatter gatherinmule
Scatter gatherinmule
F K
 
Anypoint mq queues and exchanges
Anypoint mq queues and exchangesAnypoint mq queues and exchanges
Anypoint mq queues and exchanges
Son Nguyen
 
Mule Expression Transformer
Mule Expression TransformerMule Expression Transformer
Mule Expression Transformer
Ankush Sharma
 
Mule SFTP connector
Mule SFTP connectorMule SFTP connector
Mule SFTP connector
Ankush Sharma
 
Using scatter gather
Using scatter gatherUsing scatter gather
Using scatter gather
Rahul Kumar
 
Mule ftp connector
Mule ftp connectorMule ftp connector
Mule ftp connector
Ankush Sharma
 
Mule file connector
Mule file connectorMule file connector
Mule file connector
Ankush Sharma
 

What's hot (20)

Mule esb introduction
Mule esb introductionMule esb introduction
Mule esb introduction
 
MMC
MMCMMC
MMC
 
Performance tuning in mule
Performance tuning in mulePerformance tuning in mule
Performance tuning in mule
 
Mule splitters
Mule splittersMule splitters
Mule splitters
 
Mule Script Transformer
Mule Script TransformerMule Script Transformer
Mule Script Transformer
 
Vm component in mule
Vm component in muleVm component in mule
Vm component in mule
 
Controlling message flow
Controlling message flowControlling message flow
Controlling message flow
 
File connector mule
File connector   muleFile connector   mule
File connector mule
 
File connector
File connectorFile connector
File connector
 
Mule overview
Mule overviewMule overview
Mule overview
 
Scatter gather component - mule
Scatter gather component - muleScatter gather component - mule
Scatter gather component - mule
 
Mule JMS Transport
Mule JMS TransportMule JMS Transport
Mule JMS Transport
 
Mule filters
Mule filtersMule filters
Mule filters
 
Scatter gatherinmule
Scatter gatherinmuleScatter gatherinmule
Scatter gatherinmule
 
Anypoint mq queues and exchanges
Anypoint mq queues and exchangesAnypoint mq queues and exchanges
Anypoint mq queues and exchanges
 
Mule Expression Transformer
Mule Expression TransformerMule Expression Transformer
Mule Expression Transformer
 
Mule SFTP connector
Mule SFTP connectorMule SFTP connector
Mule SFTP connector
 
Using scatter gather
Using scatter gatherUsing scatter gather
Using scatter gather
 
Mule ftp connector
Mule ftp connectorMule ftp connector
Mule ftp connector
 
Mule file connector
Mule file connectorMule file connector
Mule file connector
 

Similar to Design considerations in MULE ESB

Mule – design considerations
Mule – design considerationsMule – design considerations
Mule – design considerations
D.Rajesh Kumar
 
Cloud adoption patterns April 11 2016
Cloud adoption patterns April 11 2016Cloud adoption patterns April 11 2016
Cloud adoption patterns April 11 2016
Kyle Brown
 
Cloud adoption patterns
Cloud adoption patternsCloud adoption patterns
Cloud adoption patterns
Kyle Brown
 
Interoperable Open Architecture through a Common Component Model
Interoperable Open Architecture through a Common Component ModelInteroperable Open Architecture through a Common Component Model
Interoperable Open Architecture through a Common Component Model
Remedy IT
 
Please discuss Superscalar Processors.Please discuss embedded appl.pdf
Please discuss Superscalar Processors.Please discuss embedded appl.pdfPlease discuss Superscalar Processors.Please discuss embedded appl.pdf
Please discuss Superscalar Processors.Please discuss embedded appl.pdf
ajinthaenterprises
 
Application Considerations for Cloud
Application Considerations for CloudApplication Considerations for Cloud
Application Considerations for Cloud
Kyle Brown
 
Isn’t it Ironic that a Redfish is software defining you
Isn’t it Ironic that a Redfish is software defining you Isn’t it Ironic that a Redfish is software defining you
Isn’t it Ironic that a Redfish is software defining you
Bruno Cornec
 
SE2018_Lec-22_-Continuous-Integration-Tools
SE2018_Lec-22_-Continuous-Integration-ToolsSE2018_Lec-22_-Continuous-Integration-Tools
SE2018_Lec-22_-Continuous-Integration-Tools
Amr E. Mohamed
 
The twelve factor app
The twelve factor appThe twelve factor app
The twelve factor app
Ravi Okade
 
Mule reference
Mule referenceMule reference
Mule reference
himajareddys
 
Cloudy with a Chance of Hadoop - Real World Considerations
Cloudy with a Chance of Hadoop - Real World ConsiderationsCloudy with a Chance of Hadoop - Real World Considerations
Cloudy with a Chance of Hadoop - Real World Considerations
DataWorks Summit/Hadoop Summit
 
Disposable infrastructure
Disposable infrastructureDisposable infrastructure
Disposable infrastructure
Mike Fowler
 
Mule integration-application
Mule integration-applicationMule integration-application
Mule integration-application
Naresh Naidu
 
Effective Hadoop Cluster Management - Impetus Webinar
Effective Hadoop Cluster Management - Impetus WebinarEffective Hadoop Cluster Management - Impetus Webinar
Effective Hadoop Cluster Management - Impetus Webinar
Impetus Technologies
 
Mbd 5538-best practice mobile first pattern deployment-feb25
Mbd 5538-best practice mobile first pattern deployment-feb25Mbd 5538-best practice mobile first pattern deployment-feb25
Mbd 5538-best practice mobile first pattern deployment-feb25
Sreeni Pamidala
 
Introduction to Software Build Technology
Introduction to Software Build TechnologyIntroduction to Software Build Technology
Introduction to Software Build TechnologyPhilip Johnson
 
Mlb drupal bizday_presentation
Mlb drupal bizday_presentationMlb drupal bizday_presentation
Mlb drupal bizday_presentationerlee72
 
Hia 1693-effective application-development_in_iib
Hia 1693-effective application-development_in_iibHia 1693-effective application-development_in_iib
Hia 1693-effective application-development_in_iib
Andrew Coleman
 
ThatConference 2016 - Highly Available Node.js
ThatConference 2016 - Highly Available Node.jsThatConference 2016 - Highly Available Node.js
ThatConference 2016 - Highly Available Node.js
Brad Williams
 
Presentation 1 open source tools in continuous integration environment v1.0
Presentation 1   open source tools in continuous integration environment v1.0Presentation 1   open source tools in continuous integration environment v1.0
Presentation 1 open source tools in continuous integration environment v1.0
Jasmine Conseil
 

Similar to Design considerations in MULE ESB (20)

Mule – design considerations
Mule – design considerationsMule – design considerations
Mule – design considerations
 
Cloud adoption patterns April 11 2016
Cloud adoption patterns April 11 2016Cloud adoption patterns April 11 2016
Cloud adoption patterns April 11 2016
 
Cloud adoption patterns
Cloud adoption patternsCloud adoption patterns
Cloud adoption patterns
 
Interoperable Open Architecture through a Common Component Model
Interoperable Open Architecture through a Common Component ModelInteroperable Open Architecture through a Common Component Model
Interoperable Open Architecture through a Common Component Model
 
Please discuss Superscalar Processors.Please discuss embedded appl.pdf
Please discuss Superscalar Processors.Please discuss embedded appl.pdfPlease discuss Superscalar Processors.Please discuss embedded appl.pdf
Please discuss Superscalar Processors.Please discuss embedded appl.pdf
 
Application Considerations for Cloud
Application Considerations for CloudApplication Considerations for Cloud
Application Considerations for Cloud
 
Isn’t it Ironic that a Redfish is software defining you
Isn’t it Ironic that a Redfish is software defining you Isn’t it Ironic that a Redfish is software defining you
Isn’t it Ironic that a Redfish is software defining you
 
SE2018_Lec-22_-Continuous-Integration-Tools
SE2018_Lec-22_-Continuous-Integration-ToolsSE2018_Lec-22_-Continuous-Integration-Tools
SE2018_Lec-22_-Continuous-Integration-Tools
 
The twelve factor app
The twelve factor appThe twelve factor app
The twelve factor app
 
Mule reference
Mule referenceMule reference
Mule reference
 
Cloudy with a Chance of Hadoop - Real World Considerations
Cloudy with a Chance of Hadoop - Real World ConsiderationsCloudy with a Chance of Hadoop - Real World Considerations
Cloudy with a Chance of Hadoop - Real World Considerations
 
Disposable infrastructure
Disposable infrastructureDisposable infrastructure
Disposable infrastructure
 
Mule integration-application
Mule integration-applicationMule integration-application
Mule integration-application
 
Effective Hadoop Cluster Management - Impetus Webinar
Effective Hadoop Cluster Management - Impetus WebinarEffective Hadoop Cluster Management - Impetus Webinar
Effective Hadoop Cluster Management - Impetus Webinar
 
Mbd 5538-best practice mobile first pattern deployment-feb25
Mbd 5538-best practice mobile first pattern deployment-feb25Mbd 5538-best practice mobile first pattern deployment-feb25
Mbd 5538-best practice mobile first pattern deployment-feb25
 
Introduction to Software Build Technology
Introduction to Software Build TechnologyIntroduction to Software Build Technology
Introduction to Software Build Technology
 
Mlb drupal bizday_presentation
Mlb drupal bizday_presentationMlb drupal bizday_presentation
Mlb drupal bizday_presentation
 
Hia 1693-effective application-development_in_iib
Hia 1693-effective application-development_in_iibHia 1693-effective application-development_in_iib
Hia 1693-effective application-development_in_iib
 
ThatConference 2016 - Highly Available Node.js
ThatConference 2016 - Highly Available Node.jsThatConference 2016 - Highly Available Node.js
ThatConference 2016 - Highly Available Node.js
 
Presentation 1 open source tools in continuous integration environment v1.0
Presentation 1   open source tools in continuous integration environment v1.0Presentation 1   open source tools in continuous integration environment v1.0
Presentation 1 open source tools in continuous integration environment v1.0
 

More from himajareddys

Domain in mule
Domain in muleDomain in mule
Domain in mule
himajareddys
 
Exception handling basics in mule
Exception handling basics in muleException handling basics in mule
Exception handling basics in mule
himajareddys
 
Mule integration patterns
Mule    integration patternsMule    integration patterns
Mule integration patterns
himajareddys
 
Mule architecture styles
Mule architecture stylesMule architecture styles
Mule architecture styles
himajareddys
 
Integration patterns in muleesb
Integration patterns in muleesbIntegration patterns in muleesb
Integration patterns in muleesb
himajareddys
 
Security components in mule esb
Security components in mule esbSecurity components in mule esb
Security components in mule esb
himajareddys
 
Cloudhub
CloudhubCloudhub
Cloudhub
himajareddys
 
Anypoint platform highlights
Anypoint platform highlightsAnypoint platform highlights
Anypoint platform highlights
himajareddys
 
Mule 3.4 features
Mule 3.4 featuresMule 3.4 features
Mule 3.4 features
himajareddys
 
Mule esb 3.8
Mule esb 3.8Mule esb 3.8
Mule esb 3.8
himajareddys
 
Mule soa
Mule soaMule soa
Mule soa
himajareddys
 
Anypoint connectorfor ibm as 400
Anypoint connectorfor ibm as 400Anypoint connectorfor ibm as 400
Anypoint connectorfor ibm as 400
himajareddys
 
Mule addcontactsintosalesforce
Mule addcontactsintosalesforceMule addcontactsintosalesforce
Mule addcontactsintosalesforce
himajareddys
 
Mule anypointconnector dev kit
Mule anypointconnector dev kitMule anypointconnector dev kit
Mule anypointconnector dev kit
himajareddys
 
Dataweavewithflowreflookup
DataweavewithflowreflookupDataweavewithflowreflookup
Dataweavewithflowreflookup
himajareddys
 
Mule anypointenterprisesecurity
Mule anypointenterprisesecurityMule anypointenterprisesecurity
Mule anypointenterprisesecurity
himajareddys
 
Connector for ibm® as400
Connector for ibm® as400Connector for ibm® as400
Connector for ibm® as400
himajareddys
 
Netsuite open air connector
Netsuite open air connectorNetsuite open air connector
Netsuite open air connector
himajareddys
 
Enterprise resources and mule
Enterprise resources and muleEnterprise resources and mule
Enterprise resources and mule
himajareddys
 
Multi saas integrations
Multi saas integrationsMulti saas integrations
Multi saas integrations
himajareddys
 

More from himajareddys (20)

Domain in mule
Domain in muleDomain in mule
Domain in mule
 
Exception handling basics in mule
Exception handling basics in muleException handling basics in mule
Exception handling basics in mule
 
Mule integration patterns
Mule    integration patternsMule    integration patterns
Mule integration patterns
 
Mule architecture styles
Mule architecture stylesMule architecture styles
Mule architecture styles
 
Integration patterns in muleesb
Integration patterns in muleesbIntegration patterns in muleesb
Integration patterns in muleesb
 
Security components in mule esb
Security components in mule esbSecurity components in mule esb
Security components in mule esb
 
Cloudhub
CloudhubCloudhub
Cloudhub
 
Anypoint platform highlights
Anypoint platform highlightsAnypoint platform highlights
Anypoint platform highlights
 
Mule 3.4 features
Mule 3.4 featuresMule 3.4 features
Mule 3.4 features
 
Mule esb 3.8
Mule esb 3.8Mule esb 3.8
Mule esb 3.8
 
Mule soa
Mule soaMule soa
Mule soa
 
Anypoint connectorfor ibm as 400
Anypoint connectorfor ibm as 400Anypoint connectorfor ibm as 400
Anypoint connectorfor ibm as 400
 
Mule addcontactsintosalesforce
Mule addcontactsintosalesforceMule addcontactsintosalesforce
Mule addcontactsintosalesforce
 
Mule anypointconnector dev kit
Mule anypointconnector dev kitMule anypointconnector dev kit
Mule anypointconnector dev kit
 
Dataweavewithflowreflookup
DataweavewithflowreflookupDataweavewithflowreflookup
Dataweavewithflowreflookup
 
Mule anypointenterprisesecurity
Mule anypointenterprisesecurityMule anypointenterprisesecurity
Mule anypointenterprisesecurity
 
Connector for ibm® as400
Connector for ibm® as400Connector for ibm® as400
Connector for ibm® as400
 
Netsuite open air connector
Netsuite open air connectorNetsuite open air connector
Netsuite open air connector
 
Enterprise resources and mule
Enterprise resources and muleEnterprise resources and mule
Enterprise resources and mule
 
Multi saas integrations
Multi saas integrationsMulti saas integrations
Multi saas integrations
 

Recently uploaded

De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
Product School
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
Alan Dix
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
Guy Korland
 
Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*
Frank van Harmelen
 
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Product School
 
ODC, Data Fabric and Architecture User Group
ODC, Data Fabric and Architecture User GroupODC, Data Fabric and Architecture User Group
ODC, Data Fabric and Architecture User Group
CatarinaPereira64715
 
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Product School
 
Search and Society: Reimagining Information Access for Radical Futures
Search and Society: Reimagining Information Access for Radical FuturesSearch and Society: Reimagining Information Access for Radical Futures
Search and Society: Reimagining Information Access for Radical Futures
Bhaskar Mitra
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance
 
Key Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfKey Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdf
Cheryl Hung
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
Alison B. Lowndes
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
Kari Kakkonen
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
91mobiles
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
Laura Byrne
 
"Impact of front-end architecture on development cost", Viktor Turskyi
"Impact of front-end architecture on development cost", Viktor Turskyi"Impact of front-end architecture on development cost", Viktor Turskyi
"Impact of front-end architecture on development cost", Viktor Turskyi
Fwdays
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance
 
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Tobias Schneck
 
Leading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdfLeading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdf
OnBoard
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
Sri Ambati
 
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMsTo Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
Paul Groth
 

Recently uploaded (20)

De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
 
Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*
 
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
 
ODC, Data Fabric and Architecture User Group
ODC, Data Fabric and Architecture User GroupODC, Data Fabric and Architecture User Group
ODC, Data Fabric and Architecture User Group
 
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...
 
Search and Society: Reimagining Information Access for Radical Futures
Search and Society: Reimagining Information Access for Radical FuturesSearch and Society: Reimagining Information Access for Radical Futures
Search and Society: Reimagining Information Access for Radical Futures
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
 
Key Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfKey Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdf
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
 
"Impact of front-end architecture on development cost", Viktor Turskyi
"Impact of front-end architecture on development cost", Viktor Turskyi"Impact of front-end architecture on development cost", Viktor Turskyi
"Impact of front-end architecture on development cost", Viktor Turskyi
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
 
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
 
Leading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdfLeading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdf
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
 
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMsTo Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
 

Design considerations in MULE ESB

  • 2. About Mule applicationsAbout Mule applications  Java based apps that must be deployed to a Mule runtime – Either on-premise or on CloudHub  Packaged as zip file, referred to as deployable archive – Universal format, for both on-premise and cloud deployments  Consist of one or more flows, stored in one or more XML files  Can be developed, built and packaged using Anypoint Studio or a third party build solution (Maven, Gradle)  Built around the standard software pattern of Input- Processing-Output 2
  • 3. Basic design considerationsBasic design considerations  Application type? – Real time vs batch, high volume vs high throughput  Monolithic vs modular design – Team development, development standards & best practices  Cloud-based vs on-prem vs hybrid  Code managed by Anypoint Studio or Maven/Gradle – Maven/Gradle needed for setting up continuous integration  Security considerations – Securing messages/communications – Properties management – Secured services/APIs 3 Receiving thread
  • 4. Non-functional design considerationsNon-functional design considerations  Synchronous vs asynchronous  Single-threaded vs multi-threaded  Transactionality options  High throughput vs reliability 4 Receiving thread
  • 5. Infrastructure design considerationsInfrastructure design considerations  Single runtime vs multiple runtimes vs cluster  High availability  Fail over  Load balancing  Bare-metal vs virtualization vs containers 5 Receiving thread
  • 6. Development best practicesDevelopment best practices  Keep applications synchronous if possible (avoid serialization)  Store as little as possible in session variables (serialization overhead)  Use bean payloads whenever possible  Prefer MEL over JVM scripting languages  Use VM queues instead of external message brokers if possible  Use flow references instead of VM queues if possible  Cache aggressively  Avoid large volumes of business events  Consider using message compression for asynchronous apps 6 Receiving thread
  • 7. Structuring Mule applicationsStructuring Mule applications  Mule applications can (and should) be modular – Monolithic applications are difficult to read and maintain – Modular applications are better suitable for team development – Modular applications encourage reusability  A Mule application can consist of multiple Anypoint Studio projects, to be assembled during the build process  Design flows to be small  Extract duplicate code into reusable (sub/private) flows  Define global exception strategies, applied on flow via references 7 Receiving thread
  • 8. Organizing Mule configuration filesOrganizing Mule configuration files  Separating an application into multiple configuration files makes code easier to read, work with, test and more maintainable  Two supported options for loading multiple configuration files – Side-by-side: Provide a list of independent configuration files to load Config.resources=global-config.xml,admin-config.xml – Imported: Have one configuration file import several others, which in-turn can import other files using Spring  <spring:beans>  <spring:import resource=”global-config.xml" />  <spring:importresource=”creditchecks-config.xml" />  <spring:importresource=”loanprocessing-config.xml” />  </spring:beans>  import other files using Spring  Can be used simultaneously – All configuration files are loaded in the same context 8