SlideShare a Scribd company logo
MULE-SOA
Business context and problems faced
The idea of a service-oriented online architecture
How and why we selected Mule
Overview and examples of Mule usecases
Best practices and learnings
■ 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-weightdeployment
■ Good code quality, in spite of found violations and
partially low documentation
■ Testcoverage is reasonably high to ensurecorrect
function in case ofchanges
Basedontheproposedarchitecturescenarioswecouldidentifytherequirementsonthe
ESB
product
■ 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 2days
■ 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
Intensiveperformancetestsuncoveredseveral
findings
(with Mule 3.1.1)…
Clustereddeployment of Mule ESB
as a web application for scalability
and highavailability
■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
implementation required to
customize working directory
and various other system
properties
Unified web service interfaceto
access detailsuser
from heterogeneous datasources
■ 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 andtypes
■ Customtransformers
■ Choice uses CXF operation header
■ XSLT to transform XML/RPC to
JAXB XMLstructure
adapterto access the
BZST service for simple and
qualifiedVATchecks
■ Web service interface and types defined as
POJI and POJOs with JAX-WS annotations
■ The service component only performs
validation and preprocessing of request
Web service to email service adapter
to sendsupport
requests to a ticketing backend
system
■ The actual sending using an SMTP
connector is performed asynchronous
■ Custom transformer uses Velocity to
convert request object to email body
Testdriven development using
MuleFunctionalTests, SoapUItests
and mock services
XML and flowdefinitions
■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 touse
■Smart combination of
SoapUI test cases together
with mock services allowed
100% local and off-site
development
■Learning: develop as much
■ „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 Mulecommunity
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
Buildinga customMule distribution
for 100% control of all dependencies
and optimalperformance
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
requiredservices
■ Phase 2: Integration of a new online portal, operated in
parallel to the old portalinfrastructure
■ Phase 3: Migration of all „legacy“ portals to access the new
online infrastructurecomponents
■ 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)
No big bang:startsmall and migrate
in several phases
Thank you

More Related Content

PPT
Mulesoft ppt
PPTX
Mule soa
PPTX
Introduction to mule esb
PPTX
Mule esb
PPT
Overview of Mule
PPTX
Connectors in mule
PPTX
Mule enterprise service introduction
PPTX
Mule esb basic introduction
Mulesoft ppt
Mule soa
Introduction to mule esb
Mule esb
Overview of Mule
Connectors in mule
Mule enterprise service introduction
Mule esb basic introduction

What's hot (17)

PPTX
Design flows in mule
PPTX
Mule concepts components
PPTX
Mule esb
PPTX
Core concepts in mule
PPTX
Send email attachment using smtp in mule esb
PPTX
Mule any point studio
PPT
Mule ESB
PPTX
Introduction to mule esb
PPTX
Mule rabbit mq
PPTX
Rabbit Mq in Mule
PPT
Mule esb introduction
PPTX
Service orchestration by using flows
PPTX
Mule esb
PPTX
Mule rabbitmq
PPTX
Mule esb
PPT
Mule overview-ppt
PPTX
Send email attachment using smtp in mule esb
Design flows in mule
Mule concepts components
Mule esb
Core concepts in mule
Send email attachment using smtp in mule esb
Mule any point studio
Mule ESB
Introduction to mule esb
Mule rabbit mq
Rabbit Mq in Mule
Mule esb introduction
Service orchestration by using flows
Mule esb
Mule rabbitmq
Mule esb
Mule overview-ppt
Send email attachment using smtp in mule esb
Ad

Viewers also liked (20)

PPTX
Mule integration
PPTX
Mule message
PPTX
Mule message processor or routers
PPTX
Mulesoft intergrate for android app
PPTX
Using groovy in mule
PPTX
Mule sap connector
PPTX
Running mule standalone
PPTX
Scatter gather flow in mule
PPTX
Cloud hub with mule
PPTX
Runing batch job in mule
PPTX
Xslt with mule
PPTX
Mule high availability
PPTX
Sap integration by mule esb
PPTX
Query in share point by mule
PPTX
Logging configuration in mule
PPTX
Rest security in mule
PPTX
Retrieve microsoft data
PPTX
Create database with mule
PPTX
Mule flow complete
PPTX
Expression language
Mule integration
Mule message
Mule message processor or routers
Mulesoft intergrate for android app
Using groovy in mule
Mule sap connector
Running mule standalone
Scatter gather flow in mule
Cloud hub with mule
Runing batch job in mule
Xslt with mule
Mule high availability
Sap integration by mule esb
Query in share point by mule
Logging configuration in mule
Rest security in mule
Retrieve microsoft data
Create database with mule
Mule flow complete
Expression language
Ad

Similar to Mule soa (20)

PPTX
PPTX
Mule soa
PPTX
Mule soa
PPTX
Mule soa
PPTX
PPTX
PPTX
Mule soa
PPTX
Service oriented online architecture using mule
PPTX
PPTX
Mule ESB - Why and how?
PDF
Mule Integration Simplified
PPTX
What is Mule ESB
PDF
Mule esb presentation
ODP
PDF
Why Mulesoft ?
PPTX
Mule ESB - Demo
PPTX
Introduction to Mule ESB
PDF
Mule ESB
PPTX
Mule execution units
PPTX
Mule fundamentals muthu guru rathinesh g
Mule soa
Mule soa
Mule soa
Mule soa
Service oriented online architecture using mule
Mule ESB - Why and how?
Mule Integration Simplified
What is Mule ESB
Mule esb presentation
Why Mulesoft ?
Mule ESB - Demo
Introduction to Mule ESB
Mule ESB
Mule execution units
Mule fundamentals muthu guru rathinesh g

More from Son Nguyen (20)

PPTX
Wsdl connector introduction
PPTX
Android intergrate with mule
PPTX
Mule flow overview
PPTX
Mule flow and filter
PPTX
Handle exceptions in mule
PPT
Spring security integrate with mule
PPTX
Message processor in mule
PPTX
Expression language in mule
PPTX
Mule with data weave
PPTX
Using spring scheduler mule
PPTX
Composite source in bound and out-bound
PPT
Batch job processing
PPTX
Using message enricher
PPT
Finance connectors with mule
PPT
Google drive connection
PPTX
Using properties in mule
PPT
Mule integrate with microsoft
PPTX
Jms queue
PPT
Anypoint connectors
PPT
Mule integration with cloud hub
Wsdl connector introduction
Android intergrate with mule
Mule flow overview
Mule flow and filter
Handle exceptions in mule
Spring security integrate with mule
Message processor in mule
Expression language in mule
Mule with data weave
Using spring scheduler mule
Composite source in bound and out-bound
Batch job processing
Using message enricher
Finance connectors with mule
Google drive connection
Using properties in mule
Mule integrate with microsoft
Jms queue
Anypoint connectors
Mule integration with cloud hub

Recently uploaded (20)

PDF
Approach and Philosophy of On baking technology
PDF
Unlocking AI with Model Context Protocol (MCP)
PDF
Encapsulation theory and applications.pdf
PDF
Network Security Unit 5.pdf for BCA BBA.
PDF
Spectral efficient network and resource selection model in 5G networks
PDF
Modernizing your data center with Dell and AMD
PPTX
Big Data Technologies - Introduction.pptx
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
DOCX
The AUB Centre for AI in Media Proposal.docx
PDF
Building Integrated photovoltaic BIPV_UPV.pdf
PPTX
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
PDF
CIFDAQ's Market Insight: SEC Turns Pro Crypto
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PDF
Review of recent advances in non-invasive hemoglobin estimation
PPTX
MYSQL Presentation for SQL database connectivity
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PPTX
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
PDF
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
PDF
Encapsulation_ Review paper, used for researhc scholars
Approach and Philosophy of On baking technology
Unlocking AI with Model Context Protocol (MCP)
Encapsulation theory and applications.pdf
Network Security Unit 5.pdf for BCA BBA.
Spectral efficient network and resource selection model in 5G networks
Modernizing your data center with Dell and AMD
Big Data Technologies - Introduction.pptx
Reach Out and Touch Someone: Haptics and Empathic Computing
Per capita expenditure prediction using model stacking based on satellite ima...
The AUB Centre for AI in Media Proposal.docx
Building Integrated photovoltaic BIPV_UPV.pdf
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
CIFDAQ's Market Insight: SEC Turns Pro Crypto
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
Review of recent advances in non-invasive hemoglobin estimation
MYSQL Presentation for SQL database connectivity
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
Encapsulation_ Review paper, used for researhc scholars

Mule soa

  • 2. Business context and problems faced The idea of a service-oriented online architecture How and why we selected Mule Overview and examples of Mule usecases Best practices and learnings
  • 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-weightdeployment ■ Good code quality, in spite of found violations and partially low documentation ■ Testcoverage is reasonably high to ensurecorrect function in case ofchanges Basedontheproposedarchitecturescenarioswecouldidentifytherequirementsonthe ESB product
  • 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 2days ■ 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 Intensiveperformancetestsuncoveredseveral findings (with Mule 3.1.1)…
  • 5. Clustereddeployment of Mule ESB as a web application for scalability and highavailability ■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 implementation required to customize working directory and various other system properties
  • 6. Unified web service interfaceto access detailsuser from heterogeneous datasources ■ 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
  • 7. ■ Only minor Java code required ■ Web service interface andtypes ■ Customtransformers ■ Choice uses CXF operation header ■ XSLT to transform XML/RPC to JAXB XMLstructure adapterto access the BZST service for simple and qualifiedVATchecks
  • 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 Web service to email service adapter to sendsupport requests to a ticketing backend system ■ The actual sending using an SMTP connector is performed asynchronous ■ Custom transformer uses Velocity to convert request object to email body
  • 9. Testdriven development using MuleFunctionalTests, SoapUItests and mock services XML and flowdefinitions ■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 touse ■Smart combination of SoapUI test cases together with mock services allowed 100% local and off-site development ■Learning: develop as much
  • 10. ■ „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 Mulecommunity 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 Buildinga customMule distribution for 100% control of all dependencies and optimalperformance 96 MB 30 MB 37 MB
  • 11. ■ 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 requiredservices ■ Phase 2: Integration of a new online portal, operated in parallel to the old portalinfrastructure ■ Phase 3: Migration of all „legacy“ portals to access the new online infrastructurecomponents ■ 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) No big bang:startsmall and migrate in several phases