SlideShare ist ein Scribd-Unternehmen logo
1 von 42
Warsaw MuleSoft Meetup #5
November 13th, 2019
Mule #3 to #4
Migration Case Study
All contents © MuleSoft Inc.
Agenda
3
• Community updates
• Migration Case Study (Mule 3 to Mule 4)
• Networking time
• Disscussions
• What’s next & Close
Introduction
All contents © MuleSoft Inc.
Our Partners
5
All contents © MuleSoft Inc.
Organizer
• Senior Integration Developer at PwC Poland
• MuleSoft Ambassador
• MuleSoft Meetup Leader for Warsaw, Poland
• Latest Salesforce Trailblazer
https://trailhead.salesforce.com/trailblazers/p
atryk-bandurski
• Integration Blog
http://ambassadorpatryk.com/blog
• Working with MuleSoft products for over 8
years now
Patryk Bandurski
All contents © MuleSoft Inc.
Speaker
7
• Senior Integration Consultant at BlueSoft
• 6+ years in Integration as Developer,
System Analyst & Solution Architect on
multiple platforms
• Mulesoft Certified Developer – Level 1
(Mule 4)
• Mulesoft Certified Developer – Integration
& API Associate
• https://www.linkedin.com/in/krzysztof-
hałasa-279b69a4
Krzysztof Hałasa
All contents © MuleSoft Inc.
Share
8
• Share the Meetup in your social media
• Use Hashtags
– #MuleSoftMeetup
– #WarsawMuleSoftMeetup
Thanks 
All contents © MuleSoft Inc. 9
Would you like to present some cool topic at the next Meetup?
To submit your idea, fill out this form:
https://tinyurl.com/become-speaker
Become a Speaker at the Meetup
Community Updates
MuleSoft London Connect
Anypoint Platform October 2019 release
The best place to ask questions and help others.
MuleSoft Forums
All contents © MuleSoft Inc.
18,000+ members ready to help.
14
https://help.mulesoft.com/
• Check out the “MuleSoft
Training” category for all
training and certification-
related questions
Replaced with Help Center
All contents © MuleSoft Inc.
Warsaw MuleSoft Meetup Group
15
• https://tinyurl.com/warsaw-group
• On MuleSoft Help center
• Why?
– Suggest topics
– Discuss event’s topics
– Discuss anything you like
– Ask questions
– See updates regarding our
group!
Register today 
Mule #3 to #4
Migration Case Study
All contents © MuleSoft Inc.
Topics to discuss today
17
1. Basic differences
– Coding ’habits’
– Error handling
2. Reference elements differences
– Salesforce
– VM Queue
– Databases
– Scripts
All contents © MuleSoft Inc.
Sample Services Concept - 1
18
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
19
HTTP
• POST #2
Script
• Prepare
Query in
Javascript
Database
• Run
prepared
query
(select)
JSON
Response
• Present
data
All contents © MuleSoft Inc.
Mule 3 Mule 4
Coding ’habits’ – properties, configurations etc.
20
• 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.
Mule 3 Mule 4
Salesforce
21
• Single Salesforce Block
• SOQL - Query Builder
• Multiple
Salesforce Blocks
• No SOQL - Query
Builder
– but we used
Salesforce API
and wrote a
simple http
request to
access all
column names:
salesforceObject
sDescriptionFlow
All contents © MuleSoft Inc.
Salesforce – code example
22
Mule 3 Mule 4
Sometimes do not trust Anypoint Platform error list 
All contents © MuleSoft Inc.
Mule 3 Mule 4
VM Queue
23
• Dynamically-set queue names
• Not possible(?) to get data from
queue on-demand
– or your speaker does not know how to do it 
• Message property
• Need to define queue names ’up-
front’ in VM properties
• Easy getting data on-demand from
queue
• No message properties (?)
– or your speaker does not know how to do it 
All contents © MuleSoft Inc.
Mule 3 Mule 4
VM Queue – code example
24
All contents © MuleSoft Inc.
• Multiple Database Blocks
• One Database Config Block
• DataWeave parameters in SQL Code
as prefered option
Mule 3 Mule 4
Databases
25
• One Database Block
• Multiple Database Config Blocks
• #[…] working in SQL Code
All contents © MuleSoft Inc.
Databases – code example
26
Mule 3 Mule 4
All contents © MuleSoft Inc.
Databases – known issues in Mule 4
27
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
Lunch & Beverages
Break
All contents © MuleSoft Inc.
Mule 3 Mule 4
Scripts
29
• Multiple blocks for scripting
– One block also available – so a bit
’messy’
• message.setInvocationProperty(..)
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.
Mule 3 Mule 4
Scripts – code example
30
All contents © MuleSoft Inc.
Mule 3 Mule 4
Error handling
31
• * Exception Strategy
– Catch
– Choice
– Custom
– Reference
– Rollback
– Mapping
• Try-Catch block
• On Error Continue / On Error
Propagate
All contents © MuleSoft Inc.
Mule 3 Mule 4
Error handling – code example
32
All contents © MuleSoft Inc.
Summary
33
• 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.
Questions & Answers
Discussion
34
All contents © MuleSoft Inc.
Materials
35
• 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
All contents © MuleSoft Inc.
Kahoot!
36
• Interactive quizes/surveys
• From the web browser
• Visit the page
kahoot.it
and provide
• PIN number
• Your nick
All contents © MuleSoft Inc.
Let’s get familiar with
the Kahoot by a quick
4 questions warm up
Kahoot warmup!
All contents © MuleSoft Inc.
For 3 winners a special
prize is ready, so take
part in the trivia quiz
Trivia
All contents © MuleSoft Inc.
What’s next
39
• Feedback:
– Contact your organizer Patryk Bandurski via e-mail or LinkedIn profile to suggest
topics
– Contact MuleSoft at meetup@mulesoft.com for ways to improve the program
• Our next meetup:
– Date: Q1 2020
– Topic: not known yet
All contents © MuleSoft Inc.
What’s next
40
Invite your network to join
– https://meetups.mulesoft.com/warsaw/
Group photo
Time to do the photo!
See you next time

Weitere ähnliche Inhalte

Was ist angesagt?

Was ist angesagt? (20)

Ahmedabad MuleSoft Meetup #4
Ahmedabad MuleSoft Meetup #4Ahmedabad MuleSoft Meetup #4
Ahmedabad MuleSoft Meetup #4
 
mulesoft meetup @ bangalore
mulesoft meetup @ bangaloremulesoft meetup @ bangalore
mulesoft meetup @ bangalore
 
Meetup hyderabad mule-4.x
Meetup hyderabad mule-4.xMeetup hyderabad mule-4.x
Meetup hyderabad mule-4.x
 
Ahmedabad MuleSoft Meetup #1
Ahmedabad MuleSoft Meetup #1Ahmedabad MuleSoft Meetup #1
Ahmedabad MuleSoft Meetup #1
 
Warsaw muleSoft meetup #11 MuleSoft OData
Warsaw muleSoft meetup #11 MuleSoft ODataWarsaw muleSoft meetup #11 MuleSoft OData
Warsaw muleSoft meetup #11 MuleSoft OData
 
Pune meetup 16 feb 2019
Pune meetup 16 feb 2019Pune meetup 16 feb 2019
Pune meetup 16 feb 2019
 
Warsaw MuleSoft Meetup #6 - CI/CD
Warsaw MuleSoft Meetup  #6 - CI/CDWarsaw MuleSoft Meetup  #6 - CI/CD
Warsaw MuleSoft Meetup #6 - CI/CD
 
Meet up slides_mumbai_05022020_final
Meet up slides_mumbai_05022020_finalMeet up slides_mumbai_05022020_final
Meet up slides_mumbai_05022020_final
 
Mulesoft with ELK (Elastic Search, Log stash, Kibana)
Mulesoft with ELK (Elastic Search, Log stash, Kibana)Mulesoft with ELK (Elastic Search, Log stash, Kibana)
Mulesoft with ELK (Elastic Search, Log stash, Kibana)
 
Ahmadabad mule soft_meetup_11_october_2020_errorhanlingandmonitoringalerts
Ahmadabad mule soft_meetup_11_october_2020_errorhanlingandmonitoringalertsAhmadabad mule soft_meetup_11_october_2020_errorhanlingandmonitoringalerts
Ahmadabad mule soft_meetup_11_october_2020_errorhanlingandmonitoringalerts
 
Warsaw MuleSoft Meetup - Runtime Fabric
Warsaw MuleSoft Meetup - Runtime FabricWarsaw MuleSoft Meetup - Runtime Fabric
Warsaw MuleSoft Meetup - Runtime Fabric
 
Hyd virtual meetupslides11jul
Hyd virtual meetupslides11julHyd virtual meetupslides11jul
Hyd virtual meetupslides11jul
 
Flow Tuning: Mule 3 vs. Mule 4 - MuleSoft Chicago CONNECT
Flow Tuning: Mule 3 vs. Mule 4 - MuleSoft Chicago CONNECTFlow Tuning: Mule 3 vs. Mule 4 - MuleSoft Chicago CONNECT
Flow Tuning: Mule 3 vs. Mule 4 - MuleSoft Chicago CONNECT
 
Hyd MuleSoft-Meetup-May 29,2021 | Migrating Mule 3 Java related code to Mule 4
Hyd MuleSoft-Meetup-May 29,2021 | Migrating Mule 3 Java related code to Mule 4Hyd MuleSoft-Meetup-May 29,2021 | Migrating Mule 3 Java related code to Mule 4
Hyd MuleSoft-Meetup-May 29,2021 | Migrating Mule 3 Java related code to Mule 4
 
Mule soft Meetup #3
 Mule soft Meetup #3 Mule soft Meetup #3
Mule soft Meetup #3
 
Third Meetup Slides Mulesoft Mexico City
Third Meetup Slides Mulesoft Mexico CityThird Meetup Slides Mulesoft Mexico City
Third Meetup Slides Mulesoft Mexico City
 
Mumbai MuleSoft Meetup:Batch Processing, Anypoint Messaging Queue and Custom ...
Mumbai MuleSoft Meetup:Batch Processing, Anypoint Messaging Queue and Custom ...Mumbai MuleSoft Meetup:Batch Processing, Anypoint Messaging Queue and Custom ...
Mumbai MuleSoft Meetup:Batch Processing, Anypoint Messaging Queue and Custom ...
 
Mumbai MuleSoft Meetup 11
Mumbai MuleSoft Meetup 11Mumbai MuleSoft Meetup 11
Mumbai MuleSoft Meetup 11
 
DataWeave and Error Handling Meetup at SF Tower Sept 24th
DataWeave and Error Handling Meetup at SF Tower Sept 24thDataWeave and Error Handling Meetup at SF Tower Sept 24th
DataWeave and Error Handling Meetup at SF Tower Sept 24th
 
Mulesoft Meetup Bangalore - 6th March 2021
Mulesoft Meetup Bangalore -  6th March 2021Mulesoft Meetup Bangalore -  6th March 2021
Mulesoft Meetup Bangalore - 6th March 2021
 

Ähnlich wie Mule soft meetup warsaw november 13th, 2019

Ähnlich wie Mule soft meetup warsaw november 13th, 2019 (20)

Bangalore meetup slides_dec_7th_2019
Bangalore meetup slides_dec_7th_2019Bangalore meetup slides_dec_7th_2019
Bangalore meetup slides_dec_7th_2019
 
MuleSoft Meetup Singapore - Reliable Messaging & RTF Operations
MuleSoft Meetup Singapore - Reliable Messaging & RTF OperationsMuleSoft Meetup Singapore - Reliable Messaging & RTF Operations
MuleSoft Meetup Singapore - Reliable Messaging & RTF Operations
 
Cracow MuleSoft Meetup #1
Cracow MuleSoft Meetup #1Cracow MuleSoft Meetup #1
Cracow MuleSoft Meetup #1
 
Connect the Dots: Logging and Custom Connectors
Connect the Dots: Logging and Custom ConnectorsConnect the Dots: Logging and Custom Connectors
Connect the Dots: Logging and Custom Connectors
 
Tips and Tricks for the Advanced Mule Developer with Tesla and Twitter
Tips and Tricks for the Advanced Mule Developer with Tesla and Twitter Tips and Tricks for the Advanced Mule Developer with Tesla and Twitter
Tips and Tricks for the Advanced Mule Developer with Tesla and Twitter
 
Perth MuleSoft Meetup Feb 2019
Perth MuleSoft Meetup Feb 2019Perth MuleSoft Meetup Feb 2019
Perth MuleSoft Meetup Feb 2019
 
Manila MuleSoft Meetup - September 2018
Manila MuleSoft Meetup - September 2018Manila MuleSoft Meetup - September 2018
Manila MuleSoft Meetup - September 2018
 
Mulesoft meetup 29.06
Mulesoft meetup 29.06Mulesoft meetup 29.06
Mulesoft meetup 29.06
 
Mulesoft meetup 9thmay Thiruvananthapuram
Mulesoft meetup 9thmay ThiruvananthapuramMulesoft meetup 9thmay Thiruvananthapuram
Mulesoft meetup 9thmay Thiruvananthapuram
 
Second Caracas MuleSoft Meetup Slides
Second Caracas MuleSoft Meetup SlidesSecond Caracas MuleSoft Meetup Slides
Second Caracas MuleSoft Meetup Slides
 
Mule soft meetup_virtual_ 3_charlotte_07july_2021__final
Mule soft meetup_virtual_ 3_charlotte_07july_2021__finalMule soft meetup_virtual_ 3_charlotte_07july_2021__final
Mule soft meetup_virtual_ 3_charlotte_07july_2021__final
 
MuleSoft Meetup Charlotte 2 - 2019
MuleSoft Meetup Charlotte 2 - 2019MuleSoft Meetup Charlotte 2 - 2019
MuleSoft Meetup Charlotte 2 - 2019
 
Mule soft meetups-24012020
Mule soft meetups-24012020Mule soft meetups-24012020
Mule soft meetups-24012020
 
West Yorkshire Meetup #4
West Yorkshire Meetup #4West Yorkshire Meetup #4
West Yorkshire Meetup #4
 
West Yorkshire Mulesoft Meetup #5
West Yorkshire Mulesoft Meetup #5West Yorkshire Mulesoft Meetup #5
West Yorkshire Mulesoft Meetup #5
 
MuleSoft Meetup Bangalore - March 6 2021
MuleSoft Meetup Bangalore - March 6 2021MuleSoft Meetup Bangalore - March 6 2021
MuleSoft Meetup Bangalore - March 6 2021
 
MuleSoft São Paulo Meetup #3 - 18 Jun
MuleSoft São Paulo Meetup #3 - 18 JunMuleSoft São Paulo Meetup #3 - 18 Jun
MuleSoft São Paulo Meetup #3 - 18 Jun
 
Learn mulesoft from scratch
Learn mulesoft from scratchLearn mulesoft from scratch
Learn mulesoft from scratch
 
Sprinting with Anypoint Runtime Fabric
Sprinting with Anypoint Runtime FabricSprinting with Anypoint Runtime Fabric
Sprinting with Anypoint Runtime Fabric
 
WHISHWORKS-MuleSoft Hyderabad Meetup -April 2019
WHISHWORKS-MuleSoft Hyderabad Meetup -April 2019WHISHWORKS-MuleSoft Hyderabad Meetup -April 2019
WHISHWORKS-MuleSoft Hyderabad Meetup -April 2019
 

Mehr von Patryk Bandurski

Mehr von Patryk Bandurski (8)

Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
Warsaw MuleSoft Meetup #16 DF Tour.pptx
Warsaw MuleSoft Meetup #16 DF Tour.pptxWarsaw MuleSoft Meetup #16 DF Tour.pptx
Warsaw MuleSoft Meetup #16 DF Tour.pptx
 
Warsaw MuleSoft Meetup #15 - Hyperautomation with MuleSoft - Composer 101
Warsaw MuleSoft Meetup #15 - Hyperautomation with MuleSoft - Composer 101Warsaw MuleSoft Meetup #15 - Hyperautomation with MuleSoft - Composer 101
Warsaw MuleSoft Meetup #15 - Hyperautomation with MuleSoft - Composer 101
 
Marketing Cloud integration with MuleSoft
Marketing Cloud integration with MuleSoftMarketing Cloud integration with MuleSoft
Marketing Cloud integration with MuleSoft
 
Warsaw MuleSoft Meetup #13.pptx
Warsaw MuleSoft Meetup #13.pptxWarsaw MuleSoft Meetup #13.pptx
Warsaw MuleSoft Meetup #13.pptx
 
Warsaw MuleSoft Meetup #12 Effective Streaming
Warsaw MuleSoft Meetup #12 Effective StreamingWarsaw MuleSoft Meetup #12 Effective Streaming
Warsaw MuleSoft Meetup #12 Effective Streaming
 
MuleSoft CloudHub API Versioning
MuleSoft CloudHub API VersioningMuleSoft CloudHub API Versioning
MuleSoft CloudHub API Versioning
 
MuleSoft Meetup Warsaw Group DataWeave 2.0
MuleSoft Meetup Warsaw Group DataWeave 2.0MuleSoft Meetup Warsaw Group DataWeave 2.0
MuleSoft Meetup Warsaw Group DataWeave 2.0
 

Kürzlich hochgeladen

CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
giselly40
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
Earley Information Science
 

Kürzlich hochgeladen (20)

A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 

Mule soft meetup warsaw november 13th, 2019

  • 1.
  • 2. Warsaw MuleSoft Meetup #5 November 13th, 2019 Mule #3 to #4 Migration Case Study
  • 3. All contents © MuleSoft Inc. Agenda 3 • Community updates • Migration Case Study (Mule 3 to Mule 4) • Networking time • Disscussions • What’s next & Close
  • 5. All contents © MuleSoft Inc. Our Partners 5
  • 6. All contents © MuleSoft Inc. Organizer • Senior Integration Developer at PwC Poland • MuleSoft Ambassador • MuleSoft Meetup Leader for Warsaw, Poland • Latest Salesforce Trailblazer https://trailhead.salesforce.com/trailblazers/p atryk-bandurski • Integration Blog http://ambassadorpatryk.com/blog • Working with MuleSoft products for over 8 years now Patryk Bandurski
  • 7. All contents © MuleSoft Inc. Speaker 7 • Senior Integration Consultant at BlueSoft • 6+ years in Integration as Developer, System Analyst & Solution Architect on multiple platforms • Mulesoft Certified Developer – Level 1 (Mule 4) • Mulesoft Certified Developer – Integration & API Associate • https://www.linkedin.com/in/krzysztof- hałasa-279b69a4 Krzysztof Hałasa
  • 8. All contents © MuleSoft Inc. Share 8 • Share the Meetup in your social media • Use Hashtags – #MuleSoftMeetup – #WarsawMuleSoftMeetup Thanks 
  • 9. All contents © MuleSoft Inc. 9 Would you like to present some cool topic at the next Meetup? To submit your idea, fill out this form: https://tinyurl.com/become-speaker Become a Speaker at the Meetup
  • 13. The best place to ask questions and help others. MuleSoft Forums
  • 14. All contents © MuleSoft Inc. 18,000+ members ready to help. 14 https://help.mulesoft.com/ • Check out the “MuleSoft Training” category for all training and certification- related questions Replaced with Help Center
  • 15. All contents © MuleSoft Inc. Warsaw MuleSoft Meetup Group 15 • https://tinyurl.com/warsaw-group • On MuleSoft Help center • Why? – Suggest topics – Discuss event’s topics – Discuss anything you like – Ask questions – See updates regarding our group! Register today 
  • 16. Mule #3 to #4 Migration Case Study
  • 17. All contents © MuleSoft Inc. Topics to discuss today 17 1. Basic differences – Coding ’habits’ – Error handling 2. Reference elements differences – Salesforce – VM Queue – Databases – Scripts
  • 18. All contents © MuleSoft Inc. Sample Services Concept - 1 18 HTTP • POST #1 Salesforce • Get data – simple SOQL • Get data – dynamic SOQL VM • Salesforce Data • Additional properties Database • Insert salesforce data with properties
  • 19. All contents © MuleSoft Inc. Sample Services Concept - 2 19 HTTP • POST #2 Script • Prepare Query in Javascript Database • Run prepared query (select) JSON Response • Present data
  • 20. All contents © MuleSoft Inc. Mule 3 Mule 4 Coding ’habits’ – properties, configurations etc. 20 • 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
  • 21. All contents © MuleSoft Inc. Mule 3 Mule 4 Salesforce 21 • Single Salesforce Block • SOQL - Query Builder • Multiple Salesforce Blocks • No SOQL - Query Builder – but we used Salesforce API and wrote a simple http request to access all column names: salesforceObject sDescriptionFlow
  • 22. All contents © MuleSoft Inc. Salesforce – code example 22 Mule 3 Mule 4 Sometimes do not trust Anypoint Platform error list 
  • 23. All contents © MuleSoft Inc. Mule 3 Mule 4 VM Queue 23 • Dynamically-set queue names • Not possible(?) to get data from queue on-demand – or your speaker does not know how to do it  • Message property • Need to define queue names ’up- front’ in VM properties • Easy getting data on-demand from queue • No message properties (?) – or your speaker does not know how to do it 
  • 24. All contents © MuleSoft Inc. Mule 3 Mule 4 VM Queue – code example 24
  • 25. All contents © MuleSoft Inc. • Multiple Database Blocks • One Database Config Block • DataWeave parameters in SQL Code as prefered option Mule 3 Mule 4 Databases 25 • One Database Block • Multiple Database Config Blocks • #[…] working in SQL Code
  • 26. All contents © MuleSoft Inc. Databases – code example 26 Mule 3 Mule 4
  • 27. All contents © MuleSoft Inc. Databases – known issues in Mule 4 27 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
  • 29. All contents © MuleSoft Inc. Mule 3 Mule 4 Scripts 29 • Multiple blocks for scripting – One block also available – so a bit ’messy’ • message.setInvocationProperty(..) 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.
  • 30. All contents © MuleSoft Inc. Mule 3 Mule 4 Scripts – code example 30
  • 31. All contents © MuleSoft Inc. Mule 3 Mule 4 Error handling 31 • * Exception Strategy – Catch – Choice – Custom – Reference – Rollback – Mapping • Try-Catch block • On Error Continue / On Error Propagate
  • 32. All contents © MuleSoft Inc. Mule 3 Mule 4 Error handling – code example 32
  • 33. All contents © MuleSoft Inc. Summary 33 • 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.
  • 35. All contents © MuleSoft Inc. Materials 35 • 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
  • 36. All contents © MuleSoft Inc. Kahoot! 36 • Interactive quizes/surveys • From the web browser • Visit the page kahoot.it and provide • PIN number • Your nick
  • 37. All contents © MuleSoft Inc. Let’s get familiar with the Kahoot by a quick 4 questions warm up Kahoot warmup!
  • 38. All contents © MuleSoft Inc. For 3 winners a special prize is ready, so take part in the trivia quiz Trivia
  • 39. All contents © MuleSoft Inc. What’s next 39 • Feedback: – Contact your organizer Patryk Bandurski via e-mail or LinkedIn profile to suggest topics – Contact MuleSoft at meetup@mulesoft.com for ways to improve the program • Our next meetup: – Date: Q1 2020 – Topic: not known yet
  • 40. All contents © MuleSoft Inc. What’s next 40 Invite your network to join – https://meetups.mulesoft.com/warsaw/
  • 41. Group photo Time to do the photo!
  • 42. See you next time

Hinweis der Redaktion

  1. And as always, MuleSoft Forums are a great place to ask questions, give and get help.
  2. More than 18,000 members are ready to help, from all around the world. Before posting your question, make sure to check if it has been asked before. If you’re able to help another developer in need, don’t hesitate! The forum is really about getting help and giving back, and it’s a great way to to build your presence / reputation within the MuleSoft community. There’s a section dedicated to Training in the forum, make sure to check it out if you have additional questions coming up afterwards.
  3. Basic differences – specyficzne zmiany, które dotyczą niemal każdego projektu Reference elements differences – wybrane konektory/elementy, na których pokażę różnice w kodzie.
  4. https://play.kahoot.it/v2/lobby?quizId=211c4cc7-2ecb-4c5c-8eb6-b1066f176c42
  5. https://create.kahoot.it/details/warsaw-mulesoft-meetup-5-trivia/1bd4c442-0701-4b65-b603-5fb51baa8cb1