Mule soa
 1. Business context and problems faced
2. The idea of a service-oriented online architecture
3. How and why we selected Mule
4. Overview and examples of Mule use cases
5. Best practices and learnings
2
■ We did not Google „open source ESB“ to select Mule …
■ Instead we did a qualitative and quantitative comparison of major open source ESB
products using different criteria:
■ Primary: professional maintenance, commercial support with SLAs, licensing, performance,
operations by IT department possible
■ Secondary: documentation, code quality, activity and size of community, Spring support, sync
and async communication, supported standards, app server integration, development tools
■ Mule quickly emerged as the favored ESB product, followed by Fuse ESB and WSO2
■ Static analysis of the Mule sources (Sonar,
Structure101) showed acceptable quality
■ Modularization and project structure looks well-
thought-out and enables light-weight deployment
■ Good code quality, in spite of found violations and
partially low documentation
■ Test coverage is reasonably high to ensure correct
function in case of changes
How and why we selected Mule
3
■ Different load scenarios with constant and
increasing parallel requests (Apache JMeter)
■ Measurement of performance relevant
metrics using Software-EKG
■ Live profiling of system behavior (JProfiler)
■ All findings have been reported to MuleSoft
■ Together with MuleSoft we were able to solve
all the found issues:
■ MuleSoft supplied a working patch for the
Registry synchronization issue within 2 days
■ Other issues could simply be addressed using
the optimized configuration parameters (thread
pool settings, …) supplied to us
■ This was decisive for the confidence and the
final decision for Mule ESB
How and why we selected Mule
4
1. Business context and problems faced
2. The idea of a service-oriented online architecture
3. How and why we selected Mule
 4. Overview and examples of Mule use cases
 5. Best practices and learnings
5
■Requirement: Mule
ESB had to be deployed
as a Java web
application to be
operated by the IT
department
■Embedding Mule into a
web app is pretty
 straight forward using
the a context listener
■Custom listener 6
Overview and examples of Mule use cases
Overview and examples of Mule use cases
7
■ Access to the endpoint is controlled
using a Spring security filter
■ Each data source has specific POJO
implementation or private flow
■ Choice is based on payload using a
Groovy evaluator
■ Only minor Java code required
■ Web service interface and types
■ Custom transformers
■ Choice uses CXF operation header
■ XSLT to transform XML/RPC to
JAXB XML structure
Overview and examples of Mule use cases
8
■ Web service interface and types defined as
POJI and POJOs with JAX-WS annotations
■ The service component only performs
validation and preprocessing of request
Overview and examples of Mule use cases
9
■ The actual sending using an SMTP
connector is performed asynchronous
■ Custom transformer uses Velocity to
convert request object to email body
1. Business context and problems faced
2. The idea of a service-oriented online architecture
3. How and why we selected Mule
4. Overview and examples of Mule use cases
 5. Best practices and learnings
10
■ Mule provides several built-in components
to test Mule XML and flow definitions
■ The MuleFunctionalTest allowed us to test
our flows within the IDE
■ No deployment to a standalone instance
required, thus reducing turn-around times
■ The MuleClient is not really intuitive to use
■ Smart combination of SoapUI test cases
together with mock services allowed 100%
local and off-site development
■ Learning: develop as much as possible as
POJOs and use „traditional“ unit testing
■ Learning: take the time to write a good
mock for the service you are integrating
Best practices and learnings
11
■ „The Leanest, Meanest ESB: Mule ESB is the world's most efficient Enterprise
Service Bus” (http://www.mulesoft.com/mule-esb-small-footprint)
■ We went well below the mentioned figures by building a custom Mule distribution
tuned and optimized for our specific use cases
■ Based on the default distribution assembly XML found in the Mule community
sources, we
1. got rid of everything not required in production, mainly docs and examples, but also not
required Tanuki EXE wrapper binaries, etc.pp.;
2. selected only the required Mule modules and transports our uses cases really required, this
reduced the amount of 3rd party libs significantly;
3. used Maven dependency management to have full control of all used 3rd party libraries,
used more recent versions where possible (e.g. Spring, CXF, Saxon)
4. added our Mule apps and their dependencies, then repackaged
■ Thorough load tests lead to optimized JVM parameters and high performance:
-Xmx=128m -Xms=128m -XX:MaxPermSize=64m -XX:NewRatio=2 -XX:SurvivorRatio=12 -XX:+UseParallelGC
-XX:+UseParallelOldGC
Best practices and learnings
12
96 MB
30 MB
37 MB
■ A migration of the whole infrastructure in one go would
have been impossible; the system needs to be
available around the clock
■ Instead a staged migration of the infrastructure
components and applications has been used:
■ Phase 1: Migration of all online servers, application by
application, introduction of the primary ESB with first
required services
■ Phase 2: Integration of a new online portal, operated in
parallel to the old portal infrastructure
■ Phase 3: Migration of all „legacy“ portals to access the new
online infrastructure components
■ After each phase the behavior of the new components
was monitored closely to detect any problems in
production
■ The services and backend systems integrated by the
primary ESB instance constantly grew (I might still be
growing in next phases)
Best practices and learnings
13

More Related Content

PPTX
Send email attachment using smtp in mule esb
PPTX
Testing mule
PPTX
Mule concepts flows
PPTX
Mule enterprise service introduction
PPT
Mule anypoint exchange
PPTX
Mule esb
PPTX
Mule rabbit mq
PPTX
Mule esb for beginners
Send email attachment using smtp in mule esb
Testing mule
Mule concepts flows
Mule enterprise service introduction
Mule anypoint exchange
Mule esb
Mule rabbit mq
Mule esb for beginners

What's hot (17)

PPTX
Introduction to mule esb
PDF
Mulesoft ppt
PPTX
Rabbit Mq in Mule
PPTX
Mule esb parts
PPTX
Introduction to mule esb
PPTX
Mule high availability (ha) cluster
PPTX
Mule message
PPTX
Mule esb
PPTX
Mule jms queues
PPTX
Connectors in mule
PPTX
Mule esb
PPTX
Core concepts in mule
PPTX
Mule soa
PPT
Mule ESB
PPTX
Mule Cloudhub Connector
PPT
Mule esb overview
PPTX
Java in Mule
Introduction to mule esb
Mulesoft ppt
Rabbit Mq in Mule
Mule esb parts
Introduction to mule esb
Mule high availability (ha) cluster
Mule message
Mule esb
Mule jms queues
Connectors in mule
Mule esb
Core concepts in mule
Mule soa
Mule ESB
Mule Cloudhub Connector
Mule esb overview
Java in Mule
Ad

Viewers also liked (18)

PPTX
Mule java part-2
PPT
Mule Esb Fundamentals
PPTX
Mule java part-3
PPT
Mule Fundamentals
PPTX
Mule Batch Filter
PPTX
Mule AMQP Connector
PPTX
Frank Bien Opening Keynote - Join 2016
PPTX
Meet Looker 4
PPTX
Lloyd Tabb on Symmetric Aggregates
PPT
Mule security - jaas
PPT
Climate Change in the Media: Where have we been and where are we headed?
PDF
From Question to Action
ODP
Fetch records from mysql using mule esb
PPTX
How to Build a Data-Driven Company: From Infrastructure to Insights
PPT
MULE-JAAS
PPTX
PPTX
Aspnet core
PPTX
Agile Analytics
Mule java part-2
Mule Esb Fundamentals
Mule java part-3
Mule Fundamentals
Mule Batch Filter
Mule AMQP Connector
Frank Bien Opening Keynote - Join 2016
Meet Looker 4
Lloyd Tabb on Symmetric Aggregates
Mule security - jaas
Climate Change in the Media: Where have we been and where are we headed?
From Question to Action
Fetch records from mysql using mule esb
How to Build a Data-Driven Company: From Infrastructure to Insights
MULE-JAAS
Aspnet core
Agile Analytics
Ad

Similar to Mule soa (20)

PPTX
PPTX
Mule soa
PPTX
Service oriented online architecture using mule
PPTX
Mule soa
PPTX
PPTX
Mule ESB - Why and how?
PDF
Open Source ESBs in Action 1st Edition Tijs Rademakers
PDF
Open Source ESBs in Action 1st Edition Tijs Rademakers
PDF
Mule Integration Simplified
PDF
Open Source ESBs in Action 1st Edition Tijs Rademakers
PPTX
Mule ESB - Demo
PDF
Open Source ESBs in Action 1st Edition Tijs Rademakers
PDF
Mule ESB
PDF
Why Mulesoft ?
ODP
PDF
Mule esb presentation
PDF
Open Source ESBs in Action 1st Edition Tijs Rademakers
PDF
Mule ESB - Integration Simplified
PPT
PPTX
Introduction to Mule ESB
Mule soa
Service oriented online architecture using mule
Mule soa
Mule ESB - Why and how?
Open Source ESBs in Action 1st Edition Tijs Rademakers
Open Source ESBs in Action 1st Edition Tijs Rademakers
Mule Integration Simplified
Open Source ESBs in Action 1st Edition Tijs Rademakers
Mule ESB - Demo
Open Source ESBs in Action 1st Edition Tijs Rademakers
Mule ESB
Why Mulesoft ?
Mule esb presentation
Open Source ESBs in Action 1st Edition Tijs Rademakers
Mule ESB - Integration Simplified
Introduction to Mule ESB

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
Credit Without Borders: AI and Financial Inclusion in Bangladesh
PPTX
Build Your First AI Agent with UiPath.pptx
PPTX
AI IN MARKETING- PRESENTED BY ANWAR KABIR 1st June 2025.pptx
PDF
UiPath Agentic Automation session 1: RPA to Agents
PPTX
Modernising the Digital Integration Hub
PDF
NewMind AI Weekly Chronicles – August ’25 Week III
PPTX
Microsoft Excel 365/2024 Beginner's training
PDF
Five Habits of High-Impact Board Members
PPT
Geologic Time for studying geology for geologist
PDF
Hybrid horned lizard optimization algorithm-aquila optimizer for DC motor
PDF
Comparative analysis of machine learning models for fake news detection in so...
PDF
Taming the Chaos: How to Turn Unstructured Data into Decisions
PDF
A review of recent deep learning applications in wood surface defect identifi...
PDF
Developing a website for English-speaking practice to English as a foreign la...
PDF
How ambidextrous entrepreneurial leaders react to the artificial intelligence...
DOCX
search engine optimization ppt fir known well about this
PDF
A contest of sentiment analysis: k-nearest neighbor versus neural network
PDF
STKI Israel Market Study 2025 version august
PDF
CloudStack 4.21: First Look Webinar slides
PDF
Zenith AI: Advanced Artificial Intelligence
Credit Without Borders: AI and Financial Inclusion in Bangladesh
Build Your First AI Agent with UiPath.pptx
AI IN MARKETING- PRESENTED BY ANWAR KABIR 1st June 2025.pptx
UiPath Agentic Automation session 1: RPA to Agents
Modernising the Digital Integration Hub
NewMind AI Weekly Chronicles – August ’25 Week III
Microsoft Excel 365/2024 Beginner's training
Five Habits of High-Impact Board Members
Geologic Time for studying geology for geologist
Hybrid horned lizard optimization algorithm-aquila optimizer for DC motor
Comparative analysis of machine learning models for fake news detection in so...
Taming the Chaos: How to Turn Unstructured Data into Decisions
A review of recent deep learning applications in wood surface defect identifi...
Developing a website for English-speaking practice to English as a foreign la...
How ambidextrous entrepreneurial leaders react to the artificial intelligence...
search engine optimization ppt fir known well about this
A contest of sentiment analysis: k-nearest neighbor versus neural network
STKI Israel Market Study 2025 version august
CloudStack 4.21: First Look Webinar slides
Zenith AI: Advanced Artificial Intelligence

Mule soa

  • 2.  1. Business context and problems faced 2. The idea of a service-oriented online architecture 3. How and why we selected Mule 4. Overview and examples of Mule use cases 5. Best practices and learnings 2
  • 3. ■ We did not Google „open source ESB“ to select Mule … ■ Instead we did a qualitative and quantitative comparison of major open source ESB products using different criteria: ■ Primary: professional maintenance, commercial support with SLAs, licensing, performance, operations by IT department possible ■ Secondary: documentation, code quality, activity and size of community, Spring support, sync and async communication, supported standards, app server integration, development tools ■ Mule quickly emerged as the favored ESB product, followed by Fuse ESB and WSO2 ■ Static analysis of the Mule sources (Sonar, Structure101) showed acceptable quality ■ Modularization and project structure looks well- thought-out and enables light-weight deployment ■ Good code quality, in spite of found violations and partially low documentation ■ Test coverage is reasonably high to ensure correct function in case of changes How and why we selected Mule 3
  • 4. ■ Different load scenarios with constant and increasing parallel requests (Apache JMeter) ■ Measurement of performance relevant metrics using Software-EKG ■ Live profiling of system behavior (JProfiler) ■ All findings have been reported to MuleSoft ■ Together with MuleSoft we were able to solve all the found issues: ■ MuleSoft supplied a working patch for the Registry synchronization issue within 2 days ■ Other issues could simply be addressed using the optimized configuration parameters (thread pool settings, …) supplied to us ■ This was decisive for the confidence and the final decision for Mule ESB How and why we selected Mule 4
  • 5. 1. Business context and problems faced 2. The idea of a service-oriented online architecture 3. How and why we selected Mule  4. Overview and examples of Mule use cases  5. Best practices and learnings 5
  • 6. ■Requirement: Mule ESB had to be deployed as a Java web application to be operated by the IT department ■Embedding Mule into a web app is pretty  straight forward using the a context listener ■Custom listener 6 Overview and examples of Mule use cases
  • 7. Overview and examples of Mule use cases 7 ■ Access to the endpoint is controlled using a Spring security filter ■ Each data source has specific POJO implementation or private flow ■ Choice is based on payload using a Groovy evaluator
  • 8. ■ Only minor Java code required ■ Web service interface and types ■ Custom transformers ■ Choice uses CXF operation header ■ XSLT to transform XML/RPC to JAXB XML structure Overview and examples of Mule use cases 8
  • 9. ■ Web service interface and types defined as POJI and POJOs with JAX-WS annotations ■ The service component only performs validation and preprocessing of request Overview and examples of Mule use cases 9 ■ The actual sending using an SMTP connector is performed asynchronous ■ Custom transformer uses Velocity to convert request object to email body
  • 10. 1. Business context and problems faced 2. The idea of a service-oriented online architecture 3. How and why we selected Mule 4. Overview and examples of Mule use cases  5. Best practices and learnings 10
  • 11. ■ Mule provides several built-in components to test Mule XML and flow definitions ■ The MuleFunctionalTest allowed us to test our flows within the IDE ■ No deployment to a standalone instance required, thus reducing turn-around times ■ The MuleClient is not really intuitive to use ■ Smart combination of SoapUI test cases together with mock services allowed 100% local and off-site development ■ Learning: develop as much as possible as POJOs and use „traditional“ unit testing ■ Learning: take the time to write a good mock for the service you are integrating Best practices and learnings 11
  • 12. ■ „The Leanest, Meanest ESB: Mule ESB is the world's most efficient Enterprise Service Bus” (http://www.mulesoft.com/mule-esb-small-footprint) ■ We went well below the mentioned figures by building a custom Mule distribution tuned and optimized for our specific use cases ■ Based on the default distribution assembly XML found in the Mule community sources, we 1. got rid of everything not required in production, mainly docs and examples, but also not required Tanuki EXE wrapper binaries, etc.pp.; 2. selected only the required Mule modules and transports our uses cases really required, this reduced the amount of 3rd party libs significantly; 3. used Maven dependency management to have full control of all used 3rd party libraries, used more recent versions where possible (e.g. Spring, CXF, Saxon) 4. added our Mule apps and their dependencies, then repackaged ■ Thorough load tests lead to optimized JVM parameters and high performance: -Xmx=128m -Xms=128m -XX:MaxPermSize=64m -XX:NewRatio=2 -XX:SurvivorRatio=12 -XX:+UseParallelGC -XX:+UseParallelOldGC Best practices and learnings 12 96 MB 30 MB 37 MB
  • 13. ■ A migration of the whole infrastructure in one go would have been impossible; the system needs to be available around the clock ■ Instead a staged migration of the infrastructure components and applications has been used: ■ Phase 1: Migration of all online servers, application by application, introduction of the primary ESB with first required services ■ Phase 2: Integration of a new online portal, operated in parallel to the old portal infrastructure ■ Phase 3: Migration of all „legacy“ portals to access the new online infrastructure components ■ After each phase the behavior of the new components was monitored closely to detect any problems in production ■ The services and backend systems integrated by the primary ESB instance constantly grew (I might still be growing in next phases) Best practices and learnings 13