SlideShare a Scribd company logo
Mule – Design Considerations
-RajeshKumar
1
About 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 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 considerations
 Synchronous vs asynchronous
 Single-threaded vs multi-threaded
 Transactionality options
 High throughput vs reliability
4
Receiving thread
Infrastructure 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 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 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 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:import resource=”creditchecks-config.xml" />
<spring:import resource=”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

ODP
Domain in mule
PDF
Saitodrom. High Load & High Availability
PPTX
Mercurial
PPTX
Cloud native-microservices
PDF
Getting Started with the NetBeans Platform
PDF
Platform As A Service
DOC
CV_Mohamed Mohssen
PDF
advances in manufacturing technology
Domain in mule
Saitodrom. High Load & High Availability
Mercurial
Cloud native-microservices
Getting Started with the NetBeans Platform
Platform As A Service
CV_Mohamed Mohssen
advances in manufacturing technology

Viewers also liked (15)

PPT
Security spring security manager
DOCX
RAVINDER SINGH(updated CV for tech super)
PPT
Carnaval
PPT
Mule security - spring security manager
PPT
API Layer
PPT
Mule security
PDF
advanced metal forming previous question papers
PPTX
Risk assessment
PDF
Continuous Integration Bamboo ve Php Uygulaması
PPTX
ADI DAYS - Franco Zanardi
PPTX
Introduction to dataweave
PPTX
Variables in dataweave
PPTX
Open to What? The future of European education in the digital revolution - Dr...
PPTX
Ang facebook-bilang-alternatibong-online-strategy-sa-negosyo(final)
PPTX
Independent cinema
Security spring security manager
RAVINDER SINGH(updated CV for tech super)
Carnaval
Mule security - spring security manager
API Layer
Mule security
advanced metal forming previous question papers
Risk assessment
Continuous Integration Bamboo ve Php Uygulaması
ADI DAYS - Franco Zanardi
Introduction to dataweave
Variables in dataweave
Open to What? The future of European education in the digital revolution - Dr...
Ang facebook-bilang-alternatibong-online-strategy-sa-negosyo(final)
Independent cinema
Ad

Similar to Mule – design considerations (20)

ODP
Design considerations in MULE ESB
PPTX
Cloud adoption patterns
PPTX
Cloud adoption patterns April 11 2016
PDF
Interoperable Open Architecture through a Common Component Model
PPSX
Usergroup - OutSystems Architecture.ppsx
PPTX
OutSystems Architecture by Niels Favreau
PDF
Disposable infrastructure
PPTX
Cloudy with a Chance of Hadoop - Real World Considerations
PPT
Java8 - Under the hood
PDF
Please discuss Superscalar Processors.Please discuss embedded appl.pdf
PDF
Adopting the Cloud
PPTX
Software Engineering 101
PPT
Mule reference
PPTX
Magdalena Stenius: MLOPS Will Change Machine Learning
PPTX
Application Considerations for Cloud
PPTX
The twelve factor app
PPTX
Chris OBrien - Pitfalls when developing with the SharePoint Framework (SPFx)
PPTX
Tips and Tricks for the Advanced Mule Developer with Tesla and Twitter
PPTX
Effective Hadoop Cluster Management - Impetus Webinar
PDF
2689 - Exploring IBM PureApplication System and IBM Workload Deployer Best Pr...
Design considerations in MULE ESB
Cloud adoption patterns
Cloud adoption patterns April 11 2016
Interoperable Open Architecture through a Common Component Model
Usergroup - OutSystems Architecture.ppsx
OutSystems Architecture by Niels Favreau
Disposable infrastructure
Cloudy with a Chance of Hadoop - Real World Considerations
Java8 - Under the hood
Please discuss Superscalar Processors.Please discuss embedded appl.pdf
Adopting the Cloud
Software Engineering 101
Mule reference
Magdalena Stenius: MLOPS Will Change Machine Learning
Application Considerations for Cloud
The twelve factor app
Chris OBrien - Pitfalls when developing with the SharePoint Framework (SPFx)
Tips and Tricks for the Advanced Mule Developer with Tesla and Twitter
Effective Hadoop Cluster Management - Impetus Webinar
2689 - Exploring IBM PureApplication System and IBM Workload Deployer Best Pr...
Ad

More from D.Rajesh Kumar (20)

PPTX
Mule soft meetup_-_finland_september_25th__2020 v2.0
PPTX
Meetup bangalore-sept5th 2020 (1)
PPTX
Mule soft meetup_-_finland_july_11th__2020
PPTX
Bangalore mulesoft meetup#10
PPTX
Meetup bangalore 9_novupdated
PPTX
Meetup bangalore aug31st2019
PPTX
Meetup bangalore june29th2019
PPTX
mulesoft meetup @ bangalore
PPTX
Meetup_Bangalore_Rajesh
PPT
Calico and container
PPT
Calico docker+ipam
PPT
Calico architecture
PPT
Calico to secure host interfaces
PPT
Calico and how interprets neutron api
PPT
Calico with open stack and chef
PPT
Calico with open stack
PPT
Calico with docker
PPT
Object Store in Mule
PPT
Slack connector with in MULE
PPT
MuleSoft Offers a Data Migration Solution
Mule soft meetup_-_finland_september_25th__2020 v2.0
Meetup bangalore-sept5th 2020 (1)
Mule soft meetup_-_finland_july_11th__2020
Bangalore mulesoft meetup#10
Meetup bangalore 9_novupdated
Meetup bangalore aug31st2019
Meetup bangalore june29th2019
mulesoft meetup @ bangalore
Meetup_Bangalore_Rajesh
Calico and container
Calico docker+ipam
Calico architecture
Calico to secure host interfaces
Calico and how interprets neutron api
Calico with open stack and chef
Calico with open stack
Calico with docker
Object Store in Mule
Slack connector with in MULE
MuleSoft Offers a Data Migration Solution

Recently uploaded (20)

PDF
DP Operators-handbook-extract for the Mautical Institute
PDF
STKI Israel Market Study 2025 version august
PPTX
Tartificialntelligence_presentation.pptx
PDF
Getting Started with Data Integration: FME Form 101
PDF
August Patch Tuesday
PPTX
1. Introduction to Computer Programming.pptx
PPTX
Final SEM Unit 1 for mit wpu at pune .pptx
PDF
WOOl fibre morphology and structure.pdf for textiles
PDF
gpt5_lecture_notes_comprehensive_20250812015547.pdf
PDF
Architecture types and enterprise applications.pdf
PDF
NewMind AI Weekly Chronicles - August'25-Week II
PPTX
TechTalks-8-2019-Service-Management-ITIL-Refresh-ITIL-4-Framework-Supports-Ou...
PDF
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
PDF
Getting started with AI Agents and Multi-Agent Systems
PDF
1 - Historical Antecedents, Social Consideration.pdf
PPTX
observCloud-Native Containerability and monitoring.pptx
PDF
Developing a website for English-speaking practice to English as a foreign la...
PDF
Video forgery: An extensive analysis of inter-and intra-frame manipulation al...
PPTX
Programs and apps: productivity, graphics, security and other tools
PDF
NewMind AI Weekly Chronicles – August ’25 Week III
DP Operators-handbook-extract for the Mautical Institute
STKI Israel Market Study 2025 version august
Tartificialntelligence_presentation.pptx
Getting Started with Data Integration: FME Form 101
August Patch Tuesday
1. Introduction to Computer Programming.pptx
Final SEM Unit 1 for mit wpu at pune .pptx
WOOl fibre morphology and structure.pdf for textiles
gpt5_lecture_notes_comprehensive_20250812015547.pdf
Architecture types and enterprise applications.pdf
NewMind AI Weekly Chronicles - August'25-Week II
TechTalks-8-2019-Service-Management-ITIL-Refresh-ITIL-4-Framework-Supports-Ou...
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
Getting started with AI Agents and Multi-Agent Systems
1 - Historical Antecedents, Social Consideration.pdf
observCloud-Native Containerability and monitoring.pptx
Developing a website for English-speaking practice to English as a foreign la...
Video forgery: An extensive analysis of inter-and intra-frame manipulation al...
Programs and apps: productivity, graphics, security and other tools
NewMind AI Weekly Chronicles – August ’25 Week III

Mule – design considerations

  • 1. Mule – Design Considerations -RajeshKumar 1
  • 2. About 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 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 considerations  Synchronous vs asynchronous  Single-threaded vs multi-threaded  Transactionality options  High throughput vs reliability 4 Receiving thread
  • 5. Infrastructure 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 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 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 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:import resource=”creditchecks-config.xml" /> <spring:import resource=”loanprocessing-config.xml” /> </spring:beans>  import other files using Spring  Can be used simultaneously – All configuration files are loaded in the same context 8