SlideShare a Scribd company logo
 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

What's hot

Mule architecture
Mule architectureMule architecture
Mule architecture
Phaniu
 
Mule connectors
Mule  connectorsMule  connectors
Mule connectors
D.Rajesh Kumar
 
Mule anypoint data gateway
Mule  anypoint data gatewayMule  anypoint data gateway
Mule anypoint data gateway
D.Rajesh Kumar
 
Mule connectors
Mule  connectorsMule  connectors
Mule connectors
charan teja R
 
Mule oracle connectors
Mule  oracle connectorsMule  oracle connectors
Mule oracle connectors
D.Rajesh Kumar
 
Mule management console
Mule management consoleMule management console
Mule management console
Achyuta Lakshmi
 
Integration with Microsoft Azure using Mule ESB
Integration with Microsoft Azure using Mule ESBIntegration with Microsoft Azure using Mule ESB
Integration with Microsoft Azure using Mule ESB
Sanjeet Pandey
 
Mule mule runtime engine
Mule  mule runtime engineMule  mule runtime engine
Mule mule runtime engine
D.Rajesh Kumar
 
Mule saas
Mule  saasMule  saas
Mule saas
charan teja R
 
Introduce Mule
Introduce MuleIntroduce Mule
Introduce Mule
mha4
 
Biz talk vs mulesoft
Biz talk vs mulesoftBiz talk vs mulesoft
Biz talk vs mulesoft
keshav Naidu
 
Mule esb made system integration easy
Mule esb made system integration easy Mule esb made system integration easy
Mule esb made system integration easy
javeed_mhd
 
Mule security
Mule  securityMule  security
Mule security
charan teja R
 
Mule fundamentals
Mule fundamentalsMule fundamentals
Mule fundamentals
Prabhat gangwar
 
Mule esb cloud hub
Mule  esb  cloud hubMule  esb  cloud hub
Mule esb cloud hub
D.Rajesh Kumar
 
Mule cloud hub
Mule  cloud hubMule  cloud hub
Mule cloud hub
D.Rajesh Kumar
 

What's hot (17)

Mule architecture
Mule architectureMule architecture
Mule architecture
 
Mule connectors
Mule  connectorsMule  connectors
Mule connectors
 
Mule anypoint data gateway
Mule  anypoint data gatewayMule  anypoint data gateway
Mule anypoint data gateway
 
Mule connectors
Mule  connectorsMule  connectors
Mule connectors
 
Mule oracle connectors
Mule  oracle connectorsMule  oracle connectors
Mule oracle connectors
 
Mule management console
Mule management consoleMule management console
Mule management console
 
Integration with Microsoft Azure using Mule ESB
Integration with Microsoft Azure using Mule ESBIntegration with Microsoft Azure using Mule ESB
Integration with Microsoft Azure using Mule ESB
 
Mule mule runtime engine
Mule  mule runtime engineMule  mule runtime engine
Mule mule runtime engine
 
Mule saas
Mule  saasMule  saas
Mule saas
 
Introduce Mule
Introduce MuleIntroduce Mule
Introduce Mule
 
2. muleesb
2. muleesb2. muleesb
2. muleesb
 
Biz talk vs mulesoft
Biz talk vs mulesoftBiz talk vs mulesoft
Biz talk vs mulesoft
 
Mule esb made system integration easy
Mule esb made system integration easy Mule esb made system integration easy
Mule esb made system integration easy
 
Mule security
Mule  securityMule  security
Mule security
 
Mule fundamentals
Mule fundamentalsMule fundamentals
Mule fundamentals
 
Mule esb cloud hub
Mule  esb  cloud hubMule  esb  cloud hub
Mule esb cloud hub
 
Mule cloud hub
Mule  cloud hubMule  cloud hub
Mule cloud hub
 

Viewers also liked

Mule with rabbit mq
Mule with rabbit mq Mule with rabbit mq
Mule with rabbit mq
mdfkhan625
 
哈啾!哈啾!
哈啾!哈啾!哈啾!哈啾!
哈啾!哈啾!
Lenon Gallagher
 
Program OSS Víkend Bratislava 2016
Program OSS Víkend Bratislava 2016Program OSS Víkend Bratislava 2016
Program OSS Víkend Bratislava 2016
PROMOSPRAVY.sk
 
Ariana lópez canales
Ariana lópez canalesAriana lópez canales
Ariana lópez canalesarianalop
 
Send email attachment using smtp in mule esb
Send email attachment using smtp in mule esbSend email attachment using smtp in mule esb
Send email attachment using smtp in mule esb
Praneethchampion
 
Skolsky-poriadok-skoly-MS-Sevcenkova-35-2016-2017
Skolsky-poriadok-skoly-MS-Sevcenkova-35-2016-2017Skolsky-poriadok-skoly-MS-Sevcenkova-35-2016-2017
Skolsky-poriadok-skoly-MS-Sevcenkova-35-2016-2017
Miroslav Gendes
 
Swiss Open Geodata: Opportunities and Threats
Swiss Open Geodata: Opportunities and ThreatsSwiss Open Geodata: Opportunities and Threats
Swiss Open Geodata: Opportunities and Threats
Ralph Straumann
 
Android BLEのつらみを予防するTips
Android BLEのつらみを予防するTipsAndroid BLEのつらみを予防するTips
Android BLEのつらみを予防するTips
Taisuke Oe
 
クリスマスもコードを書きたいアナタに送る! 次世代エンジニアの技術の学び方とは? 〜Qiitaの投稿データから読み解く、2016年の技術トレンド〜
クリスマスもコードを書きたいアナタに送る! 次世代エンジニアの技術の学び方とは? 〜Qiitaの投稿データから読み解く、2016年の技術トレンド〜クリスマスもコードを書きたいアナタに送る! 次世代エンジニアの技術の学び方とは? 〜Qiitaの投稿データから読み解く、2016年の技術トレンド〜
クリスマスもコードを書きたいアナタに送る! 次世代エンジニアの技術の学び方とは? 〜Qiitaの投稿データから読み解く、2016年の技術トレンド〜
Takuya Oikawa
 
Mule anypoint exchange
Mule anypoint exchangeMule anypoint exchange
Mule anypoint exchange
princeirfancivil
 
Fairfax County Capital Bikeshare
Fairfax County Capital BikeshareFairfax County Capital Bikeshare
Fairfax County Capital Bikeshare
Fairfax County
 
Fairfax County Comprehensive Transit Plan and Transit Development Plan
Fairfax County Comprehensive Transit Plan and Transit Development PlanFairfax County Comprehensive Transit Plan and Transit Development Plan
Fairfax County Comprehensive Transit Plan and Transit Development Plan
Fairfax County
 
Funding and Maintenance Issues for Walkways: March 15, 2016
 Funding and Maintenance Issues for Walkways: March 15, 2016   Funding and Maintenance Issues for Walkways: March 15, 2016
Funding and Maintenance Issues for Walkways: March 15, 2016
Fairfax County
 
Mule security saml
Mule security samlMule security saml
Mule security saml
princeirfancivil
 

Viewers also liked (17)

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

Similar to Mule soa

Mule soa
Mule soaMule soa
Mule soa
Khasim Saheb
 
Mule soa
Mule soaMule soa
Mule soa
Anand kalla
 
Mule soa
Mule soaMule soa
Mule soa
Son Nguyen
 
Service oriented online architecture using mule
Service oriented online architecture using muleService oriented online architecture using mule
Service oriented online architecture using mule
mdfkhan625
 
Soa
SoaSoa
170215 msa intro
170215 msa intro170215 msa intro
170215 msa intro
Sonic leigh
 
Ahmedabad MuleSoft 3rd Meetup
Ahmedabad MuleSoft 3rd Meetup Ahmedabad MuleSoft 3rd Meetup
Ahmedabad MuleSoft 3rd Meetup
Rajesh Maheshwari
 
MuleSoft Meetup Mumbai Mule 4 Presentation Slide
MuleSoft Meetup Mumbai Mule 4 Presentation SlideMuleSoft Meetup Mumbai Mule 4 Presentation Slide
MuleSoft Meetup Mumbai Mule 4 Presentation Slide
Manish Kumar Yadav
 
Microservice Architecture Patterns, by Richard Langlois P. Eng.
Microservice Architecture Patterns, by Richard Langlois P. Eng.Microservice Architecture Patterns, by Richard Langlois P. Eng.
Microservice Architecture Patterns, by Richard Langlois P. Eng.
Richard Langlois P. Eng.
 
File Upload with RESP API
File Upload with RESP APIFile Upload with RESP API
File Upload with RESP API
Thiago Santana
 
OMA Lightweight M2M
OMA Lightweight M2M OMA Lightweight M2M
OMA Lightweight M2M
Hamdamboy (함담보이)
 
Effective admin and development in iib
Effective admin and development in iibEffective admin and development in iib
Effective admin and development in iib
m16k
 
A Public Cloud Based SOA Workflow for Machine Learning Based Recommendation A...
A Public Cloud Based SOA Workflow for Machine Learning Based Recommendation A...A Public Cloud Based SOA Workflow for Machine Learning Based Recommendation A...
A Public Cloud Based SOA Workflow for Machine Learning Based Recommendation A...
Ram G Athreya
 
The Overview of Microservices Architecture
The Overview of Microservices ArchitectureThe Overview of Microservices Architecture
The Overview of Microservices Architecture
Paria Heidari
 
IBM IMPACT 2014 - AMC-1882 Building a Scalable & Continuously Available IBM M...
IBM IMPACT 2014 - AMC-1882 Building a Scalable & Continuously Available IBM M...IBM IMPACT 2014 - AMC-1882 Building a Scalable & Continuously Available IBM M...
IBM IMPACT 2014 - AMC-1882 Building a Scalable & Continuously Available IBM M...
Peter Broadhurst
 
ESP POC Findings
ESP POC FindingsESP POC Findings
ESP POC Findings
kevin_donovan
 
CTU 2017 - I168 IBM MQ in the cloud
CTU 2017 - I168 IBM MQ in the cloudCTU 2017 - I168 IBM MQ in the cloud
CTU 2017 - I168 IBM MQ in the cloud
Robert Parker
 
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
 
IBM MQ - better application performance
IBM MQ - better application performanceIBM MQ - better application performance
IBM MQ - better application performance
MarkTaylorIBM
 

Similar to Mule soa (20)

Mule soa
Mule soaMule soa
Mule soa
 
Mule soa
Mule soaMule soa
Mule soa
 
Soa
SoaSoa
Soa
 
Mule soa
Mule soaMule soa
Mule soa
 
Service oriented online architecture using mule
Service oriented online architecture using muleService oriented online architecture using mule
Service oriented online architecture using mule
 
Soa
SoaSoa
Soa
 
170215 msa intro
170215 msa intro170215 msa intro
170215 msa intro
 
Ahmedabad MuleSoft 3rd Meetup
Ahmedabad MuleSoft 3rd Meetup Ahmedabad MuleSoft 3rd Meetup
Ahmedabad MuleSoft 3rd Meetup
 
MuleSoft Meetup Mumbai Mule 4 Presentation Slide
MuleSoft Meetup Mumbai Mule 4 Presentation SlideMuleSoft Meetup Mumbai Mule 4 Presentation Slide
MuleSoft Meetup Mumbai Mule 4 Presentation Slide
 
Microservice Architecture Patterns, by Richard Langlois P. Eng.
Microservice Architecture Patterns, by Richard Langlois P. Eng.Microservice Architecture Patterns, by Richard Langlois P. Eng.
Microservice Architecture Patterns, by Richard Langlois P. Eng.
 
File Upload with RESP API
File Upload with RESP APIFile Upload with RESP API
File Upload with RESP API
 
OMA Lightweight M2M
OMA Lightweight M2M OMA Lightweight M2M
OMA Lightweight M2M
 
Effective admin and development in iib
Effective admin and development in iibEffective admin and development in iib
Effective admin and development in iib
 
A Public Cloud Based SOA Workflow for Machine Learning Based Recommendation A...
A Public Cloud Based SOA Workflow for Machine Learning Based Recommendation A...A Public Cloud Based SOA Workflow for Machine Learning Based Recommendation A...
A Public Cloud Based SOA Workflow for Machine Learning Based Recommendation A...
 
The Overview of Microservices Architecture
The Overview of Microservices ArchitectureThe Overview of Microservices Architecture
The Overview of Microservices Architecture
 
IBM IMPACT 2014 - AMC-1882 Building a Scalable & Continuously Available IBM M...
IBM IMPACT 2014 - AMC-1882 Building a Scalable & Continuously Available IBM M...IBM IMPACT 2014 - AMC-1882 Building a Scalable & Continuously Available IBM M...
IBM IMPACT 2014 - AMC-1882 Building a Scalable & Continuously Available IBM M...
 
ESP POC Findings
ESP POC FindingsESP POC Findings
ESP POC Findings
 
CTU 2017 - I168 IBM MQ in the cloud
CTU 2017 - I168 IBM MQ in the cloudCTU 2017 - I168 IBM MQ in the cloud
CTU 2017 - I168 IBM MQ in the cloud
 
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
 
IBM MQ - better application performance
IBM MQ - better application performanceIBM MQ - better application performance
IBM MQ - better application performance
 

More from irfan1008

Converting with custom transformer
Converting with custom transformerConverting with custom transformer
Converting with custom transformer
irfan1008
 
Caching and invalidating with managed store
Caching and invalidating with managed storeCaching and invalidating with managed store
Caching and invalidating with managed store
irfan1008
 
Cache for community edition
Cache for community editionCache for community edition
Cache for community edition
irfan1008
 
Mule
MuleMule
Mule
irfan1008
 
Groovy with Mule
Groovy with MuleGroovy with Mule
Groovy with Mule
irfan1008
 
Validate Soap Request in Mule
Validate Soap Request in MuleValidate Soap Request in Mule
Validate Soap Request in Mule
irfan1008
 
WebService with VM Mule
WebService with VM MuleWebService with VM Mule
WebService with VM Mule
irfan1008
 
Xslt in mule
Xslt in muleXslt in mule
Xslt in mule
irfan1008
 
Developing Oracle Connector Using Mule
Developing Oracle Connector Using MuleDeveloping Oracle Connector Using Mule
Developing Oracle Connector Using Mule
irfan1008
 
Send email attachment using smtp in mule esb
Send email attachment using smtp  in mule esbSend email attachment using smtp  in mule esb
Send email attachment using smtp in mule esb
irfan1008
 
Mule oracle connectors
Mule oracle connectorsMule oracle connectors
Mule oracle connectors
irfan1008
 
Mule google connectors
Mule google connectorsMule google connectors
Mule google connectors
irfan1008
 
Mule execution
Mule executionMule execution
Mule execution
irfan1008
 
Mule database-connectors
Mule database-connectorsMule database-connectors
Mule database-connectors
irfan1008
 
Mule batch processing
Mule batch processingMule batch processing
Mule batch processing
irfan1008
 
Mule architecture
Mule architectureMule architecture
Mule architecture
irfan1008
 
Mule anypoint exchange
Mule anypoint exchangeMule anypoint exchange
Mule anypoint exchange
irfan1008
 
Mule soap
Mule soapMule soap
Mule soap
irfan1008
 
Mule security saml
Mule security samlMule security saml
Mule security saml
irfan1008
 
Mule security jaas
Mule security jaasMule security jaas
Mule security jaas
irfan1008
 

More from irfan1008 (20)

Converting with custom transformer
Converting with custom transformerConverting with custom transformer
Converting with custom transformer
 
Caching and invalidating with managed store
Caching and invalidating with managed storeCaching and invalidating with managed store
Caching and invalidating with managed store
 
Cache for community edition
Cache for community editionCache for community edition
Cache for community edition
 
Mule
MuleMule
Mule
 
Groovy with Mule
Groovy with MuleGroovy with Mule
Groovy with Mule
 
Validate Soap Request in Mule
Validate Soap Request in MuleValidate Soap Request in Mule
Validate Soap Request in Mule
 
WebService with VM Mule
WebService with VM MuleWebService with VM Mule
WebService with VM Mule
 
Xslt in mule
Xslt in muleXslt in mule
Xslt in mule
 
Developing Oracle Connector Using Mule
Developing Oracle Connector Using MuleDeveloping Oracle Connector Using Mule
Developing Oracle Connector Using Mule
 
Send email attachment using smtp in mule esb
Send email attachment using smtp  in mule esbSend email attachment using smtp  in mule esb
Send email attachment using smtp in mule esb
 
Mule oracle connectors
Mule oracle connectorsMule oracle connectors
Mule oracle connectors
 
Mule google connectors
Mule google connectorsMule google connectors
Mule google connectors
 
Mule execution
Mule executionMule execution
Mule execution
 
Mule database-connectors
Mule database-connectorsMule database-connectors
Mule database-connectors
 
Mule batch processing
Mule batch processingMule batch processing
Mule batch processing
 
Mule architecture
Mule architectureMule architecture
Mule architecture
 
Mule anypoint exchange
Mule anypoint exchangeMule anypoint exchange
Mule anypoint exchange
 
Mule soap
Mule soapMule soap
Mule soap
 
Mule security saml
Mule security samlMule security saml
Mule security saml
 
Mule security jaas
Mule security jaasMule security jaas
Mule security jaas
 

Recently uploaded

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
 
Elevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object CalisthenicsElevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object Calisthenics
Dorra BARTAGUIZ
 
Introduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - CybersecurityIntroduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - Cybersecurity
mikeeftimakis1
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
Jemma Hussein Allen
 
Generative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to ProductionGenerative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to Production
Aggregage
 
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
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
James Anderson
 
Assure Contact Center Experiences for Your Customers With ThousandEyes
Assure Contact Center Experiences for Your Customers With ThousandEyesAssure Contact Center Experiences for Your Customers With ThousandEyes
Assure Contact Center Experiences for Your Customers With ThousandEyes
ThousandEyes
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
ControlCase
 
Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?
Nexer Digital
 
UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3
DianaGray10
 
PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)
Ralf Eggert
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
Safe Software
 
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
 
By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024
Pierluigi Pugliese
 
When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...
Elena Simperl
 
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
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Thierry Lestable
 
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
 
Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
Ana-Maria Mihalceanu
 

Recently uploaded (20)

FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
 
Elevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object CalisthenicsElevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object Calisthenics
 
Introduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - CybersecurityIntroduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - Cybersecurity
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
 
Generative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to ProductionGenerative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to Production
 
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
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
 
Assure Contact Center Experiences for Your Customers With ThousandEyes
Assure Contact Center Experiences for Your Customers With ThousandEyesAssure Contact Center Experiences for Your Customers With ThousandEyes
Assure Contact Center Experiences for Your Customers With ThousandEyes
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
 
Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?
 
UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3
 
PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
 
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
 
By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024
 
When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...
 
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
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
 
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
 
Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
 

Mule soa

  • 1.
  • 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