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

PPT
New features of mule 3.4
PPT
Architecture of mule
PPT
Cloud hub in mule esb
PPTX
Cloud hub scalability and availability
PPTX
Get Queue List from Microsoft Azure using Mule ESB
PPT
Mule anypoint workday-devkit
PPT
Mule esb–api layer
PPT
Mule api
New features of mule 3.4
Architecture of mule
Cloud hub in mule esb
Cloud hub scalability and availability
Get Queue List from Microsoft Azure using Mule ESB
Mule anypoint workday-devkit
Mule esb–api layer
Mule api

What's hot (17)

PPT
Mule architecture
PPT
Mule connectors
PPT
Mule anypoint data gateway
PPT
Mule connectors
PPT
Mule oracle connectors
PPTX
Mule management console
PPTX
Integration with Microsoft Azure using Mule ESB
PPT
Mule mule runtime engine
PPT
Mule saas
PPTX
Introduce Mule
PPT
2. muleesb
PPTX
Biz talk vs mulesoft
PPTX
Mule esb made system integration easy
PPT
Mule security
PPTX
Mule fundamentals
PPT
Mule esb cloud hub
PPT
Mule cloud hub
Mule architecture
Mule connectors
Mule anypoint data gateway
Mule connectors
Mule oracle connectors
Mule management console
Integration with Microsoft Azure using Mule ESB
Mule mule runtime engine
Mule saas
Introduce Mule
2. muleesb
Biz talk vs mulesoft
Mule esb made system integration easy
Mule security
Mule fundamentals
Mule esb cloud hub
Mule cloud hub
Ad

Viewers also liked (17)

PPTX
Mule with rabbit mq
PDF
哈啾!哈啾!
PDF
Electricos jun2013 ok
PDF
Portafolio
PDF
Program OSS Víkend Bratislava 2016
PPTX
Ariana lópez canales
PPTX
Send email attachment using smtp in mule esb
DOC
Skolsky-poriadok-skoly-MS-Sevcenkova-35-2016-2017
PPTX
Swiss Open Geodata: Opportunities and Threats
PDF
Android BLEのつらみを予防するTips
PDF
科学技術コミュニケーションの原点と座標軸Ver.3(講義後修正)
PDF
クリスマスもコードを書きたいアナタに送る! 次世代エンジニアの技術の学び方とは? 〜Qiitaの投稿データから読み解く、2016年の技術トレンド〜
PPT
Mule anypoint exchange
PPT
Fairfax County Capital Bikeshare
PPTX
Fairfax County Comprehensive Transit Plan and Transit Development Plan
PPTX
Funding and Maintenance Issues for Walkways: March 15, 2016
PPT
Mule security saml
Mule with rabbit mq
哈啾!哈啾!
Electricos jun2013 ok
Portafolio
Program OSS Víkend Bratislava 2016
Ariana lópez canales
Send email attachment using smtp in mule esb
Skolsky-poriadok-skoly-MS-Sevcenkova-35-2016-2017
Swiss Open Geodata: Opportunities and Threats
Android BLEのつらみを予防するTips
科学技術コミュニケーションの原点と座標軸Ver.3(講義後修正)
クリスマスもコードを書きたいアナタに送る! 次世代エンジニアの技術の学び方とは? 〜Qiitaの投稿データから読み解く、2016年の技術トレンド〜
Mule anypoint exchange
Fairfax County Capital Bikeshare
Fairfax County Comprehensive Transit Plan and Transit Development Plan
Funding and Maintenance Issues for Walkways: March 15, 2016
Mule security saml
Ad

Similar to Mule soa (20)

PPTX
PPTX
Mule soa
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
Mule soa
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

More from irfan1008 (20)

PPTX
Converting with custom transformer
PPTX
Caching and invalidating with managed store
PPTX
Cache for community edition
PPTX
Mule
PPTX
Groovy with Mule
PPTX
Validate Soap Request in Mule
PPTX
WebService with VM Mule
PPTX
Xslt in mule
PPT
Developing Oracle Connector Using Mule
PPTX
Send email attachment using smtp in mule esb
PPT
Mule oracle connectors
PPT
Mule google connectors
PPT
Mule execution
PPT
Mule database-connectors
PPT
Mule batch processing
PPT
Mule architecture
PPT
Mule anypoint exchange
PPTX
Mule soap
PPT
Mule security saml
PPT
Mule security jaas
Converting with custom transformer
Caching and invalidating with managed store
Cache for community edition
Mule
Groovy with Mule
Validate Soap Request in Mule
WebService with VM Mule
Xslt in mule
Developing Oracle Connector Using Mule
Send email attachment using smtp in mule esb
Mule oracle connectors
Mule google connectors
Mule execution
Mule database-connectors
Mule batch processing
Mule architecture
Mule anypoint exchange
Mule soap
Mule security saml
Mule security jaas

Recently uploaded (20)

PDF
sustainability-14-14877-v2.pddhzftheheeeee
PDF
TrustArc Webinar - Click, Consent, Trust: Winning the Privacy Game
PDF
Enhancing emotion recognition model for a student engagement use case through...
PDF
How ambidextrous entrepreneurial leaders react to the artificial intelligence...
PDF
The influence of sentiment analysis in enhancing early warning system model f...
PDF
Five Habits of High-Impact Board Members
PDF
Produktkatalog für HOBO Datenlogger, Wetterstationen, Sensoren, Software und ...
PDF
A comparative study of natural language inference in Swahili using monolingua...
PPTX
MicrosoftCybserSecurityReferenceArchitecture-April-2025.pptx
PPT
Module 1.ppt Iot fundamentals and Architecture
PDF
UiPath Agentic Automation session 1: RPA to Agents
PPTX
The various Industrial Revolutions .pptx
PPTX
Configure Apache Mutual Authentication
PDF
1 - Historical Antecedents, Social Consideration.pdf
PDF
Convolutional neural network based encoder-decoder for efficient real-time ob...
PPT
Geologic Time for studying geology for geologist
PPTX
Custom Battery Pack Design Considerations for Performance and Safety
PDF
A proposed approach for plagiarism detection in Myanmar Unicode text
PDF
A Late Bloomer's Guide to GenAI: Ethics, Bias, and Effective Prompting - Boha...
DOCX
search engine optimization ppt fir known well about this
sustainability-14-14877-v2.pddhzftheheeeee
TrustArc Webinar - Click, Consent, Trust: Winning the Privacy Game
Enhancing emotion recognition model for a student engagement use case through...
How ambidextrous entrepreneurial leaders react to the artificial intelligence...
The influence of sentiment analysis in enhancing early warning system model f...
Five Habits of High-Impact Board Members
Produktkatalog für HOBO Datenlogger, Wetterstationen, Sensoren, Software und ...
A comparative study of natural language inference in Swahili using monolingua...
MicrosoftCybserSecurityReferenceArchitecture-April-2025.pptx
Module 1.ppt Iot fundamentals and Architecture
UiPath Agentic Automation session 1: RPA to Agents
The various Industrial Revolutions .pptx
Configure Apache Mutual Authentication
1 - Historical Antecedents, Social Consideration.pdf
Convolutional neural network based encoder-decoder for efficient real-time ob...
Geologic Time for studying geology for geologist
Custom Battery Pack Design Considerations for Performance and Safety
A proposed approach for plagiarism detection in Myanmar Unicode text
A Late Bloomer's Guide to GenAI: Ethics, Bias, and Effective Prompting - Boha...
search engine optimization ppt fir known well about this

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