SlideShare a Scribd company logo
7th Dec 2019 : Mule 3x vs Mule 4x
Bangalore Mulesoft Meetup Group
All contents © MuleSoft Inc.
Agenda
2
• Introductions
• Kimberly Clark Mulesoft journey
• Interactive discussion about Mule 3x vs Mule 4x
• Panel discussion with Mulesoft
• Q&A
• Networking time
• Wrap-up & Lunch
All contents © MuleSoft Inc.
Introductions
3
• About the organizers:
• About the Speakers:
A SHOW OF HANDS:
Who is new to this MeetUp?
About the Sponsor:
Kimberly Clark Mulesoft journey
Mule 3x vs Mule 4x
What are we up to w.r.t Mule 4x..!!
All contents © MuleSoft Inc.
Key Points
6
• Basic differences
– Coding ’habits’
– Error handling
• Reference elements differences
– Salesforce
– VM Queue
– Databases
– Scripts
• DataWeave vs MEL
• Munits
• Project structure
All contents © MuleSoft Inc.
Sample Services Concept - 1
7
HTTP
• POST #1
Salesforce
• Get data
– simple
SOQL
• Get data
– dynamic
SOQL
VM
• Salesforce
Data
• Additional
properties
Database
• Insert
salesforce
data with
properties
All contents © MuleSoft Inc.
Sample Services Concept - 2
8
HTTP
• POST #2
Script
• Prepare
Query in
Javascript
Database
• Run
prepared
query
(select)
JSON
Response
• Present
data
All contents © MuleSoft Inc.
Coding ’habits’ – properties, configurations etc.
9
• Mule 3 • Mule 4
9
• Anypoint Studio 6
– Both Community & Enterprise
• Manually setting-up Maven
• Property Placeholder
• Message Properties, Mule
Expression Language,
DataWeave 1.0
• Anypoint Studio 7
– Only for Enterprise
– Intellij + Mule plugin for
Community
• Ready-to-use Maven
• Configuration properties
• DataWeave 2.0
All contents © MuleSoft Inc.
Salesforce
1010
• Mule 3 • Mule 4
• Single Salesforce Block
• SOQL - Query Builder
• Multiple
Salesforce Blocks
• No SOQL - Query
Builder
• Operations are
individual
connectors now
in Mule4
All contents © MuleSoft Inc.
Salesforce Continued..!!
1111
• Mule 3 • Mule 4
All contents © MuleSoft Inc.
VM Queue
1212
• Mule 3 • Mule 4
12
• Dynamically-set queue names
• Message property
• Need to define queue names
’up-front’ in VM properties
• No message properties (?)
– or your speaker does not know how to do it 
All contents © MuleSoft Inc.
VM Queue – Continued..!!
131313
• Mule 3 • Mule 4
All contents © MuleSoft Inc.
Databases
141414
• Multiple Database Blocks
• One Database Config Block
• DataWeave parameters in
SQL Code as prefered option
• Mule 3 • Mule 4
14
• One Database Block
• Multiple Database Config
Blocks
• #[…] working in SQL Code
All contents © MuleSoft Inc.
Database Continued..!!
151515
• Mule 3 • Mule 4
All contents © MuleSoft Inc.
Databases – known issues in Mule 4
161616
• Database connections
Out-of-memory on Mule Server caused by db-connector
Database connections are not being closed after flow processing end:
https://help.mulesoft.com/s/question/0D72T000003t3JO/database-connections-are-not-closing
Database connectors are consuming a lot of memory, causing OutOfMemory exception
Solution: Use try-catch block for each database call, and configure max/min pool
size in Database Config.
Solution: Upgrade mule-db-connector from 1.4.x to 1.5.x in pom.xml
Note: Your speaker may not be aware if this is already fixed in latest release..!! 
All contents © MuleSoft Inc.
Scripts
171717
• Mule 3 • Mule 4
• Multiple blocks for scripting
– One block also available – so a bit
’messy’
• message.setInvocationPropert
y(..) as a method to set any
number of variables you want
in one script
• One block for scripting
• No functions to set multiple
variables
– or your speaker does not know how to do it 
– You can build your
payload/variable, so variables
values can be set-up as script-
output elements, and re-write to
Mule Variable.
All contents © MuleSoft Inc.
Scripts Continued..!!
181818
• Mule 3 • Mule 4
18
All contents © MuleSoft Inc.
Error Handling
191919
• Mule 3 • Mule 4
• * Exception Strategy
– Catch
– Choice
– Custom
– Reference
– Rollback
– Mapping
• Try-Catch block
• On Error Continue / On Error
Propagate
All contents © MuleSoft Inc.
Error Handling Continued..!!
2020
• Mule 3 • Mule 4
20
All contents © MuleSoft Inc.
Summary
212121
 Mule 3 and Mule 4 has differences we cannot underrestimate during migration
project planning.
 So far – no migration tool. Each service we need to re-write code we have in Mule
3 to be compatible with Mule 4.
 Not that hard to re-learn – useful course:
https://training.mulesoft.com/course/mulesoftu-mule443
In my opinion, Mule 4 is more mature in concept – but has some difficulties we need
to overcome as is quite fresh platform.
All contents © MuleSoft Inc.
Articles
222222
• High-level article about Mule 4 migrations:
https://blog.bluesoft.com/mule-4-migration/
https://docs.mulesoft.com/mule-runtime/4.2/migration-
process
• MuleSoft Documenation
https://docs.mulesoft.com/mule-runtime/4.2/migration-core
https://docs.mulesoft.com/mule-runtime/4.2/migration-cheat-
sheet
Vikram Kulkarni
Panel Discussion with Mulesoft
All contents © MuleSoft Inc.
Questions??
See you next time
Please send topic suggestions to the organizers
Next Meet up: Q1 2020
Networking time
Engage yourself in interesting discussions with your neighbors!
Bangalore meetup slides_dec_7th_2019

More Related Content

PDF
Webアプリケーションフレームワークを利用した効率的なカスタムWeb開発
PDF
Pune meetup 16 feb 2019
PPTX
Migration from ASP.NET MVC to ASP.NET Core
PPTX
Tarabica 2019 - Migration from ASP.NET MVC to ASP.NET Core
PDF
Velocity - NxtGen Oxford
PDF
Module Web Applications - Pierre Dubois, Chief Executive and President, Requea
PDF
SBT Made Simple
PPT
Real World Rails Deployment
Webアプリケーションフレームワークを利用した効率的なカスタムWeb開発
Pune meetup 16 feb 2019
Migration from ASP.NET MVC to ASP.NET Core
Tarabica 2019 - Migration from ASP.NET MVC to ASP.NET Core
Velocity - NxtGen Oxford
Module Web Applications - Pierre Dubois, Chief Executive and President, Requea
SBT Made Simple
Real World Rails Deployment

What's hot (20)

PPTX
Hyderbad meetup 19th jan
KEY
Ruby For Web Development
PPTX
Mulesoft meetup 29.06
PPTX
ReactPHP + Symfony
PDF
React.js for Rails Developers
PDF
PLAT-8 Spring Web Scripts and Spring Surf
PPTX
The WordPress Way: Accessibility and Backwards Compatibility
PDF
A Gentle Introduction to Functions-as-a-Service
PPTX
Drop acid
PDF
RESTful Rails2
PDF
React on rails v6.1 at LA Ruby, November 2016
PDF
Project Fedena and Why Ruby on Rails - ArvindArvind G S
PPTX
Single page application and Framework
PDF
Asp.Net 3 5 Part 1
PPT
Ruby Setup
PPT
Phoenix and the Plug-life
PDF
Laravel and CodeIgniter: pros & cons
PDF
Mastering asp.net mvc - Dot Net Tricks
PPTX
Reckon APS PM10 presentation at Reckon Group Conference
PPTX
introduction to js
Hyderbad meetup 19th jan
Ruby For Web Development
Mulesoft meetup 29.06
ReactPHP + Symfony
React.js for Rails Developers
PLAT-8 Spring Web Scripts and Spring Surf
The WordPress Way: Accessibility and Backwards Compatibility
A Gentle Introduction to Functions-as-a-Service
Drop acid
RESTful Rails2
React on rails v6.1 at LA Ruby, November 2016
Project Fedena and Why Ruby on Rails - ArvindArvind G S
Single page application and Framework
Asp.Net 3 5 Part 1
Ruby Setup
Phoenix and the Plug-life
Laravel and CodeIgniter: pros & cons
Mastering asp.net mvc - Dot Net Tricks
Reckon APS PM10 presentation at Reckon Group Conference
introduction to js
Ad

Similar to Bangalore meetup slides_dec_7th_2019 (20)

PPTX
Mule soft meetup warsaw november 13th, 2019
PDF
Meetup hyderabad mule-4.x
PPTX
MuleSoft Meetup Mumbai Mule 4 Presentation Slide
PDF
Ahmedabad MuleSoft 3rd Meetup
PPTX
Perth MuleSoft Meetup Feb 2019
PDF
MuleSoft Meetup Singapore - Reliable Messaging & RTF Operations
PDF
Ahmedabad MuleSoft Meetup #4
PPTX
Cracow MuleSoft Meetup #1
PPTX
Manila MuleSoft Meetup - September 2018
PPTX
Tips and Tricks for the Advanced Mule Developer with Tesla and Twitter
PPTX
Connect the Dots: Logging and Custom Connectors
PPTX
Warsaw MuleSoft Meetup - Runtime Fabric
PPTX
Second Caracas MuleSoft Meetup Slides
PPTX
West Yorkshire Meetup #4
PPTX
Sprinting with Anypoint Runtime Fabric
PPTX
MuleSoft Meetup Warsaw Group #1
PPTX
Manila MuleSoft Meetup #3 December 2018
PPTX
West Yorkshire Mulesoft Meetup #6
PPTX
Mule soft meetup_virtual_ 3_charlotte_07july_2021__final
PPTX
MuleSoft Meetup Virtual_ 2_Charlotte
Mule soft meetup warsaw november 13th, 2019
Meetup hyderabad mule-4.x
MuleSoft Meetup Mumbai Mule 4 Presentation Slide
Ahmedabad MuleSoft 3rd Meetup
Perth MuleSoft Meetup Feb 2019
MuleSoft Meetup Singapore - Reliable Messaging & RTF Operations
Ahmedabad MuleSoft Meetup #4
Cracow MuleSoft Meetup #1
Manila MuleSoft Meetup - September 2018
Tips and Tricks for the Advanced Mule Developer with Tesla and Twitter
Connect the Dots: Logging and Custom Connectors
Warsaw MuleSoft Meetup - Runtime Fabric
Second Caracas MuleSoft Meetup Slides
West Yorkshire Meetup #4
Sprinting with Anypoint Runtime Fabric
MuleSoft Meetup Warsaw Group #1
Manila MuleSoft Meetup #3 December 2018
West Yorkshire Mulesoft Meetup #6
Mule soft meetup_virtual_ 3_charlotte_07july_2021__final
MuleSoft Meetup Virtual_ 2_Charlotte
Ad

Recently uploaded (20)

PPTX
Understanding-Communication-Berlos-S-M-C-R-Model.pptx
DOC
学位双硕士UTAS毕业证,墨尔本理工学院毕业证留学硕士毕业证
PPTX
Human Mind & its character Characteristics
PPTX
2025-08-10 Joseph 02 (shared slides).pptx
PPTX
Project and change Managment: short video sequences for IBA
PPTX
Hydrogel Based delivery Cancer Treatment
PPTX
Impressionism_PostImpressionism_Presentation.pptx
PPTX
Self management and self evaluation presentation
PPTX
Role and Responsibilities of Bangladesh Coast Guard Base, Mongla Challenges
PDF
Parts of Speech Prepositions Presentation in Colorful Cute Style_20250724_230...
PPTX
The Effect of Human Resource Management Practice on Organizational Performanc...
PPTX
Effective_Handling_Information_Presentation.pptx
PPTX
BIOLOGY TISSUE PPT CLASS 9 PROJECT PUBLIC
PDF
Why Top Brands Trust Enuncia Global for Language Solutions.pdf
PPTX
Tablets And Capsule Preformulation Of Paracetamol
PPTX
Intro to ISO 9001 2015.pptx wareness raising
PPTX
AcademyNaturalLanguageProcessing-EN-ILT-M02-Introduction.pptx
PPTX
Relationship Management Presentation In Banking.pptx
PPTX
Learning-Plan-5-Policies-and-Practices.pptx
PPTX
Tour Presentation Educational Activity.pptx
Understanding-Communication-Berlos-S-M-C-R-Model.pptx
学位双硕士UTAS毕业证,墨尔本理工学院毕业证留学硕士毕业证
Human Mind & its character Characteristics
2025-08-10 Joseph 02 (shared slides).pptx
Project and change Managment: short video sequences for IBA
Hydrogel Based delivery Cancer Treatment
Impressionism_PostImpressionism_Presentation.pptx
Self management and self evaluation presentation
Role and Responsibilities of Bangladesh Coast Guard Base, Mongla Challenges
Parts of Speech Prepositions Presentation in Colorful Cute Style_20250724_230...
The Effect of Human Resource Management Practice on Organizational Performanc...
Effective_Handling_Information_Presentation.pptx
BIOLOGY TISSUE PPT CLASS 9 PROJECT PUBLIC
Why Top Brands Trust Enuncia Global for Language Solutions.pdf
Tablets And Capsule Preformulation Of Paracetamol
Intro to ISO 9001 2015.pptx wareness raising
AcademyNaturalLanguageProcessing-EN-ILT-M02-Introduction.pptx
Relationship Management Presentation In Banking.pptx
Learning-Plan-5-Policies-and-Practices.pptx
Tour Presentation Educational Activity.pptx

Bangalore meetup slides_dec_7th_2019

  • 1. 7th Dec 2019 : Mule 3x vs Mule 4x Bangalore Mulesoft Meetup Group
  • 2. All contents © MuleSoft Inc. Agenda 2 • Introductions • Kimberly Clark Mulesoft journey • Interactive discussion about Mule 3x vs Mule 4x • Panel discussion with Mulesoft • Q&A • Networking time • Wrap-up & Lunch
  • 3. All contents © MuleSoft Inc. Introductions 3 • About the organizers: • About the Speakers: A SHOW OF HANDS: Who is new to this MeetUp? About the Sponsor:
  • 5. Mule 3x vs Mule 4x What are we up to w.r.t Mule 4x..!!
  • 6. All contents © MuleSoft Inc. Key Points 6 • Basic differences – Coding ’habits’ – Error handling • Reference elements differences – Salesforce – VM Queue – Databases – Scripts • DataWeave vs MEL • Munits • Project structure
  • 7. All contents © MuleSoft Inc. Sample Services Concept - 1 7 HTTP • POST #1 Salesforce • Get data – simple SOQL • Get data – dynamic SOQL VM • Salesforce Data • Additional properties Database • Insert salesforce data with properties
  • 8. All contents © MuleSoft Inc. Sample Services Concept - 2 8 HTTP • POST #2 Script • Prepare Query in Javascript Database • Run prepared query (select) JSON Response • Present data
  • 9. All contents © MuleSoft Inc. Coding ’habits’ – properties, configurations etc. 9 • Mule 3 • Mule 4 9 • Anypoint Studio 6 – Both Community & Enterprise • Manually setting-up Maven • Property Placeholder • Message Properties, Mule Expression Language, DataWeave 1.0 • Anypoint Studio 7 – Only for Enterprise – Intellij + Mule plugin for Community • Ready-to-use Maven • Configuration properties • DataWeave 2.0
  • 10. All contents © MuleSoft Inc. Salesforce 1010 • Mule 3 • Mule 4 • Single Salesforce Block • SOQL - Query Builder • Multiple Salesforce Blocks • No SOQL - Query Builder • Operations are individual connectors now in Mule4
  • 11. All contents © MuleSoft Inc. Salesforce Continued..!! 1111 • Mule 3 • Mule 4
  • 12. All contents © MuleSoft Inc. VM Queue 1212 • Mule 3 • Mule 4 12 • Dynamically-set queue names • Message property • Need to define queue names ’up-front’ in VM properties • No message properties (?) – or your speaker does not know how to do it 
  • 13. All contents © MuleSoft Inc. VM Queue – Continued..!! 131313 • Mule 3 • Mule 4
  • 14. All contents © MuleSoft Inc. Databases 141414 • Multiple Database Blocks • One Database Config Block • DataWeave parameters in SQL Code as prefered option • Mule 3 • Mule 4 14 • One Database Block • Multiple Database Config Blocks • #[…] working in SQL Code
  • 15. All contents © MuleSoft Inc. Database Continued..!! 151515 • Mule 3 • Mule 4
  • 16. All contents © MuleSoft Inc. Databases – known issues in Mule 4 161616 • Database connections Out-of-memory on Mule Server caused by db-connector Database connections are not being closed after flow processing end: https://help.mulesoft.com/s/question/0D72T000003t3JO/database-connections-are-not-closing Database connectors are consuming a lot of memory, causing OutOfMemory exception Solution: Use try-catch block for each database call, and configure max/min pool size in Database Config. Solution: Upgrade mule-db-connector from 1.4.x to 1.5.x in pom.xml Note: Your speaker may not be aware if this is already fixed in latest release..!! 
  • 17. All contents © MuleSoft Inc. Scripts 171717 • Mule 3 • Mule 4 • Multiple blocks for scripting – One block also available – so a bit ’messy’ • message.setInvocationPropert y(..) as a method to set any number of variables you want in one script • One block for scripting • No functions to set multiple variables – or your speaker does not know how to do it  – You can build your payload/variable, so variables values can be set-up as script- output elements, and re-write to Mule Variable.
  • 18. All contents © MuleSoft Inc. Scripts Continued..!! 181818 • Mule 3 • Mule 4 18
  • 19. All contents © MuleSoft Inc. Error Handling 191919 • Mule 3 • Mule 4 • * Exception Strategy – Catch – Choice – Custom – Reference – Rollback – Mapping • Try-Catch block • On Error Continue / On Error Propagate
  • 20. All contents © MuleSoft Inc. Error Handling Continued..!! 2020 • Mule 3 • Mule 4 20
  • 21. All contents © MuleSoft Inc. Summary 212121  Mule 3 and Mule 4 has differences we cannot underrestimate during migration project planning.  So far – no migration tool. Each service we need to re-write code we have in Mule 3 to be compatible with Mule 4.  Not that hard to re-learn – useful course: https://training.mulesoft.com/course/mulesoftu-mule443 In my opinion, Mule 4 is more mature in concept – but has some difficulties we need to overcome as is quite fresh platform.
  • 22. All contents © MuleSoft Inc. Articles 222222 • High-level article about Mule 4 migrations: https://blog.bluesoft.com/mule-4-migration/ https://docs.mulesoft.com/mule-runtime/4.2/migration- process • MuleSoft Documenation https://docs.mulesoft.com/mule-runtime/4.2/migration-core https://docs.mulesoft.com/mule-runtime/4.2/migration-cheat- sheet
  • 24. All contents © MuleSoft Inc. Questions??
  • 25. See you next time Please send topic suggestions to the organizers Next Meet up: Q1 2020
  • 26. Networking time Engage yourself in interesting discussions with your neighbors!