SlideShare ist ein Scribd-Unternehmen logo
1 von 46
Downloaden Sie, um offline zu lesen
June 03, 2021
Toronto MuleSoft Meetup - #11
Reviewing Complex DataWeave Transformation
Use-Case
3
● Introductions
● Q&A Tab
● How does the quiz work?
● If you are one of the quiz winners
● Reviewing Complex DataWeave Transformation Use-Case – Alexandra Martinez
● What’s next?
Agenda
#MuleSoftMeetups
4
Organizers
#MuleSoftMeetups
Alexandra Martinez
Senior MuleSoft Developer
at Bits In Glass
MuleSoft Ambassadress
ProstDev Founder and
Content Creator
3+ years using MuleSoft
5x MuleSoft certified
alexandramartinez.world
Mahesh Pujari
MuleSoft Developer
at Mackenzie Investments
Around 7 years of
integration expertise
3+ Years using Mulesoft
3x Mulesoft Certified
Pravallika Nagaraja
Senior MuleSoft Developer
at Roche / MuleSoft Mentor
Overall 10 years of
experience developing
integration solutions using
MuleSoft and other
integration technologies
3+ years using MuleSoft
4x MuleSoft certified
Content Creator at
ProstDev
Kishore Reddy Paluri
Solutions Architect
at MuleSoft
15 years of experience
building Integration, ESB,
SOA, API, Security and
Middleware solutions on
Cloud, On-Prem, and
Hybrid environments
Important Announcements
6
● Anypoint Platform With Datagraph
○ Webinar : https://www.mulesoft.com/platform/anypoint-design-center/datagraph
○ https://tinyurl.com/4wmr8vnv
● New Connectors
○ RPA, data lakes and event streaming : https://blogs.mulesoft.com/dev-guides/api-connectors-
templates/11-new-anypoint-connectors-rpa/
○ Microsoft Azure, Plaid and Dropbox : https://blogs.mulesoft.com/dev-guides/api-connectors-templates/11-
new-connectors-for-anypoint-platform/
○ New anypoint connectors for IT and business collaboration : https://tinyurl.com/vvv9hfp3
Latest Releases/News
#MuleSoftMeetups
7
● Anypoint Studio 7.9.0
○ Dark theme
○ Supports Java 11
○ Improvements for Dataweave code experience
Latest Releases/News
#MuleSoftMeetups
8
NEW! Introducing the MuleSoft Mentors
Who are MuleSoft Mentors?
● Active contributors across platforms
● Hold 1+ Mule certs
● Dedicated mentors to their peers
Why should you become a Mentor?
● Build professional/personal brand
● Earn recognition as a Mule expert by
MuleSoft and broader ecosystem
● Help our Community learn and become
experts themselves
Apply now - June. 18, 2021
mulesoft.com/mentors
A new community program
Q&A Tab
● Questions can be lost in the Chat.
● Under the Chat window, there are 3 tabs: General, Q&A, and DMs.
● Click on the Q&A tab to ask your questions.
9
How does the quiz work?
1. Questions will be asked during the presentation.
2. If you already answered a question correctly, do not keep answering and give an
opportunity to the other attendees.
3. The first answer in the chat is the winner, unless it’s from someone that already answered
another question.
IMPORTANT
● You can only win one voucher per month, regardless of the meetup city.
● You can’t participate if you’re already a meetup leader (even from another city) or a MuleSoft
ambassador.
● If you already won a voucher in another event in the same month, you will not receive a
voucher.
If any of this applies to you, please don’t participate in the quiz and give other people the
opportunity to win.
10
#MuleSoftMeetups
If you are one of the quiz winners
1. Send your name and email to the organizers in the chat window.
2. MuleSoft will get in touch with you to request your voucher.
3. You can only select training vouchers. Certification vouchers are no longer offered.
However, some trainings will give you a free voucher for a certification attempt at the end.
4. Once processed, you can expect to receive your voucher within 10 business days.
5. If you experience any trouble redeeming a voucher, please raise a ticket at
training.mulesoft.com/question
11
#MuleSoftMeetups
Alexandra Martinez
Reviewing a Complex DataWeave
Transformation Use-case
13
● Modules (Values module)
● Functions (fun)
○ Parameters using types
○ Parameters with default values
○ Tail Recursive
● Variables (var)
● do statement to create scopes (local variables)
● Object manipulation using object destructor {( )}
● If/else
● Selectors:
○ Index (array[0])
○ Range (1 to 10)
● Setting default values
● Core functions/operators
○ isEmpty, reduce, map, with
○ Sum (+), Append (+), Concatenation (++), Equality with coercion (~=)
Solution will make use of the following:
Requirement
15
Input JSON structure to Output JSON structure
Requirement
16
● Logic:
1. For each object from the
FlightOptions array, create one
output object inside the output array.
Requirement
16
17
● Logic:
1. For each object from the
FlightOptions array, create one
output object inside the output array.
2. The AppliedTaxCode will contain the
value from the last Connection
object.
Requirement
17
18
● Logic:
1. For each object from the
FlightOptions array, create one
output object inside the output array.
2. The AppliedTaxCode will contain the
value from the last Connection
object.
3. If the EndOfConnection field is true,
create a separate output object.
Requirement
18
19
● Logic:
1. For each object from the
FlightOptions array, create one
output object inside the output array.
2. The AppliedTaxCode will contain the
value from the last Connection
object.
3. If the EndOfConnection field is true,
create a separate output object.
4. If there are EndOfConnection fields
that are true and this is not the last
object inside the Connections array,
create a new output object
containing all the false Connection
objects before this, and using this
last object’s TaxCode.
Requirement
19
20
● Logic:
1. For each object from the
FlightOptions array, create one
output object inside the output array.
2. The AppliedTaxCode will contain the
value from the last Connection
object.
3. If the EndOfConnection field is true,
create a separate output object.
4. If there are EndOfConnection fields
that are true and this is not the last
object inside the Connections array,
create a new output object
containing all the false Connection
objects before this, and using this
last object’s TaxCode.
5. Each AppliedConnections object in
the output must have:
1. A hardcoded Type value
“Connection”.
Requirement
20
Building the Solution
22
● DW Playground: https://dwlang.fun
● Input payload:
{"FlightOptions":[{"Connections":[{"ReferenceID":111,"TaxCode":"ABC","EndOfConnection":false},{"ReferenceID":222,"TaxCode":"DEF","EndOfConnection":true}]},{"
Connections":[{"ReferenceID":333,"TaxCode":"GHI","EndOfConnection":true},{"ReferenceID":444,"TaxCode":"JKL","EndOfConnection":true}]},{"Connections":[{"Ref
erenceID":555,"TaxCode":"MNO","EndOfConnection":false},{"ReferenceID":666,"TaxCode":"PQR","EndOfConnection":false},{"ReferenceID":777,"TaxCode":"STU","
EndOfConnection":false}]},{"Connections":[{"ReferenceID":888,"TaxCode":"VWX","EndOfConnection":false}]},{"Connections":[{"ReferenceID":999,"TaxCode":"MNO"
,"EndOfConnection":false},{"ReferenceID":101,"TaxCode":"PQR","EndOfConnection":true},{"ReferenceID":102,"TaxCode":"STU","EndOfConnection":false}]}]}
● Expected output:
[{"AppliedTaxCode":"DEF","AppliedConnections":[{"Type":"Connection","IndexValue":1},{"Type":"Connection","IndexValue":2}]},{"AppliedTaxCode":"GHI","AppliedCo
nnections":[{"Type":"Connection","IndexValue":3}]},{"AppliedTaxCode":"JKL","AppliedConnections":[{"Type":"Connection","IndexValue":4}]},{"AppliedTaxCode":"STU
","AppliedConnections":[{"Type":"Connection","IndexValue":5},{"Type":"Connection","IndexValue":6},{"Type":"Connection","IndexValue":7}]},{"AppliedTaxCode":"VW
X","AppliedConnections":[{"Type":"Connection","IndexValue":8}]},{"AppliedTaxCode":"PQR","AppliedConnections":[{"Type":"Connection","IndexValue":9},{"Type":"C
onnection","IndexValue":10}]},{"AppliedTaxCode":"STU","AppliedConnections":[{"Type":"Connection","IndexValue":11}]}]
● Format JSONs:
https://jsonformatter.curiousconcept.com/
Building the Solution
23
1) Extract the Connections arrays.
Building the Solution
24
2) Change all the EndOfConnection to true for the last Connection object from the Connections
array.
Building the Solution
1) How can you import the update
function from the dw::util::Values
module in the script?
(There are 3 different ways,
mention just one)
Question 1
How can you import the update function from the dw::util::Values module in the script?
(There are 3 different ways, mention just one)
● Import update from dw::util::Values
● Import * from dw::util::Values
● Import dw::util::Values  Values::update(…)
27
3) flatten the array of arrays to be just one array.
Building the Solution
2) What are the 2 ways for
flattening the previous array of
arrays?
Question 2
What are the 2 ways for flattening the previous array of arrays?
● Using flatten(…)
● Adding ++ to the reduce instead of +
○ Reduce(… accumulator ++ updatedConnections…)
30
4) Parameters:
1. connectionsArray - Current connections array (this will have less values each time, until array is
empty).
2. indexAccumulatorArray - Array with the indexes that are being accumulated for the ”IndexValue”
field.
3. index - Actual index number for each connection being evaluated.
4. connectionsAccumulatorArray - Array that will keep the transformed objects (final output) – This is
what makes our function a tail function.
Building the Solution – Tail Recursive function
31
Iteration 1:
Building the Solution – Tail Recursive function
connectionsArray (original array) indexAccumulatorArray
index
connectionsAccumulatorArray
thisConnection
EndOfConnection = false
Nothing is added to
connectionsAccumulatorArray
Next connection
indexAccumulatorArray should
contain this index
because
thisConnectionEndOfConnection
is false.
32
Iteration 2:
Building the Solution – Tail Recursive function
connectionsArray (original array) indexAccumulatorArray
index
connectionsAccumulatorArray
thisConnection
EndOfConnection = true
Object is added to
connectionsAccumulatorArray
Next connection
indexAccumulatorArray should go
back to [ ] because
thisConnectionEndOfConnection
is true.
33
Iteration 3:
Building the Solution – Tail Recursive function
connectionsArray (original array) indexAccumulatorArray
index
connectionsAccumulatorArray
thisConnection
EndOfConnection = true
Object is added to
connectionsAccumulatorArray
Next connection
indexAccumulatorArray should go
back to [ ] because
thisConnectionEndOfConnection
is true.
34
Iteration 4:
Building the Solution – Tail Recursive function
connectionsArray (original array) indexAccumulatorArray
index
connectionsAccumulatorArray
thisConnection
EndOfConnection = true
Object is added to
connectionsAccumulatorArray
Next connection
indexAccumulatorArray should go
back to [ ] because
thisConnectionEndOfConnection
is true.
35
Iteration 5:
Building the Solution – Tail Recursive function
connectionsArray (original array) indexAccumulatorArray
index
connectionsAccumulatorArray
thisConnection
EndOfConnection = false
Nothing is added to
connectionsAccumulatorArray
Next connection
indexAccumulatorArray should
contain this index
because
thisConnectionEndOfConnection
is false.
36
Iteration 6:
Building the Solution – Tail Recursive function
connectionsArray (original array) indexAccumulatorArray
index
connectionsAccumulatorArray
thisConnection
EndOfConnection = false
Nothing is added to
connectionsAccumulatorArray
Next connection
indexAccumulatorArray should
contain this index
because
thisConnectionEndOfConnection
is false.
37
Iteration 7:
Building the Solution – Tail Recursive function
connectionsArray (original array) indexAccumulatorArray
index
connectionsAccumulatorArray
thisConnection
EndOfConnection = true
Object is added to
connectionsAccumulatorArray
Next connection
indexAccumulatorArray should go
back to [ ] because
thisConnectionEndOfConnection
is true.
38
Iteration 8:
Building the Solution – Tail Recursive function
connectionsArray (original array) indexAccumulatorArray
index
connectionsAccumulatorArray
thisConnection
EndOfConnection = true
Object is added to
connectionsAccumulatorArray
Next connection
indexAccumulatorArray should go
back to [ ] because
thisConnectionEndOfConnection
is true.
To be continued… 
Try it yourself!
Code
● GitHub repository: https://github.com/alexandramartinez/reviewing-a-complex-dw-
transformation-use-case/
3) What is the error you get if you
don’t use a tail recursive function
and you exceed the number of
calls (255)
Question 3
What is the error you get if you don’t use a tail recursive function and you exceed the number of
calls (255)
● StackOverflow
References
● https://docs.mulesoft.com/mule-runtime/4.3/dataweave-functions
● https://docs.mulesoft.com/mule-runtime/4.3/dataweave-variables
● https://docs.mulesoft.com/mule-runtime/4.3/dataweave-flow-control
● https://docs.mulesoft.com/mule-runtime/4.3/dataweave-selectors
● https://docs.mulesoft.com/mule-runtime/4.3/dataweave-cookbook-defaults
● https://docs.mulesoft.com/mule-runtime/4.3/dw-operators
● https://docs.mulesoft.com/mule-runtime/4.3/dw-core-functions-isempty
● https://docs.mulesoft.com/mule-runtime/4.3/dw-core-functions-reduce
● https://docs.mulesoft.com/mule-runtime/4.3/dw-core-functions-map
● https://docs.mulesoft.com/mule-runtime/4.3/dw-core-functions-plusplus
● https://blogs.mulesoft.com/dev-guides/how-to-tutorials/untie-multilevel-
structures-dataweave-recursive-calls/
Questions?
Contact me!
Website:
www.alexandramartinez.world
LinkedIn:
www.linkedin.com/in/alexandra-n-martinez
Twitter:
@devalexmartinez
ProstDev.com
46
● Share:
○ Tweet using the hashtag #MuleSoftMeetups
○ Invite your network to join: https://meetups.mulesoft.com/toronto/
● Feedback:
○ Fill out the survey feedback and suggest topics for upcoming events
○ Contact MuleSoft at meetups@mulesoft.com for ways to improve the program
What’s next?
#MuleSoftMeetups
Thank you

Weitere ähnliche Inhalte

Was ist angesagt?

Addressing performance issues with API monitoring
Addressing performance issues with API monitoringAddressing performance issues with API monitoring
Addressing performance issues with API monitoringJimmy Attia
 
Bangalore mulesoft meetup#10
Bangalore mulesoft meetup#10Bangalore mulesoft meetup#10
Bangalore mulesoft meetup#10D.Rajesh Kumar
 
MuleSoft meetup__houston #13
MuleSoft meetup__houston #13MuleSoft meetup__houston #13
MuleSoft meetup__houston #13Jim Andrews
 
DelhiMeetup_AnypointMonitoring_v1.pptx
DelhiMeetup_AnypointMonitoring_v1.pptxDelhiMeetup_AnypointMonitoring_v1.pptx
DelhiMeetup_AnypointMonitoring_v1.pptxAnuragSharma900
 
Api functional monitoring -9th October 2021
Api functional monitoring -9th October 2021Api functional monitoring -9th October 2021
Api functional monitoring -9th October 2021AnuragSharma900
 
MuleSoft Meetup Bangalore - March 6 2021
MuleSoft Meetup Bangalore - March 6 2021MuleSoft Meetup Bangalore - March 6 2021
MuleSoft Meetup Bangalore - March 6 2021Nagaraju K R
 
Melbourne Virtual MuleSoft Meetup October 2021
Melbourne Virtual MuleSoft Meetup October 2021Melbourne Virtual MuleSoft Meetup October 2021
Melbourne Virtual MuleSoft Meetup October 2021Daniel Soffner
 
User Forms & API integration
User Forms & API integrationUser Forms & API integration
User Forms & API integrationKnoldus Inc.
 
Meetup slide api_design_custom_poicies_in_mule4
Meetup slide api_design_custom_poicies_in_mule4Meetup slide api_design_custom_poicies_in_mule4
Meetup slide api_design_custom_poicies_in_mule4AnuragSharma900
 
Ahmadabad mule soft_meetup_17april2021_mule4_cryptography
Ahmadabad mule soft_meetup_17april2021_mule4_cryptographyAhmadabad mule soft_meetup_17april2021_mule4_cryptography
Ahmadabad mule soft_meetup_17april2021_mule4_cryptographyShekh Muenuddeen
 
Metadata definition between flows on Studio 7 : MuleSoft Virtual Muleys Meetups
Metadata definition between flows on Studio 7  : MuleSoft Virtual Muleys MeetupsMetadata definition between flows on Studio 7  : MuleSoft Virtual Muleys Meetups
Metadata definition between flows on Studio 7 : MuleSoft Virtual Muleys MeetupsAngel Alberici
 
A Separation of Concerns: Clean Architecture on Android
A Separation of Concerns: Clean Architecture on AndroidA Separation of Concerns: Clean Architecture on Android
A Separation of Concerns: Clean Architecture on AndroidOutware Mobile
 
MuleSoft Milano Meetup #7 Florence Consulting
MuleSoft Milano Meetup #7  Florence Consulting MuleSoft Milano Meetup #7  Florence Consulting
MuleSoft Milano Meetup #7 Florence Consulting Florence Consulting
 
Clean Architecture in Android. UPTech TechTalk
Clean Architecture in Android. UPTech TechTalkClean Architecture in Android. UPTech TechTalk
Clean Architecture in Android. UPTech TechTalkHalyna Halkina
 
MuleSoft Meetup Bangalore - 26 May 2018
MuleSoft Meetup Bangalore - 26 May 2018MuleSoft Meetup Bangalore - 26 May 2018
MuleSoft Meetup Bangalore - 26 May 2018Srilatha Kante
 
Nagpur MuleSoft Meetup Group - Working with API Groups in Mulesoft
Nagpur MuleSoft Meetup Group - Working with API Groups in Mulesoft Nagpur MuleSoft Meetup Group - Working with API Groups in Mulesoft
Nagpur MuleSoft Meetup Group - Working with API Groups in Mulesoft NaimishKakkad2
 
Delhi MuleSoft Meetup - 19 march2022
Delhi MuleSoft Meetup - 19 march2022Delhi MuleSoft Meetup - 19 march2022
Delhi MuleSoft Meetup - 19 march2022AnuragSharma900
 

Was ist angesagt? (20)

Addressing performance issues with API monitoring
Addressing performance issues with API monitoringAddressing performance issues with API monitoring
Addressing performance issues with API monitoring
 
Bangalore mulesoft meetup#10
Bangalore mulesoft meetup#10Bangalore mulesoft meetup#10
Bangalore mulesoft meetup#10
 
MuleSoft meetup__houston #13
MuleSoft meetup__houston #13MuleSoft meetup__houston #13
MuleSoft meetup__houston #13
 
DelhiMeetup_AnypointMonitoring_v1.pptx
DelhiMeetup_AnypointMonitoring_v1.pptxDelhiMeetup_AnypointMonitoring_v1.pptx
DelhiMeetup_AnypointMonitoring_v1.pptx
 
Api functional monitoring -9th October 2021
Api functional monitoring -9th October 2021Api functional monitoring -9th October 2021
Api functional monitoring -9th October 2021
 
Toronto mule meetup #5
Toronto mule meetup #5Toronto mule meetup #5
Toronto mule 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
 
Melbourne Virtual MuleSoft Meetup October 2021
Melbourne Virtual MuleSoft Meetup October 2021Melbourne Virtual MuleSoft Meetup October 2021
Melbourne Virtual MuleSoft Meetup October 2021
 
User Forms & API integration
User Forms & API integrationUser Forms & API integration
User Forms & API integration
 
Meetup slide api_design_custom_poicies_in_mule4
Meetup slide api_design_custom_poicies_in_mule4Meetup slide api_design_custom_poicies_in_mule4
Meetup slide api_design_custom_poicies_in_mule4
 
Managing APIs with MuleSoft
Managing APIs with MuleSoftManaging APIs with MuleSoft
Managing APIs with MuleSoft
 
Ahmadabad mule soft_meetup_17april2021_mule4_cryptography
Ahmadabad mule soft_meetup_17april2021_mule4_cryptographyAhmadabad mule soft_meetup_17april2021_mule4_cryptography
Ahmadabad mule soft_meetup_17april2021_mule4_cryptography
 
Metadata definition between flows on Studio 7 : MuleSoft Virtual Muleys Meetups
Metadata definition between flows on Studio 7  : MuleSoft Virtual Muleys MeetupsMetadata definition between flows on Studio 7  : MuleSoft Virtual Muleys Meetups
Metadata definition between flows on Studio 7 : MuleSoft Virtual Muleys Meetups
 
A Separation of Concerns: Clean Architecture on Android
A Separation of Concerns: Clean Architecture on AndroidA Separation of Concerns: Clean Architecture on Android
A Separation of Concerns: Clean Architecture on Android
 
MuleSoft Milano Meetup #7 Florence Consulting
MuleSoft Milano Meetup #7  Florence Consulting MuleSoft Milano Meetup #7  Florence Consulting
MuleSoft Milano Meetup #7 Florence Consulting
 
Clean Architecture in Android. UPTech TechTalk
Clean Architecture in Android. UPTech TechTalkClean Architecture in Android. UPTech TechTalk
Clean Architecture in Android. UPTech TechTalk
 
Power of LWC + Mulesoft
Power of LWC + MulesoftPower of LWC + Mulesoft
Power of LWC + Mulesoft
 
MuleSoft Meetup Bangalore - 26 May 2018
MuleSoft Meetup Bangalore - 26 May 2018MuleSoft Meetup Bangalore - 26 May 2018
MuleSoft Meetup Bangalore - 26 May 2018
 
Nagpur MuleSoft Meetup Group - Working with API Groups in Mulesoft
Nagpur MuleSoft Meetup Group - Working with API Groups in Mulesoft Nagpur MuleSoft Meetup Group - Working with API Groups in Mulesoft
Nagpur MuleSoft Meetup Group - Working with API Groups in Mulesoft
 
Delhi MuleSoft Meetup - 19 march2022
Delhi MuleSoft Meetup - 19 march2022Delhi MuleSoft Meetup - 19 march2022
Delhi MuleSoft Meetup - 19 march2022
 

Ähnlich wie Toronto Virtual Meetup #11 - Reviewing Complex DataWeave Transformation Use-case

Indianapolis mule soft_meetup_14_apr_2021-Review a complex Dataweave Transfor...
Indianapolis mule soft_meetup_14_apr_2021-Review a complex Dataweave Transfor...Indianapolis mule soft_meetup_14_apr_2021-Review a complex Dataweave Transfor...
Indianapolis mule soft_meetup_14_apr_2021-Review a complex Dataweave Transfor...ikram_ahamed
 
How to use Salesforce composite request connector in Mule
How to use Salesforce composite request connector in MuleHow to use Salesforce composite request connector in Mule
How to use Salesforce composite request connector in MuleAlexandra N. Martinez
 
Unit 5 Programming Portfolio 1
Unit 5 Programming Portfolio 1Unit 5 Programming Portfolio 1
Unit 5 Programming Portfolio 1Jamie Boyd
 
Introduction To Computers And Problem Solving
Introduction To Computers And Problem SolvingIntroduction To Computers And Problem Solving
Introduction To Computers And Problem SolvingKaren Gilchrist
 
Cis 115 Education Redefined-snaptutorial.com
Cis 115 Education Redefined-snaptutorial.comCis 115 Education Redefined-snaptutorial.com
Cis 115 Education Redefined-snaptutorial.comrobertledwes38
 
Cis 324 Midterm And Answers Essay
Cis 324 Midterm And Answers EssayCis 324 Midterm And Answers Essay
Cis 324 Midterm And Answers EssayAlissa Cruz
 
COIT20245, 2016 Term One - Page 1 of 9 Assessment detail.docx
COIT20245, 2016 Term One - Page 1 of 9 Assessment detail.docxCOIT20245, 2016 Term One - Page 1 of 9 Assessment detail.docx
COIT20245, 2016 Term One - Page 1 of 9 Assessment detail.docxclarebernice
 
Room 2 - 5 - Seong Soo - NHN Cloud - Upstream contribution mentoring program ...
Room 2 - 5 - Seong Soo - NHN Cloud - Upstream contribution mentoring program ...Room 2 - 5 - Seong Soo - NHN Cloud - Upstream contribution mentoring program ...
Room 2 - 5 - Seong Soo - NHN Cloud - Upstream contribution mentoring program ...Vietnam Open Infrastructure User Group
 
MS.Net Interview Questions - Simplified
MS.Net Interview Questions - SimplifiedMS.Net Interview Questions - Simplified
MS.Net Interview Questions - SimplifiedMohd Manzoor Ahmed
 
Devry CIS 355A All Quiz Latest
Devry CIS 355A All Quiz LatestDevry CIS 355A All Quiz Latest
Devry CIS 355A All Quiz LatestAtifkhilji
 
Vancouver Canada MuleSoft Meetup Nov 2020
Vancouver Canada MuleSoft Meetup Nov 2020Vancouver Canada MuleSoft Meetup Nov 2020
Vancouver Canada MuleSoft Meetup Nov 2020Yashwant Palkar
 
CDIM 1315 Homework #7 Creating web applications using input, proces.docx
CDIM 1315 Homework #7 Creating web applications using input, proces.docxCDIM 1315 Homework #7 Creating web applications using input, proces.docx
CDIM 1315 Homework #7 Creating web applications using input, proces.docxtidwellveronique
 
Mis 589 Success Begins / snaptutorial.com
Mis 589  Success Begins / snaptutorial.comMis 589  Success Begins / snaptutorial.com
Mis 589 Success Begins / snaptutorial.comWilliamsTaylor44
 
Mis 589 Massive Success / snaptutorial.com
Mis 589 Massive Success / snaptutorial.comMis 589 Massive Success / snaptutorial.com
Mis 589 Massive Success / snaptutorial.comStephenson185
 
Engineering Student MuleSoft Meetup#6 - Basic Understanding of DataWeave With...
Engineering Student MuleSoft Meetup#6 - Basic Understanding of DataWeave With...Engineering Student MuleSoft Meetup#6 - Basic Understanding of DataWeave With...
Engineering Student MuleSoft Meetup#6 - Basic Understanding of DataWeave With...Jitendra Bafna
 
M150 A Fall2010 T01
M150 A Fall2010 T01M150 A Fall2010 T01
M150 A Fall2010 T01abdalodainat
 
Optimization Problems Solved by Different Platforms Say Optimum Tool Box (Mat...
Optimization Problems Solved by Different Platforms Say Optimum Tool Box (Mat...Optimization Problems Solved by Different Platforms Say Optimum Tool Box (Mat...
Optimization Problems Solved by Different Platforms Say Optimum Tool Box (Mat...IRJET Journal
 
Baltimore MuleSoft Meetup #8
Baltimore MuleSoft Meetup #8Baltimore MuleSoft Meetup #8
Baltimore MuleSoft Meetup #8ManjuKumara GH
 
AUTOCODECOVERGEN: PROTOTYPE OF DATA DRIVEN UNIT TEST GENRATION TOOL THAT GUAR...
AUTOCODECOVERGEN: PROTOTYPE OF DATA DRIVEN UNIT TEST GENRATION TOOL THAT GUAR...AUTOCODECOVERGEN: PROTOTYPE OF DATA DRIVEN UNIT TEST GENRATION TOOL THAT GUAR...
AUTOCODECOVERGEN: PROTOTYPE OF DATA DRIVEN UNIT TEST GENRATION TOOL THAT GUAR...acijjournal
 

Ähnlich wie Toronto Virtual Meetup #11 - Reviewing Complex DataWeave Transformation Use-case (20)

Indianapolis mule soft_meetup_14_apr_2021-Review a complex Dataweave Transfor...
Indianapolis mule soft_meetup_14_apr_2021-Review a complex Dataweave Transfor...Indianapolis mule soft_meetup_14_apr_2021-Review a complex Dataweave Transfor...
Indianapolis mule soft_meetup_14_apr_2021-Review a complex Dataweave Transfor...
 
How to use Salesforce composite request connector in Mule
How to use Salesforce composite request connector in MuleHow to use Salesforce composite request connector in Mule
How to use Salesforce composite request connector in Mule
 
Unit 5 Programming Portfolio 1
Unit 5 Programming Portfolio 1Unit 5 Programming Portfolio 1
Unit 5 Programming Portfolio 1
 
Introduction To Computers And Problem Solving
Introduction To Computers And Problem SolvingIntroduction To Computers And Problem Solving
Introduction To Computers And Problem Solving
 
Cis 115 Education Redefined-snaptutorial.com
Cis 115 Education Redefined-snaptutorial.comCis 115 Education Redefined-snaptutorial.com
Cis 115 Education Redefined-snaptutorial.com
 
Cis 324 Midterm And Answers Essay
Cis 324 Midterm And Answers EssayCis 324 Midterm And Answers Essay
Cis 324 Midterm And Answers Essay
 
COIT20245, 2016 Term One - Page 1 of 9 Assessment detail.docx
COIT20245, 2016 Term One - Page 1 of 9 Assessment detail.docxCOIT20245, 2016 Term One - Page 1 of 9 Assessment detail.docx
COIT20245, 2016 Term One - Page 1 of 9 Assessment detail.docx
 
Room 2 - 5 - Seong Soo - NHN Cloud - Upstream contribution mentoring program ...
Room 2 - 5 - Seong Soo - NHN Cloud - Upstream contribution mentoring program ...Room 2 - 5 - Seong Soo - NHN Cloud - Upstream contribution mentoring program ...
Room 2 - 5 - Seong Soo - NHN Cloud - Upstream contribution mentoring program ...
 
MS.Net Interview Questions - Simplified
MS.Net Interview Questions - SimplifiedMS.Net Interview Questions - Simplified
MS.Net Interview Questions - Simplified
 
Devry CIS 355A All Quiz Latest
Devry CIS 355A All Quiz LatestDevry CIS 355A All Quiz Latest
Devry CIS 355A All Quiz Latest
 
Vancouver Canada MuleSoft Meetup Nov 2020
Vancouver Canada MuleSoft Meetup Nov 2020Vancouver Canada MuleSoft Meetup Nov 2020
Vancouver Canada MuleSoft Meetup Nov 2020
 
CDIM 1315 Homework #7 Creating web applications using input, proces.docx
CDIM 1315 Homework #7 Creating web applications using input, proces.docxCDIM 1315 Homework #7 Creating web applications using input, proces.docx
CDIM 1315 Homework #7 Creating web applications using input, proces.docx
 
Mis 589 Success Begins / snaptutorial.com
Mis 589  Success Begins / snaptutorial.comMis 589  Success Begins / snaptutorial.com
Mis 589 Success Begins / snaptutorial.com
 
Mis 589 Massive Success / snaptutorial.com
Mis 589 Massive Success / snaptutorial.comMis 589 Massive Success / snaptutorial.com
Mis 589 Massive Success / snaptutorial.com
 
Engineering Student MuleSoft Meetup#6 - Basic Understanding of DataWeave With...
Engineering Student MuleSoft Meetup#6 - Basic Understanding of DataWeave With...Engineering Student MuleSoft Meetup#6 - Basic Understanding of DataWeave With...
Engineering Student MuleSoft Meetup#6 - Basic Understanding of DataWeave With...
 
M150 A Fall2010 T01
M150 A Fall2010 T01M150 A Fall2010 T01
M150 A Fall2010 T01
 
Optimization Problems Solved by Different Platforms Say Optimum Tool Box (Mat...
Optimization Problems Solved by Different Platforms Say Optimum Tool Box (Mat...Optimization Problems Solved by Different Platforms Say Optimum Tool Box (Mat...
Optimization Problems Solved by Different Platforms Say Optimum Tool Box (Mat...
 
Vb6.0 intro
Vb6.0 introVb6.0 intro
Vb6.0 intro
 
Baltimore MuleSoft Meetup #8
Baltimore MuleSoft Meetup #8Baltimore MuleSoft Meetup #8
Baltimore MuleSoft Meetup #8
 
AUTOCODECOVERGEN: PROTOTYPE OF DATA DRIVEN UNIT TEST GENRATION TOOL THAT GUAR...
AUTOCODECOVERGEN: PROTOTYPE OF DATA DRIVEN UNIT TEST GENRATION TOOL THAT GUAR...AUTOCODECOVERGEN: PROTOTYPE OF DATA DRIVEN UNIT TEST GENRATION TOOL THAT GUAR...
AUTOCODECOVERGEN: PROTOTYPE OF DATA DRIVEN UNIT TEST GENRATION TOOL THAT GUAR...
 

Mehr von Alexandra N. Martinez

Mejora tu productividad creando aplicaciones de Slack
Mejora tu productividad creando aplicaciones de SlackMejora tu productividad creando aplicaciones de Slack
Mejora tu productividad creando aplicaciones de SlackAlexandra N. Martinez
 
Women Who Mule - Workshop series #2: Ghost
Women Who Mule - Workshop series #2: GhostWomen Who Mule - Workshop series #2: Ghost
Women Who Mule - Workshop series #2: GhostAlexandra N. Martinez
 
Women Who Mule - Workshop series: Create your own blog from scratch without a...
Women Who Mule - Workshop series: Create your own blog from scratch without a...Women Who Mule - Workshop series: Create your own blog from scratch without a...
Women Who Mule - Workshop series: Create your own blog from scratch without a...Alexandra N. Martinez
 
Cómo generar e implementar monitoreo para aplicaciones de Mule
Cómo generar e implementar monitoreo para aplicaciones de MuleCómo generar e implementar monitoreo para aplicaciones de Mule
Cómo generar e implementar monitoreo para aplicaciones de MuleAlexandra N. Martinez
 
reCONNECT 2021 May Meetup - Women Who Mule #4
reCONNECT 2021 May Meetup - Women Who Mule #4reCONNECT 2021 May Meetup - Women Who Mule #4
reCONNECT 2021 May Meetup - Women Who Mule #4Alexandra N. Martinez
 
Women Who Mule - April Meetup (Diane Kesler's Journey)
Women Who Mule - April Meetup (Diane Kesler's Journey)Women Who Mule - April Meetup (Diane Kesler's Journey)
Women Who Mule - April Meetup (Diane Kesler's Journey)Alexandra N. Martinez
 
Toronto Virtual Meetup #9 - KPIs and metrics accelerator
Toronto Virtual Meetup #9 - KPIs and metrics acceleratorToronto Virtual Meetup #9 - KPIs and metrics accelerator
Toronto Virtual Meetup #9 - KPIs and metrics acceleratorAlexandra N. Martinez
 
Reviewing a complex dataweave transformation use case v3
Reviewing a complex dataweave transformation use case v3Reviewing a complex dataweave transformation use case v3
Reviewing a complex dataweave transformation use case v3Alexandra N. Martinez
 
What is munit and how to create your first unit test
What is munit and how to create your first unit testWhat is munit and how to create your first unit test
What is munit and how to create your first unit testAlexandra N. Martinez
 
Toronto Virtual Meetup #8 - Tips for Reusability
Toronto Virtual Meetup #8 - Tips for ReusabilityToronto Virtual Meetup #8 - Tips for Reusability
Toronto Virtual Meetup #8 - Tips for ReusabilityAlexandra N. Martinez
 
Meetup en español #6 - MuleSoft para profesionales de Java (segunda edición)
Meetup en español #6 - MuleSoft para profesionales de Java (segunda edición)Meetup en español #6 - MuleSoft para profesionales de Java (segunda edición)
Meetup en español #6 - MuleSoft para profesionales de Java (segunda edición)Alexandra N. Martinez
 
Meetup en español #5 - Continuous Integration and Continuous Delivery (CI/CD)...
Meetup en español #5 - Continuous Integration and Continuous Delivery (CI/CD)...Meetup en español #5 - Continuous Integration and Continuous Delivery (CI/CD)...
Meetup en español #5 - Continuous Integration and Continuous Delivery (CI/CD)...Alexandra N. Martinez
 
Toronto Virtual Meetup #7 - Anypoint VPC, VPN and DLB Architecture
Toronto Virtual Meetup #7 - Anypoint VPC, VPN and DLB ArchitectureToronto Virtual Meetup #7 - Anypoint VPC, VPN and DLB Architecture
Toronto Virtual Meetup #7 - Anypoint VPC, VPN and DLB ArchitectureAlexandra N. Martinez
 
Reviewing a Complex DataWeave Transformation Use-case v2
Reviewing a Complex DataWeave Transformation Use-case v2Reviewing a Complex DataWeave Transformation Use-case v2
Reviewing a Complex DataWeave Transformation Use-case v2Alexandra N. Martinez
 
Meetup en español #4 - MuleSoft para profesionales de Java
 Meetup en español #4 - MuleSoft para profesionales de Java Meetup en español #4 - MuleSoft para profesionales de Java
Meetup en español #4 - MuleSoft para profesionales de JavaAlexandra N. Martinez
 
Toronto Virtual Meetup #5 - API Security and Threats
Toronto Virtual Meetup #5 - API Security and ThreatsToronto Virtual Meetup #5 - API Security and Threats
Toronto Virtual Meetup #5 - API Security and ThreatsAlexandra N. Martinez
 
Toronto MuleSoft Meetup: Virtual Meetup #3
Toronto MuleSoft Meetup: Virtual Meetup #3Toronto MuleSoft Meetup: Virtual Meetup #3
Toronto MuleSoft Meetup: Virtual Meetup #3Alexandra N. Martinez
 

Mehr von Alexandra N. Martinez (20)

Mejora tu productividad creando aplicaciones de Slack
Mejora tu productividad creando aplicaciones de SlackMejora tu productividad creando aplicaciones de Slack
Mejora tu productividad creando aplicaciones de Slack
 
Women Who Mule - Workshop series #2: Ghost
Women Who Mule - Workshop series #2: GhostWomen Who Mule - Workshop series #2: Ghost
Women Who Mule - Workshop series #2: Ghost
 
Women Who Mule - Workshop series: Create your own blog from scratch without a...
Women Who Mule - Workshop series: Create your own blog from scratch without a...Women Who Mule - Workshop series: Create your own blog from scratch without a...
Women Who Mule - Workshop series: Create your own blog from scratch without a...
 
Women Who Mule - June Meetup (EMEA)
Women Who Mule - June Meetup (EMEA)Women Who Mule - June Meetup (EMEA)
Women Who Mule - June Meetup (EMEA)
 
Cómo generar e implementar monitoreo para aplicaciones de Mule
Cómo generar e implementar monitoreo para aplicaciones de MuleCómo generar e implementar monitoreo para aplicaciones de Mule
Cómo generar e implementar monitoreo para aplicaciones de Mule
 
reCONNECT 2021 May Meetup - Women Who Mule #4
reCONNECT 2021 May Meetup - Women Who Mule #4reCONNECT 2021 May Meetup - Women Who Mule #4
reCONNECT 2021 May Meetup - Women Who Mule #4
 
Women Who Mule - April Meetup (Diane Kesler's Journey)
Women Who Mule - April Meetup (Diane Kesler's Journey)Women Who Mule - April Meetup (Diane Kesler's Journey)
Women Who Mule - April Meetup (Diane Kesler's Journey)
 
Toronto Virtual Meetup #9 - KPIs and metrics accelerator
Toronto Virtual Meetup #9 - KPIs and metrics acceleratorToronto Virtual Meetup #9 - KPIs and metrics accelerator
Toronto Virtual Meetup #9 - KPIs and metrics accelerator
 
Reviewing a complex dataweave transformation use case v3
Reviewing a complex dataweave transformation use case v3Reviewing a complex dataweave transformation use case v3
Reviewing a complex dataweave transformation use case v3
 
Introduction to MuleSoft
Introduction to MuleSoftIntroduction to MuleSoft
Introduction to MuleSoft
 
What is munit and how to create your first unit test
What is munit and how to create your first unit testWhat is munit and how to create your first unit test
What is munit and how to create your first unit test
 
Truly Human part 1
Truly Human part 1Truly Human part 1
Truly Human part 1
 
Toronto Virtual Meetup #8 - Tips for Reusability
Toronto Virtual Meetup #8 - Tips for ReusabilityToronto Virtual Meetup #8 - Tips for Reusability
Toronto Virtual Meetup #8 - Tips for Reusability
 
Meetup en español #6 - MuleSoft para profesionales de Java (segunda edición)
Meetup en español #6 - MuleSoft para profesionales de Java (segunda edición)Meetup en español #6 - MuleSoft para profesionales de Java (segunda edición)
Meetup en español #6 - MuleSoft para profesionales de Java (segunda edición)
 
Meetup en español #5 - Continuous Integration and Continuous Delivery (CI/CD)...
Meetup en español #5 - Continuous Integration and Continuous Delivery (CI/CD)...Meetup en español #5 - Continuous Integration and Continuous Delivery (CI/CD)...
Meetup en español #5 - Continuous Integration and Continuous Delivery (CI/CD)...
 
Toronto Virtual Meetup #7 - Anypoint VPC, VPN and DLB Architecture
Toronto Virtual Meetup #7 - Anypoint VPC, VPN and DLB ArchitectureToronto Virtual Meetup #7 - Anypoint VPC, VPN and DLB Architecture
Toronto Virtual Meetup #7 - Anypoint VPC, VPN and DLB Architecture
 
Reviewing a Complex DataWeave Transformation Use-case v2
Reviewing a Complex DataWeave Transformation Use-case v2Reviewing a Complex DataWeave Transformation Use-case v2
Reviewing a Complex DataWeave Transformation Use-case v2
 
Meetup en español #4 - MuleSoft para profesionales de Java
 Meetup en español #4 - MuleSoft para profesionales de Java Meetup en español #4 - MuleSoft para profesionales de Java
Meetup en español #4 - MuleSoft para profesionales de Java
 
Toronto Virtual Meetup #5 - API Security and Threats
Toronto Virtual Meetup #5 - API Security and ThreatsToronto Virtual Meetup #5 - API Security and Threats
Toronto Virtual Meetup #5 - API Security and Threats
 
Toronto MuleSoft Meetup: Virtual Meetup #3
Toronto MuleSoft Meetup: Virtual Meetup #3Toronto MuleSoft Meetup: Virtual Meetup #3
Toronto MuleSoft Meetup: Virtual Meetup #3
 

Kürzlich hochgeladen

How to Manage Cross-Selling in Odoo 17 Sales
How to Manage Cross-Selling in Odoo 17 SalesHow to Manage Cross-Selling in Odoo 17 Sales
How to Manage Cross-Selling in Odoo 17 SalesCeline George
 
Quality Assurance_GOOD LABORATORY PRACTICE
Quality Assurance_GOOD LABORATORY PRACTICEQuality Assurance_GOOD LABORATORY PRACTICE
Quality Assurance_GOOD LABORATORY PRACTICESayali Powar
 
How to Add a New Field in Existing Kanban View in Odoo 17
How to Add a New Field in Existing Kanban View in Odoo 17How to Add a New Field in Existing Kanban View in Odoo 17
How to Add a New Field in Existing Kanban View in Odoo 17Celine George
 
CapTechU Doctoral Presentation -March 2024 slides.pptx
CapTechU Doctoral Presentation -March 2024 slides.pptxCapTechU Doctoral Presentation -March 2024 slides.pptx
CapTechU Doctoral Presentation -March 2024 slides.pptxCapitolTechU
 
2024.03.23 What do successful readers do - Sandy Millin for PARK.pptx
2024.03.23 What do successful readers do - Sandy Millin for PARK.pptx2024.03.23 What do successful readers do - Sandy Millin for PARK.pptx
2024.03.23 What do successful readers do - Sandy Millin for PARK.pptxSandy Millin
 
How to Add Existing Field in One2Many Tree View in Odoo 17
How to Add Existing Field in One2Many Tree View in Odoo 17How to Add Existing Field in One2Many Tree View in Odoo 17
How to Add Existing Field in One2Many Tree View in Odoo 17Celine George
 
P4C x ELT = P4ELT: Its Theoretical Background (Kanazawa, 2024 March).pdf
P4C x ELT = P4ELT: Its Theoretical Background (Kanazawa, 2024 March).pdfP4C x ELT = P4ELT: Its Theoretical Background (Kanazawa, 2024 March).pdf
P4C x ELT = P4ELT: Its Theoretical Background (Kanazawa, 2024 March).pdfYu Kanazawa / Osaka University
 
Patterns of Written Texts Across Disciplines.pptx
Patterns of Written Texts Across Disciplines.pptxPatterns of Written Texts Across Disciplines.pptx
Patterns of Written Texts Across Disciplines.pptxMYDA ANGELICA SUAN
 
Education and training program in the hospital APR.pptx
Education and training program in the hospital APR.pptxEducation and training program in the hospital APR.pptx
Education and training program in the hospital APR.pptxraviapr7
 
Diploma in Nursing Admission Test Question Solution 2023.pdf
Diploma in Nursing Admission Test Question Solution 2023.pdfDiploma in Nursing Admission Test Question Solution 2023.pdf
Diploma in Nursing Admission Test Question Solution 2023.pdfMohonDas
 
How to Add a many2many Relational Field in Odoo 17
How to Add a many2many Relational Field in Odoo 17How to Add a many2many Relational Field in Odoo 17
How to Add a many2many Relational Field in Odoo 17Celine George
 
The Stolen Bacillus by Herbert George Wells
The Stolen Bacillus by Herbert George WellsThe Stolen Bacillus by Herbert George Wells
The Stolen Bacillus by Herbert George WellsEugene Lysak
 
Drug Information Services- DIC and Sources.
Drug Information Services- DIC and Sources.Drug Information Services- DIC and Sources.
Drug Information Services- DIC and Sources.raviapr7
 
Maximizing Impact_ Nonprofit Website Planning, Budgeting, and Design.pdf
Maximizing Impact_ Nonprofit Website Planning, Budgeting, and Design.pdfMaximizing Impact_ Nonprofit Website Planning, Budgeting, and Design.pdf
Maximizing Impact_ Nonprofit Website Planning, Budgeting, and Design.pdfTechSoup
 
CAULIFLOWER BREEDING 1 Parmar pptx
CAULIFLOWER BREEDING 1 Parmar pptxCAULIFLOWER BREEDING 1 Parmar pptx
CAULIFLOWER BREEDING 1 Parmar pptxSaurabhParmar42
 
In - Vivo and In - Vitro Correlation.pptx
In - Vivo and In - Vitro Correlation.pptxIn - Vivo and In - Vitro Correlation.pptx
In - Vivo and In - Vitro Correlation.pptxAditiChauhan701637
 
How to Solve Singleton Error in the Odoo 17
How to Solve Singleton Error in the  Odoo 17How to Solve Singleton Error in the  Odoo 17
How to Solve Singleton Error in the Odoo 17Celine George
 
Easter in the USA presentation by Chloe.
Easter in the USA presentation by Chloe.Easter in the USA presentation by Chloe.
Easter in the USA presentation by Chloe.EnglishCEIPdeSigeiro
 
CHUYÊN ĐỀ DẠY THÊM TIẾNG ANH LỚP 11 - GLOBAL SUCCESS - NĂM HỌC 2023-2024 - HK...
CHUYÊN ĐỀ DẠY THÊM TIẾNG ANH LỚP 11 - GLOBAL SUCCESS - NĂM HỌC 2023-2024 - HK...CHUYÊN ĐỀ DẠY THÊM TIẾNG ANH LỚP 11 - GLOBAL SUCCESS - NĂM HỌC 2023-2024 - HK...
CHUYÊN ĐỀ DẠY THÊM TIẾNG ANH LỚP 11 - GLOBAL SUCCESS - NĂM HỌC 2023-2024 - HK...Nguyen Thanh Tu Collection
 

Kürzlich hochgeladen (20)

How to Manage Cross-Selling in Odoo 17 Sales
How to Manage Cross-Selling in Odoo 17 SalesHow to Manage Cross-Selling in Odoo 17 Sales
How to Manage Cross-Selling in Odoo 17 Sales
 
Quality Assurance_GOOD LABORATORY PRACTICE
Quality Assurance_GOOD LABORATORY PRACTICEQuality Assurance_GOOD LABORATORY PRACTICE
Quality Assurance_GOOD LABORATORY PRACTICE
 
How to Add a New Field in Existing Kanban View in Odoo 17
How to Add a New Field in Existing Kanban View in Odoo 17How to Add a New Field in Existing Kanban View in Odoo 17
How to Add a New Field in Existing Kanban View in Odoo 17
 
CapTechU Doctoral Presentation -March 2024 slides.pptx
CapTechU Doctoral Presentation -March 2024 slides.pptxCapTechU Doctoral Presentation -March 2024 slides.pptx
CapTechU Doctoral Presentation -March 2024 slides.pptx
 
2024.03.23 What do successful readers do - Sandy Millin for PARK.pptx
2024.03.23 What do successful readers do - Sandy Millin for PARK.pptx2024.03.23 What do successful readers do - Sandy Millin for PARK.pptx
2024.03.23 What do successful readers do - Sandy Millin for PARK.pptx
 
How to Add Existing Field in One2Many Tree View in Odoo 17
How to Add Existing Field in One2Many Tree View in Odoo 17How to Add Existing Field in One2Many Tree View in Odoo 17
How to Add Existing Field in One2Many Tree View in Odoo 17
 
P4C x ELT = P4ELT: Its Theoretical Background (Kanazawa, 2024 March).pdf
P4C x ELT = P4ELT: Its Theoretical Background (Kanazawa, 2024 March).pdfP4C x ELT = P4ELT: Its Theoretical Background (Kanazawa, 2024 March).pdf
P4C x ELT = P4ELT: Its Theoretical Background (Kanazawa, 2024 March).pdf
 
Patterns of Written Texts Across Disciplines.pptx
Patterns of Written Texts Across Disciplines.pptxPatterns of Written Texts Across Disciplines.pptx
Patterns of Written Texts Across Disciplines.pptx
 
Education and training program in the hospital APR.pptx
Education and training program in the hospital APR.pptxEducation and training program in the hospital APR.pptx
Education and training program in the hospital APR.pptx
 
Diploma in Nursing Admission Test Question Solution 2023.pdf
Diploma in Nursing Admission Test Question Solution 2023.pdfDiploma in Nursing Admission Test Question Solution 2023.pdf
Diploma in Nursing Admission Test Question Solution 2023.pdf
 
How to Add a many2many Relational Field in Odoo 17
How to Add a many2many Relational Field in Odoo 17How to Add a many2many Relational Field in Odoo 17
How to Add a many2many Relational Field in Odoo 17
 
The Stolen Bacillus by Herbert George Wells
The Stolen Bacillus by Herbert George WellsThe Stolen Bacillus by Herbert George Wells
The Stolen Bacillus by Herbert George Wells
 
Drug Information Services- DIC and Sources.
Drug Information Services- DIC and Sources.Drug Information Services- DIC and Sources.
Drug Information Services- DIC and Sources.
 
Maximizing Impact_ Nonprofit Website Planning, Budgeting, and Design.pdf
Maximizing Impact_ Nonprofit Website Planning, Budgeting, and Design.pdfMaximizing Impact_ Nonprofit Website Planning, Budgeting, and Design.pdf
Maximizing Impact_ Nonprofit Website Planning, Budgeting, and Design.pdf
 
Personal Resilience in Project Management 2 - TV Edit 1a.pdf
Personal Resilience in Project Management 2 - TV Edit 1a.pdfPersonal Resilience in Project Management 2 - TV Edit 1a.pdf
Personal Resilience in Project Management 2 - TV Edit 1a.pdf
 
CAULIFLOWER BREEDING 1 Parmar pptx
CAULIFLOWER BREEDING 1 Parmar pptxCAULIFLOWER BREEDING 1 Parmar pptx
CAULIFLOWER BREEDING 1 Parmar pptx
 
In - Vivo and In - Vitro Correlation.pptx
In - Vivo and In - Vitro Correlation.pptxIn - Vivo and In - Vitro Correlation.pptx
In - Vivo and In - Vitro Correlation.pptx
 
How to Solve Singleton Error in the Odoo 17
How to Solve Singleton Error in the  Odoo 17How to Solve Singleton Error in the  Odoo 17
How to Solve Singleton Error in the Odoo 17
 
Easter in the USA presentation by Chloe.
Easter in the USA presentation by Chloe.Easter in the USA presentation by Chloe.
Easter in the USA presentation by Chloe.
 
CHUYÊN ĐỀ DẠY THÊM TIẾNG ANH LỚP 11 - GLOBAL SUCCESS - NĂM HỌC 2023-2024 - HK...
CHUYÊN ĐỀ DẠY THÊM TIẾNG ANH LỚP 11 - GLOBAL SUCCESS - NĂM HỌC 2023-2024 - HK...CHUYÊN ĐỀ DẠY THÊM TIẾNG ANH LỚP 11 - GLOBAL SUCCESS - NĂM HỌC 2023-2024 - HK...
CHUYÊN ĐỀ DẠY THÊM TIẾNG ANH LỚP 11 - GLOBAL SUCCESS - NĂM HỌC 2023-2024 - HK...
 

Toronto Virtual Meetup #11 - Reviewing Complex DataWeave Transformation Use-case

  • 1. June 03, 2021 Toronto MuleSoft Meetup - #11 Reviewing Complex DataWeave Transformation Use-Case
  • 2. 3 ● Introductions ● Q&A Tab ● How does the quiz work? ● If you are one of the quiz winners ● Reviewing Complex DataWeave Transformation Use-Case – Alexandra Martinez ● What’s next? Agenda #MuleSoftMeetups
  • 3. 4 Organizers #MuleSoftMeetups Alexandra Martinez Senior MuleSoft Developer at Bits In Glass MuleSoft Ambassadress ProstDev Founder and Content Creator 3+ years using MuleSoft 5x MuleSoft certified alexandramartinez.world Mahesh Pujari MuleSoft Developer at Mackenzie Investments Around 7 years of integration expertise 3+ Years using Mulesoft 3x Mulesoft Certified Pravallika Nagaraja Senior MuleSoft Developer at Roche / MuleSoft Mentor Overall 10 years of experience developing integration solutions using MuleSoft and other integration technologies 3+ years using MuleSoft 4x MuleSoft certified Content Creator at ProstDev Kishore Reddy Paluri Solutions Architect at MuleSoft 15 years of experience building Integration, ESB, SOA, API, Security and Middleware solutions on Cloud, On-Prem, and Hybrid environments
  • 5. 6 ● Anypoint Platform With Datagraph ○ Webinar : https://www.mulesoft.com/platform/anypoint-design-center/datagraph ○ https://tinyurl.com/4wmr8vnv ● New Connectors ○ RPA, data lakes and event streaming : https://blogs.mulesoft.com/dev-guides/api-connectors- templates/11-new-anypoint-connectors-rpa/ ○ Microsoft Azure, Plaid and Dropbox : https://blogs.mulesoft.com/dev-guides/api-connectors-templates/11- new-connectors-for-anypoint-platform/ ○ New anypoint connectors for IT and business collaboration : https://tinyurl.com/vvv9hfp3 Latest Releases/News #MuleSoftMeetups
  • 6. 7 ● Anypoint Studio 7.9.0 ○ Dark theme ○ Supports Java 11 ○ Improvements for Dataweave code experience Latest Releases/News #MuleSoftMeetups
  • 7. 8 NEW! Introducing the MuleSoft Mentors Who are MuleSoft Mentors? ● Active contributors across platforms ● Hold 1+ Mule certs ● Dedicated mentors to their peers Why should you become a Mentor? ● Build professional/personal brand ● Earn recognition as a Mule expert by MuleSoft and broader ecosystem ● Help our Community learn and become experts themselves Apply now - June. 18, 2021 mulesoft.com/mentors A new community program
  • 8. Q&A Tab ● Questions can be lost in the Chat. ● Under the Chat window, there are 3 tabs: General, Q&A, and DMs. ● Click on the Q&A tab to ask your questions. 9
  • 9. How does the quiz work? 1. Questions will be asked during the presentation. 2. If you already answered a question correctly, do not keep answering and give an opportunity to the other attendees. 3. The first answer in the chat is the winner, unless it’s from someone that already answered another question. IMPORTANT ● You can only win one voucher per month, regardless of the meetup city. ● You can’t participate if you’re already a meetup leader (even from another city) or a MuleSoft ambassador. ● If you already won a voucher in another event in the same month, you will not receive a voucher. If any of this applies to you, please don’t participate in the quiz and give other people the opportunity to win. 10 #MuleSoftMeetups
  • 10. If you are one of the quiz winners 1. Send your name and email to the organizers in the chat window. 2. MuleSoft will get in touch with you to request your voucher. 3. You can only select training vouchers. Certification vouchers are no longer offered. However, some trainings will give you a free voucher for a certification attempt at the end. 4. Once processed, you can expect to receive your voucher within 10 business days. 5. If you experience any trouble redeeming a voucher, please raise a ticket at training.mulesoft.com/question 11 #MuleSoftMeetups
  • 11. Alexandra Martinez Reviewing a Complex DataWeave Transformation Use-case
  • 12. 13 ● Modules (Values module) ● Functions (fun) ○ Parameters using types ○ Parameters with default values ○ Tail Recursive ● Variables (var) ● do statement to create scopes (local variables) ● Object manipulation using object destructor {( )} ● If/else ● Selectors: ○ Index (array[0]) ○ Range (1 to 10) ● Setting default values ● Core functions/operators ○ isEmpty, reduce, map, with ○ Sum (+), Append (+), Concatenation (++), Equality with coercion (~=) Solution will make use of the following:
  • 14. 15 Input JSON structure to Output JSON structure Requirement
  • 15. 16 ● Logic: 1. For each object from the FlightOptions array, create one output object inside the output array. Requirement 16
  • 16. 17 ● Logic: 1. For each object from the FlightOptions array, create one output object inside the output array. 2. The AppliedTaxCode will contain the value from the last Connection object. Requirement 17
  • 17. 18 ● Logic: 1. For each object from the FlightOptions array, create one output object inside the output array. 2. The AppliedTaxCode will contain the value from the last Connection object. 3. If the EndOfConnection field is true, create a separate output object. Requirement 18
  • 18. 19 ● Logic: 1. For each object from the FlightOptions array, create one output object inside the output array. 2. The AppliedTaxCode will contain the value from the last Connection object. 3. If the EndOfConnection field is true, create a separate output object. 4. If there are EndOfConnection fields that are true and this is not the last object inside the Connections array, create a new output object containing all the false Connection objects before this, and using this last object’s TaxCode. Requirement 19
  • 19. 20 ● Logic: 1. For each object from the FlightOptions array, create one output object inside the output array. 2. The AppliedTaxCode will contain the value from the last Connection object. 3. If the EndOfConnection field is true, create a separate output object. 4. If there are EndOfConnection fields that are true and this is not the last object inside the Connections array, create a new output object containing all the false Connection objects before this, and using this last object’s TaxCode. 5. Each AppliedConnections object in the output must have: 1. A hardcoded Type value “Connection”. Requirement 20
  • 21. 22 ● DW Playground: https://dwlang.fun ● Input payload: {"FlightOptions":[{"Connections":[{"ReferenceID":111,"TaxCode":"ABC","EndOfConnection":false},{"ReferenceID":222,"TaxCode":"DEF","EndOfConnection":true}]},{" Connections":[{"ReferenceID":333,"TaxCode":"GHI","EndOfConnection":true},{"ReferenceID":444,"TaxCode":"JKL","EndOfConnection":true}]},{"Connections":[{"Ref erenceID":555,"TaxCode":"MNO","EndOfConnection":false},{"ReferenceID":666,"TaxCode":"PQR","EndOfConnection":false},{"ReferenceID":777,"TaxCode":"STU"," EndOfConnection":false}]},{"Connections":[{"ReferenceID":888,"TaxCode":"VWX","EndOfConnection":false}]},{"Connections":[{"ReferenceID":999,"TaxCode":"MNO" ,"EndOfConnection":false},{"ReferenceID":101,"TaxCode":"PQR","EndOfConnection":true},{"ReferenceID":102,"TaxCode":"STU","EndOfConnection":false}]}]} ● Expected output: [{"AppliedTaxCode":"DEF","AppliedConnections":[{"Type":"Connection","IndexValue":1},{"Type":"Connection","IndexValue":2}]},{"AppliedTaxCode":"GHI","AppliedCo nnections":[{"Type":"Connection","IndexValue":3}]},{"AppliedTaxCode":"JKL","AppliedConnections":[{"Type":"Connection","IndexValue":4}]},{"AppliedTaxCode":"STU ","AppliedConnections":[{"Type":"Connection","IndexValue":5},{"Type":"Connection","IndexValue":6},{"Type":"Connection","IndexValue":7}]},{"AppliedTaxCode":"VW X","AppliedConnections":[{"Type":"Connection","IndexValue":8}]},{"AppliedTaxCode":"PQR","AppliedConnections":[{"Type":"Connection","IndexValue":9},{"Type":"C onnection","IndexValue":10}]},{"AppliedTaxCode":"STU","AppliedConnections":[{"Type":"Connection","IndexValue":11}]}] ● Format JSONs: https://jsonformatter.curiousconcept.com/ Building the Solution
  • 22. 23 1) Extract the Connections arrays. Building the Solution
  • 23. 24 2) Change all the EndOfConnection to true for the last Connection object from the Connections array. Building the Solution
  • 24. 1) How can you import the update function from the dw::util::Values module in the script? (There are 3 different ways, mention just one)
  • 25. Question 1 How can you import the update function from the dw::util::Values module in the script? (There are 3 different ways, mention just one) ● Import update from dw::util::Values ● Import * from dw::util::Values ● Import dw::util::Values  Values::update(…)
  • 26. 27 3) flatten the array of arrays to be just one array. Building the Solution
  • 27. 2) What are the 2 ways for flattening the previous array of arrays?
  • 28. Question 2 What are the 2 ways for flattening the previous array of arrays? ● Using flatten(…) ● Adding ++ to the reduce instead of + ○ Reduce(… accumulator ++ updatedConnections…)
  • 29. 30 4) Parameters: 1. connectionsArray - Current connections array (this will have less values each time, until array is empty). 2. indexAccumulatorArray - Array with the indexes that are being accumulated for the ”IndexValue” field. 3. index - Actual index number for each connection being evaluated. 4. connectionsAccumulatorArray - Array that will keep the transformed objects (final output) – This is what makes our function a tail function. Building the Solution – Tail Recursive function
  • 30. 31 Iteration 1: Building the Solution – Tail Recursive function connectionsArray (original array) indexAccumulatorArray index connectionsAccumulatorArray thisConnection EndOfConnection = false Nothing is added to connectionsAccumulatorArray Next connection indexAccumulatorArray should contain this index because thisConnectionEndOfConnection is false.
  • 31. 32 Iteration 2: Building the Solution – Tail Recursive function connectionsArray (original array) indexAccumulatorArray index connectionsAccumulatorArray thisConnection EndOfConnection = true Object is added to connectionsAccumulatorArray Next connection indexAccumulatorArray should go back to [ ] because thisConnectionEndOfConnection is true.
  • 32. 33 Iteration 3: Building the Solution – Tail Recursive function connectionsArray (original array) indexAccumulatorArray index connectionsAccumulatorArray thisConnection EndOfConnection = true Object is added to connectionsAccumulatorArray Next connection indexAccumulatorArray should go back to [ ] because thisConnectionEndOfConnection is true.
  • 33. 34 Iteration 4: Building the Solution – Tail Recursive function connectionsArray (original array) indexAccumulatorArray index connectionsAccumulatorArray thisConnection EndOfConnection = true Object is added to connectionsAccumulatorArray Next connection indexAccumulatorArray should go back to [ ] because thisConnectionEndOfConnection is true.
  • 34. 35 Iteration 5: Building the Solution – Tail Recursive function connectionsArray (original array) indexAccumulatorArray index connectionsAccumulatorArray thisConnection EndOfConnection = false Nothing is added to connectionsAccumulatorArray Next connection indexAccumulatorArray should contain this index because thisConnectionEndOfConnection is false.
  • 35. 36 Iteration 6: Building the Solution – Tail Recursive function connectionsArray (original array) indexAccumulatorArray index connectionsAccumulatorArray thisConnection EndOfConnection = false Nothing is added to connectionsAccumulatorArray Next connection indexAccumulatorArray should contain this index because thisConnectionEndOfConnection is false.
  • 36. 37 Iteration 7: Building the Solution – Tail Recursive function connectionsArray (original array) indexAccumulatorArray index connectionsAccumulatorArray thisConnection EndOfConnection = true Object is added to connectionsAccumulatorArray Next connection indexAccumulatorArray should go back to [ ] because thisConnectionEndOfConnection is true.
  • 37. 38 Iteration 8: Building the Solution – Tail Recursive function connectionsArray (original array) indexAccumulatorArray index connectionsAccumulatorArray thisConnection EndOfConnection = true Object is added to connectionsAccumulatorArray Next connection indexAccumulatorArray should go back to [ ] because thisConnectionEndOfConnection is true. To be continued… 
  • 39. Code ● GitHub repository: https://github.com/alexandramartinez/reviewing-a-complex-dw- transformation-use-case/
  • 40. 3) What is the error you get if you don’t use a tail recursive function and you exceed the number of calls (255)
  • 41. Question 3 What is the error you get if you don’t use a tail recursive function and you exceed the number of calls (255) ● StackOverflow
  • 42. References ● https://docs.mulesoft.com/mule-runtime/4.3/dataweave-functions ● https://docs.mulesoft.com/mule-runtime/4.3/dataweave-variables ● https://docs.mulesoft.com/mule-runtime/4.3/dataweave-flow-control ● https://docs.mulesoft.com/mule-runtime/4.3/dataweave-selectors ● https://docs.mulesoft.com/mule-runtime/4.3/dataweave-cookbook-defaults ● https://docs.mulesoft.com/mule-runtime/4.3/dw-operators ● https://docs.mulesoft.com/mule-runtime/4.3/dw-core-functions-isempty ● https://docs.mulesoft.com/mule-runtime/4.3/dw-core-functions-reduce ● https://docs.mulesoft.com/mule-runtime/4.3/dw-core-functions-map ● https://docs.mulesoft.com/mule-runtime/4.3/dw-core-functions-plusplus ● https://blogs.mulesoft.com/dev-guides/how-to-tutorials/untie-multilevel- structures-dataweave-recursive-calls/
  • 45. 46 ● Share: ○ Tweet using the hashtag #MuleSoftMeetups ○ Invite your network to join: https://meetups.mulesoft.com/toronto/ ● Feedback: ○ Fill out the survey feedback and suggest topics for upcoming events ○ Contact MuleSoft at meetups@mulesoft.com for ways to improve the program What’s next? #MuleSoftMeetups