SlideShare a Scribd company logo
Service-Oriented Online Architecture with Mule
A different approach to building a SOA
Agenda
• 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
Business context and problems faced
Existing online infrastructure was
complex, expensive
to maintain and could not be used
by other portals
3
Corporate Network
(Head Quarter)
Portal
Distribution DMZ
Partner LAN
(*) as Reverse Proxy
 Business logic and backend access in the portal needs to available to other portals
 Server applications only run on specialized hardware and application platform
 Everyone is talking to everyone, point-to-point communication is difficult to manage
Web-
Server (*)
Web-
Server (*)
Browser Oracle
DB2
BackendBackend
BackendBackend
Client-
Application
Client-
Application
Data
Platform
Component
Application
Platform
Online-
ServerServer-
Application
Server-
Application
- Spare Parts
- Technical Info
- …
An ESB-centric service-oriented
online architecture is
easier to manage and more
extensible
4
Business context and problems faced
Online
Client
Corporate Network
(Head Quarter)
DMZ
Primary
ESB
Backend
Portal
Online-
Server
(*) as Reverse Proxy
Local Area Network
Web-
Server (*)
Web-
Server (*)
Browser
■ The migration of the server applications to standardized
hardware proved to be rather difficult due to close coupling to
platform
■ To get rid of the application platform components we had to
identify the all required services for the online scenario
■ Then a light-weight surrogate based on Mule was implemented
to provide these services to the applications instead
■ The portal independent services had to be identified and
extracted from the portal
■ Access to all backend systems is now provided by one central
Mule ESB instance, implementing logging and security
■ The maintenance costs for the simplified architecture have
already decreased significantly
■ New server application instances can be deploy transparently
within hours instead of days now
Business context and problems faced
The goal was to simplify the
architecture, unify the way
backend systems are accessed and
cut operation costs
5
Agenda
• 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
6
The improved service-oriented
online architecture can be
composed using different building
blocks
7
The idea of a service-oriented online architecture
Online
Client
Corporate Network
(Head Quarter)
DMZ
Primary
ESB
Backend
Portal
Online-
Server
(*) as Reverse Proxy
Local Area Network
Web-
Server (*)
Web-
Server (*)
Web-
Server (*)
Local
ESB
Browser
A secondary ESB building block
enables the deployment
of dedicated online servers in
national networks
8
The idea of a service-oriented online architecture
Local
ESB
Corporate Network
(Head Quarter)
Primary
ESB
Backend
Portal
Online-
Server
National Corporate
Network (USA)
Secondary
ESB
DMZ
Backend‘
Local Area
Network
(*) as Reverse Proxy
Web-
Server (*)
Web-
Server (*)
Web-
Server (*)
Browser
Online-
Client
Multiple portal and online server
blocks can be combined
to support different user groups
and network locations
9
The idea of a service-oriented online architecture
Corporate Network
Primary
ESB
Backend
Portal
Online-
Server
National Corporate
Network (USA)
Secondary
ESB
DMZ
Backend‘
Local Area
Network
Web-
Server (*)
Web-
Server(*)
(*) as Reverse Proxy
Local
ESB
Browser
Online-
Client
Web-
Server(*)
Portal
Online-
Server
Agenda
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
■ 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
Based on the proposed architecture
scenarios we could
identify the requirements on the
ESB product
11
■ Chosen products: Mule ESB, WSO2
and Fuse ESB
■ Are all 3 uses cases supported?
■ Development model: used frameworks,
supported IDEs, build tools?
■ Learning curve: How good is the
documentation? ClearAPI?
■ Development effort: How long does it
take to implement the uses cases?
■ Mule ESB scored best in comparison,
closely followed by WSO2
How and why we selected Mule
Implementation of a small PoC
prototype to get a first
impression of the chosen products
121 2 3WS-Call  POJO Provider External WS-Call (Asnyc) WS-Proxy with Transform
■ 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
Intensive performance tests
uncovered several findings
(with Mule 3.1.1) …
13
Agenda
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
14
Clustered deployment of Mule ESB
as a web application
for scalability and high availability■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 15
Overview and examples of Mule use cases
Overview and examples of Mule use cases
Unified web service interface to
access details user
from heterogeneous data sources
16
■ 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
Web service to XML/RPC service
adapter to access the
BZST service for simple and
qualified VAT checks
17
■ 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
Web service to email service
adapter to send support
requests to a ticketing backend
system
18
■ The actual sending using an SMTP
connector is performed asynchronous
■ Custom transformer uses Velocity to
convert request object to email body
Agenda
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
19
■ 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
Test driven development using
MuleFunctionalTests,
SoapUI tests and mock services
20
■ „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
Building a custom Mule distribution
for 100% control of
all dependencies and optimal
performance
21
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
No big bang: start small and migrate
in several phases
22
Questions & Answers

More Related Content

What's hot

Mule real-world-old
Mule real-world-oldMule real-world-old
Mule real-world-old
Praneethchampion
 
Mule soa
Mule soaMule soa
Mule soa
D.Rajesh Kumar
 
Service oriented online architecture using mule
Service oriented online architecture using muleService oriented online architecture using mule
Service oriented online architecture using mule
mdfkhan625
 
Anypoint platform architecture and components
Anypoint platform architecture and componentsAnypoint platform architecture and components
Anypoint platform architecture and components
D.Rajesh Kumar
 
Ajax In Enterprise Portals
Ajax In Enterprise PortalsAjax In Enterprise Portals
Ajax In Enterprise Portals
Wesley Hales
 
Mule Integration Simplified
Mule Integration SimplifiedMule Integration Simplified
Mule Integration Simplified
Bui Kiet
 
WSDL in Mule Esb
WSDL in Mule EsbWSDL in Mule Esb
WSDL in Mule Esb
Anand kalla
 
Global Scale ESB with Mule
Global Scale ESB with MuleGlobal Scale ESB with Mule
Global Scale ESB with Mule
Andrew Kennedy
 
Webbinar slides
Webbinar slidesWebbinar slides
Webbinar slidesWSO2
 
Mule ESB
Mule ESBMule ESB
Mule ESBniravn
 
Overview of Mule
Overview of MuleOverview of Mule
Overview of Mule
mdfkhan625
 
Anypoint connector dev kit
Anypoint connector dev kitAnypoint connector dev kit
Anypoint connector dev kit
Son Nguyen
 
Core concepts - mule
Core concepts - muleCore concepts - mule
Core concepts - mule
Sindhu VL
 
Webservice vm in mule
Webservice vm in muleWebservice vm in mule
Webservice vm in mule
Praneethchampion
 
Mule overview-ppt
Mule overview-pptMule overview-ppt
Mule overview-ppt
Prabhat gangwar
 
Maven introduction in Mule
Maven introduction in MuleMaven introduction in Mule
Maven introduction in Mule
Shahid Shaik
 
Mule esb
Mule esbMule esb
Mule esb
Naresh Naidu
 
Mule overview
Mule overviewMule overview
Mule overview
F K
 
Simple web service vm
Simple web service vmSimple web service vm
Simple web service vm
Mohammed246
 
Introduction to RESTful Webservice
Introduction to RESTful WebserviceIntroduction to RESTful Webservice
Introduction to RESTful WebserviceEftakhairul Islam
 

What's hot (20)

Mule real-world-old
Mule real-world-oldMule real-world-old
Mule real-world-old
 
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
 
Anypoint platform architecture and components
Anypoint platform architecture and componentsAnypoint platform architecture and components
Anypoint platform architecture and components
 
Ajax In Enterprise Portals
Ajax In Enterprise PortalsAjax In Enterprise Portals
Ajax In Enterprise Portals
 
Mule Integration Simplified
Mule Integration SimplifiedMule Integration Simplified
Mule Integration Simplified
 
WSDL in Mule Esb
WSDL in Mule EsbWSDL in Mule Esb
WSDL in Mule Esb
 
Global Scale ESB with Mule
Global Scale ESB with MuleGlobal Scale ESB with Mule
Global Scale ESB with Mule
 
Webbinar slides
Webbinar slidesWebbinar slides
Webbinar slides
 
Mule ESB
Mule ESBMule ESB
Mule ESB
 
Overview of Mule
Overview of MuleOverview of Mule
Overview of Mule
 
Anypoint connector dev kit
Anypoint connector dev kitAnypoint connector dev kit
Anypoint connector dev kit
 
Core concepts - mule
Core concepts - muleCore concepts - mule
Core concepts - mule
 
Webservice vm in mule
Webservice vm in muleWebservice vm in mule
Webservice vm in mule
 
Mule overview-ppt
Mule overview-pptMule overview-ppt
Mule overview-ppt
 
Maven introduction in Mule
Maven introduction in MuleMaven introduction in Mule
Maven introduction in Mule
 
Mule esb
Mule esbMule esb
Mule esb
 
Mule overview
Mule overviewMule overview
Mule overview
 
Simple web service vm
Simple web service vmSimple web service vm
Simple web service vm
 
Introduction to RESTful Webservice
Introduction to RESTful WebserviceIntroduction to RESTful Webservice
Introduction to RESTful Webservice
 

Viewers also liked

Creating flexible learning spaces
Creating flexible learning spacesCreating flexible learning spaces
Creating flexible learning spaces
LearnTechDerby
 
Presentation_NEW.PPTX
Presentation_NEW.PPTXPresentation_NEW.PPTX
Presentation_NEW.PPTX
jameschloejames
 
Neil Bron Jalac- CV1 (2)
Neil Bron Jalac- CV1 (2)Neil Bron Jalac- CV1 (2)
Neil Bron Jalac- CV1 (2)Neil Jalac
 
KỸ NĂNG ĐÀM PHÁN - THƯƠNG LƯỢNG
KỸ NĂNG ĐÀM PHÁN - THƯƠNG LƯỢNGKỸ NĂNG ĐÀM PHÁN - THƯƠNG LƯỢNG
KỸ NĂNG ĐÀM PHÁN - THƯƠNG LƯỢNG
MasterSkills Institute
 
Thăm nhà máy xanh mát với dây leo bao bọc
Thăm nhà máy xanh mát với dây leo bao bọcThăm nhà máy xanh mát với dây leo bao bọc
Thăm nhà máy xanh mát với dây leo bao bọc
Thi công sơn giá rẻ
 
Arpa de boca
Arpa de bocaArpa de boca
Arpa de boca
papoularosa
 
Những văn phòng làm việc đầy cảm hứng
Những văn phòng làm việc đầy cảm hứngNhững văn phòng làm việc đầy cảm hứng
Những văn phòng làm việc đầy cảm hứng
Thi công sơn giá rẻ
 
Audience research task 9
Audience research task 9Audience research task 9
Audience research task 9
joelsy98
 
Neil Bron Jalac- CV1 (2)
Neil Bron Jalac- CV1 (2)Neil Bron Jalac- CV1 (2)
Neil Bron Jalac- CV1 (2)Neil Jalac
 
Mapa mental de sistemas, modelos y control
Mapa mental de sistemas, modelos y controlMapa mental de sistemas, modelos y control
Mapa mental de sistemas, modelos y control
eliianiitta12
 
Porfolioen
PorfolioenPorfolioen
Porfolioen
Céline Pecheur
 

Viewers also liked (14)

Hoja De Respuesta Ensayo Simce 6
Hoja De Respuesta Ensayo Simce 6 Hoja De Respuesta Ensayo Simce 6
Hoja De Respuesta Ensayo Simce 6
 
Creating flexible learning spaces
Creating flexible learning spacesCreating flexible learning spaces
Creating flexible learning spaces
 
Presentation_NEW.PPTX
Presentation_NEW.PPTXPresentation_NEW.PPTX
Presentation_NEW.PPTX
 
PhD Thesis Avallone
PhD Thesis AvallonePhD Thesis Avallone
PhD Thesis Avallone
 
Neil Bron Jalac- CV1 (2)
Neil Bron Jalac- CV1 (2)Neil Bron Jalac- CV1 (2)
Neil Bron Jalac- CV1 (2)
 
Comerica, UNI NLBWA
Comerica, UNI NLBWAComerica, UNI NLBWA
Comerica, UNI NLBWA
 
KỸ NĂNG ĐÀM PHÁN - THƯƠNG LƯỢNG
KỸ NĂNG ĐÀM PHÁN - THƯƠNG LƯỢNGKỸ NĂNG ĐÀM PHÁN - THƯƠNG LƯỢNG
KỸ NĂNG ĐÀM PHÁN - THƯƠNG LƯỢNG
 
Thăm nhà máy xanh mát với dây leo bao bọc
Thăm nhà máy xanh mát với dây leo bao bọcThăm nhà máy xanh mát với dây leo bao bọc
Thăm nhà máy xanh mát với dây leo bao bọc
 
Arpa de boca
Arpa de bocaArpa de boca
Arpa de boca
 
Những văn phòng làm việc đầy cảm hứng
Những văn phòng làm việc đầy cảm hứngNhững văn phòng làm việc đầy cảm hứng
Những văn phòng làm việc đầy cảm hứng
 
Audience research task 9
Audience research task 9Audience research task 9
Audience research task 9
 
Neil Bron Jalac- CV1 (2)
Neil Bron Jalac- CV1 (2)Neil Bron Jalac- CV1 (2)
Neil Bron Jalac- CV1 (2)
 
Mapa mental de sistemas, modelos y control
Mapa mental de sistemas, modelos y controlMapa mental de sistemas, modelos y control
Mapa mental de sistemas, modelos y control
 
Porfolioen
PorfolioenPorfolioen
Porfolioen
 

Similar to 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
Mule soaMule soa
Mule soa
Phaniu
 
Mule soa
Mule soaMule soa
Mule soa
Mule soaMule soa
Mule soa
irfan1008
 
Mule soa
Mule soaMule soa
Mule soa
Son Nguyen
 
Mule : Building Blocks for Microservices
Mule : Building Blocks for MicroservicesMule : Building Blocks for Microservices
Mule : Building Blocks for Microservices
Anirudh Pandit
 
Effective admin and development in iib
Effective admin and development in iibEffective admin and development in iib
Effective admin and development in iib
m16k
 
ESB and Mule ESB solution
ESB and Mule ESB solutionESB and Mule ESB solution
ESB and Mule ESB solutionSwati Bansal
 
170215 msa intro
170215 msa intro170215 msa intro
170215 msa intro
Sonic leigh
 
Enterprise Integration with the WSO2 ESB
Enterprise Integration with the WSO2 ESB Enterprise Integration with the WSO2 ESB
Enterprise Integration with the WSO2 ESB WSO2
 
Cloud compiler - Minor Project by students of CBPGEC
Cloud compiler - Minor Project by students of CBPGEC  Cloud compiler - Minor Project by students of CBPGEC
Cloud compiler - Minor Project by students of CBPGEC
vipin kumar
 
Modern Enterprise integration Strategies
Modern Enterprise integration StrategiesModern Enterprise integration Strategies
Modern Enterprise integration Strategies
Jesus Rodriguez
 
[WSO2Con EU 2017] How a Large Organization Weighted on a WSO2 Integration Pla...
[WSO2Con EU 2017] How a Large Organization Weighted on a WSO2 Integration Pla...[WSO2Con EU 2017] How a Large Organization Weighted on a WSO2 Integration Pla...
[WSO2Con EU 2017] How a Large Organization Weighted on a WSO2 Integration Pla...
WSO2
 
WebSphere Message Broker Application Development Training
WebSphere Message Broker Application Development TrainingWebSphere Message Broker Application Development Training
WebSphere Message Broker Application Development Training
Vijaya Raghava Vuligundam
 
Cloudify 4.6 highlights webinar
Cloudify 4.6 highlights webinarCloudify 4.6 highlights webinar
Cloudify 4.6 highlights webinar
Cloudify Community
 
Wso2 esb
Wso2 esbWso2 esb
Wso2 esb
Wso2 esbWso2 esb

Similar to Soa (20)

Soa
SoaSoa
Soa
 
Mule soa
Mule soaMule soa
Mule soa
 
Mule soa
Mule soaMule soa
Mule soa
 
Mule soa
Mule soaMule soa
Mule soa
 
Mule soa
Mule soaMule soa
Mule soa
 
Mule soa
Mule soaMule soa
Mule soa
 
Mule soa
Mule soaMule soa
Mule soa
 
Mule soa
Mule soaMule soa
Mule soa
 
Mule : Building Blocks for Microservices
Mule : Building Blocks for MicroservicesMule : Building Blocks for Microservices
Mule : Building Blocks for Microservices
 
Effective admin and development in iib
Effective admin and development in iibEffective admin and development in iib
Effective admin and development in iib
 
ESB and Mule ESB solution
ESB and Mule ESB solutionESB and Mule ESB solution
ESB and Mule ESB solution
 
170215 msa intro
170215 msa intro170215 msa intro
170215 msa intro
 
Enterprise Integration with the WSO2 ESB
Enterprise Integration with the WSO2 ESB Enterprise Integration with the WSO2 ESB
Enterprise Integration with the WSO2 ESB
 
Cloud compiler - Minor Project by students of CBPGEC
Cloud compiler - Minor Project by students of CBPGEC  Cloud compiler - Minor Project by students of CBPGEC
Cloud compiler - Minor Project by students of CBPGEC
 
Modern Enterprise integration Strategies
Modern Enterprise integration StrategiesModern Enterprise integration Strategies
Modern Enterprise integration Strategies
 
[WSO2Con EU 2017] How a Large Organization Weighted on a WSO2 Integration Pla...
[WSO2Con EU 2017] How a Large Organization Weighted on a WSO2 Integration Pla...[WSO2Con EU 2017] How a Large Organization Weighted on a WSO2 Integration Pla...
[WSO2Con EU 2017] How a Large Organization Weighted on a WSO2 Integration Pla...
 
WebSphere Message Broker Application Development Training
WebSphere Message Broker Application Development TrainingWebSphere Message Broker Application Development Training
WebSphere Message Broker Application Development Training
 
Cloudify 4.6 highlights webinar
Cloudify 4.6 highlights webinarCloudify 4.6 highlights webinar
Cloudify 4.6 highlights webinar
 
Wso2 esb
Wso2 esbWso2 esb
Wso2 esb
 
Wso2 esb
Wso2 esbWso2 esb
Wso2 esb
 

More from Manav Prasad

Experience with mulesoft
Experience with mulesoftExperience with mulesoft
Experience with mulesoft
Manav Prasad
 
Mulesoftconnectors
MulesoftconnectorsMulesoftconnectors
Mulesoftconnectors
Manav Prasad
 
Mule and web services
Mule and web servicesMule and web services
Mule and web services
Manav Prasad
 
Mulesoft cloudhub
Mulesoft cloudhubMulesoft cloudhub
Mulesoft cloudhub
Manav Prasad
 
Perl tutorial
Perl tutorialPerl tutorial
Perl tutorial
Manav Prasad
 
Hibernate presentation
Hibernate presentationHibernate presentation
Hibernate presentation
Manav Prasad
 
Spring introduction
Spring introductionSpring introduction
Spring introduction
Manav Prasad
 
Json
Json Json
The spring framework
The spring frameworkThe spring framework
The spring framework
Manav Prasad
 
Rest introduction
Rest introductionRest introduction
Rest introduction
Manav Prasad
 
Exceptions in java
Exceptions in javaExceptions in java
Exceptions in java
Manav Prasad
 
Junit
JunitJunit
Xml parsers
Xml parsersXml parsers
Xml parsers
Manav Prasad
 
Xpath
XpathXpath
Xhtml
XhtmlXhtml
Introduction to html5
Introduction to html5Introduction to html5
Introduction to html5
Manav Prasad
 

More from Manav Prasad (20)

Experience with mulesoft
Experience with mulesoftExperience with mulesoft
Experience with mulesoft
 
Mulesoftconnectors
MulesoftconnectorsMulesoftconnectors
Mulesoftconnectors
 
Mule and web services
Mule and web servicesMule and web services
Mule and web services
 
Mulesoft cloudhub
Mulesoft cloudhubMulesoft cloudhub
Mulesoft cloudhub
 
Perl tutorial
Perl tutorialPerl tutorial
Perl tutorial
 
Hibernate presentation
Hibernate presentationHibernate presentation
Hibernate presentation
 
Jpa
JpaJpa
Jpa
 
Spring introduction
Spring introductionSpring introduction
Spring introduction
 
Json
Json Json
Json
 
The spring framework
The spring frameworkThe spring framework
The spring framework
 
Rest introduction
Rest introductionRest introduction
Rest introduction
 
Exceptions in java
Exceptions in javaExceptions in java
Exceptions in java
 
Junit
JunitJunit
Junit
 
Xml parsers
Xml parsersXml parsers
Xml parsers
 
Xpath
XpathXpath
Xpath
 
Xslt
XsltXslt
Xslt
 
Xhtml
XhtmlXhtml
Xhtml
 
Css
CssCss
Css
 
Introduction to html5
Introduction to html5Introduction to html5
Introduction to html5
 
Ajax
AjaxAjax
Ajax
 

Recently uploaded

14 Template Contractual Notice - EOT Application
14 Template Contractual Notice - EOT Application14 Template Contractual Notice - EOT Application
14 Template Contractual Notice - EOT Application
SyedAbiiAzazi1
 
AKS UNIVERSITY Satna Final Year Project By OM Hardaha.pdf
AKS UNIVERSITY Satna Final Year Project By OM Hardaha.pdfAKS UNIVERSITY Satna Final Year Project By OM Hardaha.pdf
AKS UNIVERSITY Satna Final Year Project By OM Hardaha.pdf
SamSarthak3
 
Water billing management system project report.pdf
Water billing management system project report.pdfWater billing management system project report.pdf
Water billing management system project report.pdf
Kamal Acharya
 
Gen AI Study Jams _ For the GDSC Leads in India.pdf
Gen AI Study Jams _ For the GDSC Leads in India.pdfGen AI Study Jams _ For the GDSC Leads in India.pdf
Gen AI Study Jams _ For the GDSC Leads in India.pdf
gdsczhcet
 
Top 10 Oil and Gas Projects in Saudi Arabia 2024.pdf
Top 10 Oil and Gas Projects in Saudi Arabia 2024.pdfTop 10 Oil and Gas Projects in Saudi Arabia 2024.pdf
Top 10 Oil and Gas Projects in Saudi Arabia 2024.pdf
Teleport Manpower Consultant
 
6th International Conference on Machine Learning & Applications (CMLA 2024)
6th International Conference on Machine Learning & Applications (CMLA 2024)6th International Conference on Machine Learning & Applications (CMLA 2024)
6th International Conference on Machine Learning & Applications (CMLA 2024)
ClaraZara1
 
Cosmetic shop management system project report.pdf
Cosmetic shop management system project report.pdfCosmetic shop management system project report.pdf
Cosmetic shop management system project report.pdf
Kamal Acharya
 
Hierarchical Digital Twin of a Naval Power System
Hierarchical Digital Twin of a Naval Power SystemHierarchical Digital Twin of a Naval Power System
Hierarchical Digital Twin of a Naval Power System
Kerry Sado
 
Nuclear Power Economics and Structuring 2024
Nuclear Power Economics and Structuring 2024Nuclear Power Economics and Structuring 2024
Nuclear Power Economics and Structuring 2024
Massimo Talia
 
Railway Signalling Principles Edition 3.pdf
Railway Signalling Principles Edition 3.pdfRailway Signalling Principles Edition 3.pdf
Railway Signalling Principles Edition 3.pdf
TeeVichai
 
Harnessing WebAssembly for Real-time Stateless Streaming Pipelines
Harnessing WebAssembly for Real-time Stateless Streaming PipelinesHarnessing WebAssembly for Real-time Stateless Streaming Pipelines
Harnessing WebAssembly for Real-time Stateless Streaming Pipelines
Christina Lin
 
Unbalanced Three Phase Systems and circuits.pptx
Unbalanced Three Phase Systems and circuits.pptxUnbalanced Three Phase Systems and circuits.pptx
Unbalanced Three Phase Systems and circuits.pptx
ChristineTorrepenida1
 
Student information management system project report ii.pdf
Student information management system project report ii.pdfStudent information management system project report ii.pdf
Student information management system project report ii.pdf
Kamal Acharya
 
Fundamentals of Electric Drives and its applications.pptx
Fundamentals of Electric Drives and its applications.pptxFundamentals of Electric Drives and its applications.pptx
Fundamentals of Electric Drives and its applications.pptx
manasideore6
 
DESIGN AND ANALYSIS OF A CAR SHOWROOM USING E TABS
DESIGN AND ANALYSIS OF A CAR SHOWROOM USING E TABSDESIGN AND ANALYSIS OF A CAR SHOWROOM USING E TABS
DESIGN AND ANALYSIS OF A CAR SHOWROOM USING E TABS
itech2017
 
Pile Foundation by Venkatesh Taduvai (Sub Geotechnical Engineering II)-conver...
Pile Foundation by Venkatesh Taduvai (Sub Geotechnical Engineering II)-conver...Pile Foundation by Venkatesh Taduvai (Sub Geotechnical Engineering II)-conver...
Pile Foundation by Venkatesh Taduvai (Sub Geotechnical Engineering II)-conver...
AJAYKUMARPUND1
 
Heap Sort (SS).ppt FOR ENGINEERING GRADUATES, BCA, MCA, MTECH, BSC STUDENTS
Heap Sort (SS).ppt FOR ENGINEERING GRADUATES, BCA, MCA, MTECH, BSC STUDENTSHeap Sort (SS).ppt FOR ENGINEERING GRADUATES, BCA, MCA, MTECH, BSC STUDENTS
Heap Sort (SS).ppt FOR ENGINEERING GRADUATES, BCA, MCA, MTECH, BSC STUDENTS
Soumen Santra
 
MCQ Soil mechanics questions (Soil shear strength).pdf
MCQ Soil mechanics questions (Soil shear strength).pdfMCQ Soil mechanics questions (Soil shear strength).pdf
MCQ Soil mechanics questions (Soil shear strength).pdf
Osamah Alsalih
 
DfMAy 2024 - key insights and contributions
DfMAy 2024 - key insights and contributionsDfMAy 2024 - key insights and contributions
DfMAy 2024 - key insights and contributions
gestioneergodomus
 
NO1 Uk best vashikaran specialist in delhi vashikaran baba near me online vas...
NO1 Uk best vashikaran specialist in delhi vashikaran baba near me online vas...NO1 Uk best vashikaran specialist in delhi vashikaran baba near me online vas...
NO1 Uk best vashikaran specialist in delhi vashikaran baba near me online vas...
Amil Baba Dawood bangali
 

Recently uploaded (20)

14 Template Contractual Notice - EOT Application
14 Template Contractual Notice - EOT Application14 Template Contractual Notice - EOT Application
14 Template Contractual Notice - EOT Application
 
AKS UNIVERSITY Satna Final Year Project By OM Hardaha.pdf
AKS UNIVERSITY Satna Final Year Project By OM Hardaha.pdfAKS UNIVERSITY Satna Final Year Project By OM Hardaha.pdf
AKS UNIVERSITY Satna Final Year Project By OM Hardaha.pdf
 
Water billing management system project report.pdf
Water billing management system project report.pdfWater billing management system project report.pdf
Water billing management system project report.pdf
 
Gen AI Study Jams _ For the GDSC Leads in India.pdf
Gen AI Study Jams _ For the GDSC Leads in India.pdfGen AI Study Jams _ For the GDSC Leads in India.pdf
Gen AI Study Jams _ For the GDSC Leads in India.pdf
 
Top 10 Oil and Gas Projects in Saudi Arabia 2024.pdf
Top 10 Oil and Gas Projects in Saudi Arabia 2024.pdfTop 10 Oil and Gas Projects in Saudi Arabia 2024.pdf
Top 10 Oil and Gas Projects in Saudi Arabia 2024.pdf
 
6th International Conference on Machine Learning & Applications (CMLA 2024)
6th International Conference on Machine Learning & Applications (CMLA 2024)6th International Conference on Machine Learning & Applications (CMLA 2024)
6th International Conference on Machine Learning & Applications (CMLA 2024)
 
Cosmetic shop management system project report.pdf
Cosmetic shop management system project report.pdfCosmetic shop management system project report.pdf
Cosmetic shop management system project report.pdf
 
Hierarchical Digital Twin of a Naval Power System
Hierarchical Digital Twin of a Naval Power SystemHierarchical Digital Twin of a Naval Power System
Hierarchical Digital Twin of a Naval Power System
 
Nuclear Power Economics and Structuring 2024
Nuclear Power Economics and Structuring 2024Nuclear Power Economics and Structuring 2024
Nuclear Power Economics and Structuring 2024
 
Railway Signalling Principles Edition 3.pdf
Railway Signalling Principles Edition 3.pdfRailway Signalling Principles Edition 3.pdf
Railway Signalling Principles Edition 3.pdf
 
Harnessing WebAssembly for Real-time Stateless Streaming Pipelines
Harnessing WebAssembly for Real-time Stateless Streaming PipelinesHarnessing WebAssembly for Real-time Stateless Streaming Pipelines
Harnessing WebAssembly for Real-time Stateless Streaming Pipelines
 
Unbalanced Three Phase Systems and circuits.pptx
Unbalanced Three Phase Systems and circuits.pptxUnbalanced Three Phase Systems and circuits.pptx
Unbalanced Three Phase Systems and circuits.pptx
 
Student information management system project report ii.pdf
Student information management system project report ii.pdfStudent information management system project report ii.pdf
Student information management system project report ii.pdf
 
Fundamentals of Electric Drives and its applications.pptx
Fundamentals of Electric Drives and its applications.pptxFundamentals of Electric Drives and its applications.pptx
Fundamentals of Electric Drives and its applications.pptx
 
DESIGN AND ANALYSIS OF A CAR SHOWROOM USING E TABS
DESIGN AND ANALYSIS OF A CAR SHOWROOM USING E TABSDESIGN AND ANALYSIS OF A CAR SHOWROOM USING E TABS
DESIGN AND ANALYSIS OF A CAR SHOWROOM USING E TABS
 
Pile Foundation by Venkatesh Taduvai (Sub Geotechnical Engineering II)-conver...
Pile Foundation by Venkatesh Taduvai (Sub Geotechnical Engineering II)-conver...Pile Foundation by Venkatesh Taduvai (Sub Geotechnical Engineering II)-conver...
Pile Foundation by Venkatesh Taduvai (Sub Geotechnical Engineering II)-conver...
 
Heap Sort (SS).ppt FOR ENGINEERING GRADUATES, BCA, MCA, MTECH, BSC STUDENTS
Heap Sort (SS).ppt FOR ENGINEERING GRADUATES, BCA, MCA, MTECH, BSC STUDENTSHeap Sort (SS).ppt FOR ENGINEERING GRADUATES, BCA, MCA, MTECH, BSC STUDENTS
Heap Sort (SS).ppt FOR ENGINEERING GRADUATES, BCA, MCA, MTECH, BSC STUDENTS
 
MCQ Soil mechanics questions (Soil shear strength).pdf
MCQ Soil mechanics questions (Soil shear strength).pdfMCQ Soil mechanics questions (Soil shear strength).pdf
MCQ Soil mechanics questions (Soil shear strength).pdf
 
DfMAy 2024 - key insights and contributions
DfMAy 2024 - key insights and contributionsDfMAy 2024 - key insights and contributions
DfMAy 2024 - key insights and contributions
 
NO1 Uk best vashikaran specialist in delhi vashikaran baba near me online vas...
NO1 Uk best vashikaran specialist in delhi vashikaran baba near me online vas...NO1 Uk best vashikaran specialist in delhi vashikaran baba near me online vas...
NO1 Uk best vashikaran specialist in delhi vashikaran baba near me online vas...
 

Soa

  • 1. Service-Oriented Online Architecture with Mule A different approach to building a SOA
  • 2. Agenda • 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. Business context and problems faced Existing online infrastructure was complex, expensive to maintain and could not be used by other portals 3 Corporate Network (Head Quarter) Portal Distribution DMZ Partner LAN (*) as Reverse Proxy  Business logic and backend access in the portal needs to available to other portals  Server applications only run on specialized hardware and application platform  Everyone is talking to everyone, point-to-point communication is difficult to manage Web- Server (*) Web- Server (*) Browser Oracle DB2 BackendBackend BackendBackend Client- Application Client- Application Data Platform Component Application Platform Online- ServerServer- Application Server- Application - Spare Parts - Technical Info - …
  • 4. An ESB-centric service-oriented online architecture is easier to manage and more extensible 4 Business context and problems faced Online Client Corporate Network (Head Quarter) DMZ Primary ESB Backend Portal Online- Server (*) as Reverse Proxy Local Area Network Web- Server (*) Web- Server (*) Browser
  • 5. ■ The migration of the server applications to standardized hardware proved to be rather difficult due to close coupling to platform ■ To get rid of the application platform components we had to identify the all required services for the online scenario ■ Then a light-weight surrogate based on Mule was implemented to provide these services to the applications instead ■ The portal independent services had to be identified and extracted from the portal ■ Access to all backend systems is now provided by one central Mule ESB instance, implementing logging and security ■ The maintenance costs for the simplified architecture have already decreased significantly ■ New server application instances can be deploy transparently within hours instead of days now Business context and problems faced The goal was to simplify the architecture, unify the way backend systems are accessed and cut operation costs 5
  • 6. Agenda • 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 6
  • 7. The improved service-oriented online architecture can be composed using different building blocks 7 The idea of a service-oriented online architecture Online Client Corporate Network (Head Quarter) DMZ Primary ESB Backend Portal Online- Server (*) as Reverse Proxy Local Area Network Web- Server (*) Web- Server (*) Web- Server (*) Local ESB Browser
  • 8. A secondary ESB building block enables the deployment of dedicated online servers in national networks 8 The idea of a service-oriented online architecture Local ESB Corporate Network (Head Quarter) Primary ESB Backend Portal Online- Server National Corporate Network (USA) Secondary ESB DMZ Backend‘ Local Area Network (*) as Reverse Proxy Web- Server (*) Web- Server (*) Web- Server (*) Browser Online- Client
  • 9. Multiple portal and online server blocks can be combined to support different user groups and network locations 9 The idea of a service-oriented online architecture Corporate Network Primary ESB Backend Portal Online- Server National Corporate Network (USA) Secondary ESB DMZ Backend‘ Local Area Network Web- Server (*) Web- Server(*) (*) as Reverse Proxy Local ESB Browser Online- Client Web- Server(*) Portal Online- Server
  • 10. Agenda 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. ■ 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 Based on the proposed architecture scenarios we could identify the requirements on the ESB product 11
  • 12. ■ Chosen products: Mule ESB, WSO2 and Fuse ESB ■ Are all 3 uses cases supported? ■ Development model: used frameworks, supported IDEs, build tools? ■ Learning curve: How good is the documentation? ClearAPI? ■ Development effort: How long does it take to implement the uses cases? ■ Mule ESB scored best in comparison, closely followed by WSO2 How and why we selected Mule Implementation of a small PoC prototype to get a first impression of the chosen products 121 2 3WS-Call  POJO Provider External WS-Call (Asnyc) WS-Proxy with Transform
  • 13. ■ 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 Intensive performance tests uncovered several findings (with Mule 3.1.1) … 13
  • 14. Agenda 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 14
  • 15. Clustered deployment of Mule ESB as a web application for scalability and high availability■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 15 Overview and examples of Mule use cases
  • 16. Overview and examples of Mule use cases Unified web service interface to access details user from heterogeneous data sources 16 ■ 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
  • 17. ■ 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 Web service to XML/RPC service adapter to access the BZST service for simple and qualified VAT checks 17
  • 18. ■ 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 Web service to email service adapter to send support requests to a ticketing backend system 18 ■ The actual sending using an SMTP connector is performed asynchronous ■ Custom transformer uses Velocity to convert request object to email body
  • 19. Agenda 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 19
  • 20. ■ 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 Test driven development using MuleFunctionalTests, SoapUI tests and mock services 20
  • 21. ■ „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 Building a custom Mule distribution for 100% control of all dependencies and optimal performance 21 96 MB 30 MB 37 MB
  • 22. ■ 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 No big bang: start small and migrate in several phases 22