SlideShare a Scribd company logo
21st September,2019: The Power of Transformation with Dataweave
Engine 2.0 & MuleSoft Catalyst
Mumbai - India
All contents © MuleSoft Inc.
Agenda
2
2:00 PM Introduction
2:30 PM Technical Session – DataWeave 2.0
3:30 PM Technical Session – DataWeave 2.0
4:30 PM Networking & Break: Tea, Coffee and Snack
5:00 PM Technical Sessions – MuleSoft Catalyst
5:30 PM Wrap-up and Plan For Next Meetup
All contents © MuleSoft Inc.
Introductions
3
• About the organizer:
– Sudeshna Mitra
– Manish Yadav
– Akshata Sawant
– Ranveer Meel
• About the sponsor:
– ACCENTURE & APISERO
A SHOW OF HANDS:
Who is new to this MeetUp?
All contents © MuleSoft Inc.
Speakers
4
All contents © MuleSoft Inc.
Surprises!
5
• Thanks for your positive
enthusiasm …You earned
it ..
• Certification Vouchers
for all!
• Be geared up for the
quiz sessions at the end
of each modules! 
All contents © MuleSoft Inc.
Agenda
6
 DataWeave 2.0
– Introduction
– Quick Walkthrough
– Language
– Map, Filter and Reduce
 MuleSoft Catalyst
Introduction
DataWeave 2.0
All contents © MuleSoft Inc.
Introduction
8
• DataWeave 2.0 for Mule 4 apps
• Mulesoft Expression Language for
– Accessing Data
– Transforming Data
• Entirely replaces everything that MEL does
• No cryptic transformation file (.grf from data mapper)
• Powerful template engine
• Can transform the data to and from any kind of data
– JSON
– XML
– POJO
– CSV
MEL
Quick Walkthrough
DataWeave 2.0
All contents © MuleSoft Inc.
Transform Component
10
All contents © MuleSoft Inc.
Metadata & Sample Data
11
All contents © MuleSoft Inc.
Targets
12
All contents © MuleSoft Inc.
XML Snippet
13
All contents © MuleSoft Inc.
DWL file vs Inline DWL
14
• DWL File referenced through:
– Transform Message Component, Example: see previous slide
– Mule app expression
<when expression="${file::someFile.dwl}" >
• Inline DWL:
– Transform Message Component, Example: see previous slide
– Mule app expression
<set-payload
value="#[output application/xml --- { myroot: payload } ]" />
<salesforce:parameters ><![CDATA[#[output application/java
---
{"territory" : "MULE"}
]]]></salesforce:parameters>
Language
DataWeave 2.0
All contents © MuleSoft Inc.
DWL Types
16
• Array (dw::Core)
– An Array can hold elements of any supported type
• Object (dw::Core)
– Represents an object as a collection of Key-Value pairs
• Boolean (dw::Core)
– true/false
• String (dw::Core)
– Defined by use of single or double quotes
• Number (dw::Core)
– 1 type that supports both: floating numbers and integers
• Date And Time (dw::Core)
– Native data types: Date, DateTime, LocalDateTime, LocalTime, Period, Time, TimeZone
All contents © MuleSoft Inc.
DWL Types - Examples
17
All contents © MuleSoft Inc.
DWL Types – Continued
18
• CData (dw::Core)
• Enum (dw::Core)
• Iterator (dw::Core)
• Regex (dw::Core)
• TryResult (dw::Runtime)
• URI (dw::Core::URL)
All contents © MuleSoft Inc.
DWL Structure
19
• Header
– Defines directive that apply to the body
– Optional
– If present, header and body are separated by three dashes ---
• Body
– Template expression to generate the output
– Mandatory
All contents © MuleSoft Inc.
DWL Header – dw and output
20
• %dw
– DataWeave version
– Optional with default 2.0
– Example: %dw 2.0
• output
– Mime type that uses script output
– Optional with default determined by an algorithm (based on inputs used in the body script)
– Example: output application/json
– Most common values: application/xml, application/java, application/csv, text/plain,
application/flatfile etc..
All contents © MuleSoft Inc.
DWL Header - fun
21
• fun
– Defines function
– Alternate to
variable with lambda expression
All contents © MuleSoft Inc.
DWL Header - var
22
• var
– Defines global variables
– Possible forms:
(a) Constant
(b) Lambda expression (function)
– Usage of using
– Local vs global variables
– Usage of single line comment
– Usage of multi line comment
All contents © MuleSoft Inc.
DWL Header - type
23
• type
– Specify a custom type that can be used in the expression
All contents © MuleSoft Inc.
DWL Header - ns
24
• ns
– Import a namespace
– To deal with application/xml
All contents © MuleSoft Inc.
DWL Header - import
25
• import
– Importing a function module
– Automatic import of dw::Core
– 3 ways to import
– Accessing Java Method
– Custom Modules and mapping
All contents © MuleSoft Inc.
DWL Body
26
• Contains the expression which generates the output structure
• Provides a canonical way to generate output
All contents © MuleSoft Inc.
DataWeave Errors
27
• Formatting vs Coding error
1. Check the errors
All contents © MuleSoft Inc.
DataWeave Errors - Continued
28
2. Change the output format to application/dw
If this generates proper output, then earlier error was – Formatting error
If this gives error, then earlier error was – Coding error
All contents © MuleSoft Inc.
DataWeave Errors - Continued
29
3. Evaluate specific Formatting error and fix this
XML Root Element missing error
All contents © MuleSoft Inc.
DataWeave Selectors
30
Selector Type Syntax Return Type
Single Value .key Value that matches the key
Multi Value .*key Array of values that matches the key
Descendants ..key Array of values that matches any
descendant key
Index [<index>] Value at selected array index
Range [<index> to <index>] Array with values from selected indices
Filter [? (Boolean expression)] Array with values for which expression
returns true
All contents © MuleSoft Inc.
DataWeave Selectors - Continued
31
Selector Type Syntax Return Type
XML Attribute .@attribute? String value of the selected attribute
Is Key Present • .key?
• .@attribute?
Boolean
• True if key present in object
• True if attribute present on xml element
Namespace .key.# Namespace of the selected key
All contents © MuleSoft Inc.
DataWeave Selectors - Example
32
All contents © MuleSoft Inc.
DataWeave Selectors – Example Output
33
All contents © MuleSoft Inc.
DataWeave Implicit Variables
34
Variable Description Fields and Examples
server Operating System on
which the Mule instance is
running
• env
• fileSeparator
• userHome
• ip
mule Mule instance on which
the application is currently
running
• clusterId
• nodeId
• version
app Mule application in context • name
• registry
• workDir
All contents © MuleSoft Inc.
DataWeave Implicit Variables - Continued
35
Variable Description Fields and Examples
error Error associated with a
Mule Message Object
• description
• detailedDescription
• cause
• errorType
• errorMessage
authentication Access to auth
information
• principal
• credentials
• Properties
correlationId Correlation Id of the
message being processed
• None
• Example: 0-f77404d0-e699-11e7-a217-38c9864c2f8f
All contents © MuleSoft Inc.
DataWeave Implicit Variables - Continued
36
Variable Description Fields and Examples
message Mule Message (Payload
and Attributes) being
processed
• payload
• attributes
payload Body of the current Mule
Message Object
• Depends on the current payload
• #[payload.key]
attributes Metadata of the Mule
Message Object
• #[attributes.uriParams.foo]
• #[attributes.queryParams.bar]
vars Variables of the current
Mule event being
processed
• #[vars.myVar]
All contents © MuleSoft Inc.
DataWeave - Writer/Reader properties
37
Format/
Type
Parameter Type Default Description
JSON/
XML Writer
bufferSize Number 8192 Size of buffer writer
deferred Boolean false Deferred Output
duplicateKe
yAsArray
Boolean false JSON duplicate keys processing
encoding String UTF-8 Output character encoding
indent Boolean true Indent the output
skipNullOn String No Skip JSON: arrays, objects
XML: elements, attributes
Both: everywhere
All contents © MuleSoft Inc.
DataWeave - Writer/Reader properties – Continued
38
Format
/Type
Parameter Type Default Description
JSON/
Reader
streaming Boolean false Used for streaming input
XML/
Reader
nullValueOn String blank If tag with empty or blank text
should be read as Null
Options: empty, none or blank
CSV/
Writer
lineSeparator String Line separator for writing CSV
Example: rn
header Boolean true Output header as first line?
separator String , Character that separates records
from another
All contents © MuleSoft Inc.
DataWeave - Flow Control
39
• do
• if
• if else
• if else-if else
All contents © MuleSoft Inc.
DataWeave – Pattern Matching
40
• Literal
All contents © MuleSoft Inc.
DataWeave – Pattern Matching - Continued
41
• Expression
All contents © MuleSoft Inc.
DataWeave – Pattern Matching - Continued
42
• Data Type
All contents © MuleSoft Inc.
DataWeave – Pattern Matching - Continued
43
• Reg Ex – Capturing Group, Positive/ Negative Look Ahead/ Behind
All contents © MuleSoft Inc.
DataWeave – Mule Runtime Functions
44
• p
• lookup
• Utilize Mule namespace for versions > 4.1.4
All contents © MuleSoft Inc.
DataWeave – Custom Module and Mapping
45
• Custom Module
• Custom Mapping
• Local Alias
All contents © MuleSoft Inc.
DataWeave – Customization .. Continued
46
All contents © MuleSoft Inc.
DataWeave – Read, Write and ReadURL function
47
• ReadUrl – Not Cached
All contents © MuleSoft Inc.
DataWeave – Operators
48
Map, Filter and Reduce
DataWeave 2.0
All contents © MuleSoft Inc.
DataWeave – Map, Filter and Reduce
50
• Function that transform arrays
• As input: an array, and a function
– Higher order functions (a function taking another function as an argument, OR a function that returns
another function)
– The input function for map/filter/reduce define the implementation details of the transformation
• Output: array (map/filter), any (reduce)
• Declarative - implementation of iteration is hidden from the client
• Transformations are non-destructive (they do not modify any input)
All contents © MuleSoft Inc.
Why do a talk on them?
51
• They form the core functionality that you’ll need for data
transformations (removing records, modifying records, general
purpose transformation tool)
• A mastery of map/filter/reduce is essential to writing clear and
efficient transformations
• A lot of other functions that work on transforming arrays are just
flavors of map/filter/reduce
• Declarative - implementation of iteration is hidden from the client
• Gives you a great base to build off of because you need to
understand two key concepts: immutability, and higher-order
functions
All contents © MuleSoft Inc.
Filter – Remove elements
52
• Input: An array and a predicate function (function that returns true
or false)
– Predicate function example: (n) -> (n == 2)
• Output: a new array
• Creates new output array, applying the predicate function to every
element in the input array
• If the predicate returns true, add the value to the output, if the
predicate returns false, ignore it
• The only thing filter can do is create new arrays that contain the
same or less elements than the previous array. It cannot change the
elements.
All contents © MuleSoft Inc.
Filter – Continued
53
All contents © MuleSoft Inc.
Filter – Examples
54
// Filter by content
[1,2,3,4,5] filter (mod($, 2) == 0)
// -> [2, 4]
// Filter by index
[2,4,6,8,10] filter ($$ == 4)
// -> [10]
// Filter by nested content (popular use case)
var arr = [{“name”:”Josh”}, {“name”:”Patryk”}, {“name”:”Max The Mule”}]
---
arr filter $.name == “Patryk”
arr filter ((person, index) -> person.name == “Patryk”)
// -> [{”name”:”Patryk”}]
All contents © MuleSoft Inc.
Map – Transform Elements
55
• Input: an array and a mapping function
• Output: a new array
• The mapping function describes how each element in the array will be
modified before it is added to the output array
• map can create a new array that is the result of a modification of
each element in the input array. map cannot modify the number of
elements returned in the resulting array
All contents © MuleSoft Inc.
Map – Continued
56
All contents © MuleSoft Inc.
Map – Examples
57
// Map using each element
[1,2,3] map ($ + 1)
// -> [2,3,4]
// Map using index
[1,2,3] map ({loc: $$, n: $})
// -> [{loc: 0, n: 1},{loc: 1, n: 2}, {loc: 2, n: 3}]
// lambda expression
[1,2,3] map ((value,index) -> {loc: index, n: value})
// -> [{loc: 0, n: 1},{loc: 1, n: 2}, {loc: 2, n: 3}]
// Map nested values down to single-item array (great for list of IDs)
[{id: 123}, {id: 456}, {id: 789}] map $.id
// -> [123, 456, 789]
All contents © MuleSoft Inc.
Reduce
58
• Input: An array and an accumulator function
• Output: a new Any (object, string, Boolean, null, array, etc.) we will
call this the result
• The accumulator function defines how each element in the input
array will be folded into the result
– The value returned from the accumulator function will be passed to the next iteration
• Reduce is the most general-purpose of the three core functions
• Can implement both map and filter in terms of reduce, so map and
filter are just specialized reduce functions
– Keep this in mind as you write your transformations. Don’t use reduce when a map or filter would
work instead
All contents © MuleSoft Inc.
Reduce – Continued
59
All contents © MuleSoft Inc.
Reduce – Examples
60
// Classic example: Adding numbers
[1,2,3] reduce ((n, acc) -> acc + n)
// -> 6
// Classic example: Adding numbers, $$ = Accumulator, $ = value
[1,2,3] reduce ($$ + $)
// -> 6
// A simple joinBy functionality
[“1”,”2”,”3”] reduce ((str, out) -> out ++ “, ” ++ str)
// “1, 2, 3”
// The same thing wrapped in a helpful function
fun myJoinBy(arr, delim) = arr reduce ((str, out) -> out ++ delim ++ str)
All contents © MuleSoft Inc.
Reduce – Examples Continued ..
61
// Flattening an array into a object (common use case)
var arr = [
{dev: "c6824476-b7e2-4e8a-9281-bdc40663bb93"},
{prod: "7f44b450-18ff-45fa-85f3-8ef5c82b4989"}
]
---
arr reduce ((env, obj) -> obj ++ env)
// -> { ”dev”: “c6824476-b7e2-4e8a-9281-bdc40663bb93”,
// “prod”: “7f44b450-18ff-45fa-85f3-8ef5c82b4989” }
// Same result
arr reduce ($$ ++ $)
// Same result
{(arr)}
All contents © MuleSoft Inc.
Reduce – Examples Continued ..
62
// Make map/filter code more efficient. This loops twice
[1,2,3,4,5] filter (mod($, 2) == 0) map ($ + 2)
// -> [4,6]
// This loops once and accomplishes the same job
[1,2,3,4,5] reduce ((n, acc = []) ->
if (mod(n, 2) == 0) // Filter replacement
acc + (n + 2) // Map replacement
else
acc)
// -> [4,6]
All contents © MuleSoft Inc.
Reduce – Examples Continued ..
63
// Implement map:
fun myMap(arr, transformFn) =
arr reduce ((e, acc=[]) -> acc + transformFn(e))
// Implement filter:
fun myFilter(arr, predicateFn) =
arr reduce ((e, acc=[]) ->
if (predicateFn(e))
acc + e
else
acc)
All contents © MuleSoft Inc.
Wrapping map/filter/reduce
64
• Passing functions to functions is nice because of the flexibility, but it’s
not always an ideal API because of that flexibility
– Reader needs to understand map/filter/reduce, and then understand the workings of passed function
• To make functions less flexible, but far more readable, you can do the
following
– Name the functionality that the passed-in function is providing
– Wrap the map/filter/reduce code in a function
– Name that function according to the name you came up w/ in step 1
– Make sure that parameters passes to your new function do not take in a lambda
All contents © MuleSoft Inc.
Example
65
// Let’s take a reduce example from earlier. We start with this:
var arr = [{dev: ”123"}, {prod: ”456"}]
---
arr reduce ((env, obj={}) -> obj ++ env)
// -> {dev: “123”, prod: “456”}
// we will name the function as below from highlighted functionlity
fun flattenToObj(arr) =
arr reduce (kvPair, obj={}) -> obj ++ kvPair)
// this can be done with most functions
fun removeOdds(arr) = arr filter ($ mod 2 == 0)
• This is especially helpful if the functions are going to be reused (put them in a
module!)
• Might not be as helpful if not reused, but you will get a nice readability boost
that comes from effective naming of your functions
All contents © MuleSoft Inc.
Moving Forward
66
• map/filter/reduce are a trio of higher-order functions that form the
core of array transformations
– Filter: Remove elements from the array
– Map: Modify elements from the array
– Reduce: Both of above, as well as transform array to any other type. Use it as a last option
• Map and filter tend to be pretty easy to learn, reduce typically
requires more practice to master
• Master these functions first followed by
– mapObject
– pluck
– groupBy, orderBy, distinct
– remove, flatten, joinBy, splitBy, contains, sizeOf, is
All contents © MuleSoft Inc.
mapObject
67
• Input: An Object and a mapping function
• Output: a new Object
• Process both keys and values as a tuple
• The mapping function describes how each key-value pair in the object
will be modified before its added to the output object
• mapObject can create a new Object that is the result of the
modification of each tuple of the input object
– mapObject can modify the property key / value
– mapObject can remove certain property based on conditions
– mapObject can add certain property based on conditions
All contents © MuleSoft Inc.
mapObject – Examples
68
// Modifying below person object for processing
person mapObject {
(($$) : "*****") if ('$$' startsWith "personal"),
(($$) : $) if ('$$' startsWith "professional"),
("processed" : now()) if ($$$ == 0)
}
// With lambda it yields the same result
person mapObject ((value,key,index) -> {
((key) : "*****") if (key startsWith "personal"),
((key) : value) if (key startsWith "professional"),
("processed" : now()) if (index == 0)
})
// -> {
"personal_name": "*****",
"processed": "2019-09-20T16:15:15.343+05:30",
"personal_lastName": "*****",
"professional_experience": 9.9
}
All contents © MuleSoft Inc.
pluck
69
• Input: An Object and a mapping function
• Output: a new Array
• Process both keys and values as a tuple
• The mapping function describes how each key-value pair in the object
will be modified before its added to the output object
• mapObject can create a new Array that is the result of the
modification of each tuple of the input object
– mapObject can modify the property key / value
– mapObject can remove certain property based on conditions
– mapObject can add certain property based on conditions
• Same as mapObject except that this returns an Array instead of
Object
All contents © MuleSoft Inc.
pluck – Examples
70
// Modifying below person object for processing
person pluck $
// With lambda it yields the same result
person pluck ((value,key,index) -> value)
// -> [
"name",
"last_name",
9.9
]
All contents © MuleSoft Inc.
groupBy, orderBy, distinctBy Usage
71
MuleSoft Catalyst
All contents © MuleSoft Inc.
Introduction
73
As businesses conducting digital transformation, success requires
more than implementing new technology; the right operating model,
organizational structure, and approach to execution are also critical.
To address this, Mulesoft developed MuleSoft Catalyst, a unique
delivery methodology and set of packaged offerings, including
customer success programs, training, best practices, assets, and
accelerators, designed to help you achieve your business objectives.
All contents © MuleSoft Inc.
What does MuleSoft Catalyst deliver?
74
Rooted in Mulesoft’s work with over 1,600
global teams and refined over the past
decade, MuleSoft Catalyst is based on
three core pillars:
• Business outcomes: Define KPIs with
stakeholder alignment.
• Organizational enablement: Ensure
organizational readiness with Anypoint
Platform.
• Technology delivery: Enable team
readiness to build APIs and integrations.
All contents © MuleSoft Inc.
Business Outcomes playbook
75
All contents © MuleSoft Inc.
Technology Delivery
76
.Technology delivery is broken down into two parts:
• Anypoint Platform Playbook
• Projects Playbook
All contents © MuleSoft Inc.
Anypoint Platform Playbook
77
All contents © MuleSoft Inc.
Projects Playbook
78
All contents © MuleSoft Inc.
Organization Enablement
79
Organization Enablement is broken down into three parts:
• Center for Enablement Playbook
• Internal Support Playbook
• Training Playbook
All contents © MuleSoft Inc.
C4E Playbook
80
All contents © MuleSoft Inc.
Internal Support Playbook
81
All contents © MuleSoft Inc.
Training Playbook
82
• Train the initial teams
• Develop the broader training plan
• Launch Experiential Learning Opportunities
• Train Additional Teams
• Conduct Assessment
All contents © MuleSoft Inc.
Take a stand !
83
• Nominate yourself for
the next meetup speaker
and suggest a topic as
well.
All contents © MuleSoft Inc.
What’s next
84
• Share:
– Tweet your pictures with the hashtag #MuleMeetup #MuleSoftMeetup
– Invite your network to join: https://meetups.mulesoft.com/mumbai/
• Feedback:
– Contact your organizers Manish Yadav, Sudeshna Mitra, Akshata Sawant and Ranveer Meel to
suggest topics
– Tweet your organizers at @SudeshnaMitra14, @Manish_Kyadav, @sawantakshata02 and
@meel_Ranveer
– Contact MuleSoft at meetup@mulesoft.com for ways to improve the program
– Follow us on Instagram (mumbai_mulesoftofficialpage)
– Your Feedback is Food for us
• Our next meetup:
– Date: TBD
– Location: Mumbai
– Topic: TBD
Networking time
Introduce yourself to your neighbors!
See you next time
Please send topic suggestions to the organizer
THANK YOU
Power of Transformation with DataWeave 2.X Engine

More Related Content

What's hot

Mulesoft meetup slides mumbai_20113019_exception_handling
Mulesoft meetup slides mumbai_20113019_exception_handlingMulesoft meetup slides mumbai_20113019_exception_handling
Mulesoft meetup slides mumbai_20113019_exception_handling
Manish Kumar Yadav
 
Salesforce Spring 23 Webinar
Salesforce Spring 23 WebinarSalesforce Spring 23 Webinar
Salesforce Spring 23 Webinar
brightgenss
 
Dataweave Libraries and ObjectStore
Dataweave Libraries and ObjectStoreDataweave Libraries and ObjectStore
Dataweave Libraries and ObjectStore
Vikalp Bhalia
 
Architect day 20181128 - Afternoon Session
Architect day 20181128 - Afternoon SessionArchitect day 20181128 - Afternoon Session
Architect day 20181128 - Afternoon Session
Salesforce - Sweden, Denmark, Norway
 
Salesforce crm and its cloud services ppt converted
Salesforce crm and its cloud services ppt convertedSalesforce crm and its cloud services ppt converted
Salesforce crm and its cloud services ppt converted
AmbientInfoSolutions1
 
Introduction to Apex for Developers
Introduction to Apex for DevelopersIntroduction to Apex for Developers
Introduction to Apex for Developers
Salesforce Developers
 
Introduction to OData
Introduction to ODataIntroduction to OData
Introduction to OData
Mindfire Solutions
 
Classic vs. lightning
Classic vs. lightningClassic vs. lightning
Classic vs. lightning
Gaurav Kumar
 
Real Time Integration with Salesforce Platform Events
Real Time Integration with Salesforce Platform EventsReal Time Integration with Salesforce Platform Events
Real Time Integration with Salesforce Platform Events
Salesforce Developers
 
Introduction to External Objects and the OData Connector
Introduction to External Objects and the OData ConnectorIntroduction to External Objects and the OData Connector
Introduction to External Objects and the OData Connector
Salesforce Developers
 
MuleSoft Event Driven Architecture (EDA Patterns in MuleSoft) - VirtualMuleys63
MuleSoft Event Driven Architecture (EDA Patterns in MuleSoft) - VirtualMuleys63MuleSoft Event Driven Architecture (EDA Patterns in MuleSoft) - VirtualMuleys63
MuleSoft Event Driven Architecture (EDA Patterns in MuleSoft) - VirtualMuleys63
Angel Alberici
 
Complete Guide To Salesforce Einstein Analytics
Complete Guide To Salesforce Einstein AnalyticsComplete Guide To Salesforce Einstein Analytics
Complete Guide To Salesforce Einstein Analytics
Cloud Analogy
 
Mule Common Logging & Error Handling Framework
Mule Common Logging & Error Handling FrameworkMule Common Logging & Error Handling Framework
Mule Common Logging & Error Handling Framework
Vijay Reddy
 
Einstein Analytics for Developers
Einstein Analytics for DevelopersEinstein Analytics for Developers
Einstein Analytics for Developers
Salesforce Developers
 
Introducing the Salesforce platform
Introducing the Salesforce platformIntroducing the Salesforce platform
Introducing the Salesforce platform
John Stevenson
 
Salesforce Tableau CRM - Quick Overview
Salesforce Tableau CRM - Quick OverviewSalesforce Tableau CRM - Quick Overview
Salesforce Tableau CRM - Quick Overview
Harshala Shewale ☁
 
Secure Salesforce: External App Integrations
Secure Salesforce: External App IntegrationsSecure Salesforce: External App Integrations
Secure Salesforce: External App Integrations
Salesforce Developers
 
Frequently asked MuleSoft Interview Questions and Answers from Techlightning
Frequently asked MuleSoft Interview Questions and Answers from TechlightningFrequently asked MuleSoft Interview Questions and Answers from Techlightning
Frequently asked MuleSoft Interview Questions and Answers from Techlightning
Arul ChristhuRaj Alphonse
 
WCF
WCFWCF
Salesforce
SalesforceSalesforce
Salesforce
maheswara reddy
 

What's hot (20)

Mulesoft meetup slides mumbai_20113019_exception_handling
Mulesoft meetup slides mumbai_20113019_exception_handlingMulesoft meetup slides mumbai_20113019_exception_handling
Mulesoft meetup slides mumbai_20113019_exception_handling
 
Salesforce Spring 23 Webinar
Salesforce Spring 23 WebinarSalesforce Spring 23 Webinar
Salesforce Spring 23 Webinar
 
Dataweave Libraries and ObjectStore
Dataweave Libraries and ObjectStoreDataweave Libraries and ObjectStore
Dataweave Libraries and ObjectStore
 
Architect day 20181128 - Afternoon Session
Architect day 20181128 - Afternoon SessionArchitect day 20181128 - Afternoon Session
Architect day 20181128 - Afternoon Session
 
Salesforce crm and its cloud services ppt converted
Salesforce crm and its cloud services ppt convertedSalesforce crm and its cloud services ppt converted
Salesforce crm and its cloud services ppt converted
 
Introduction to Apex for Developers
Introduction to Apex for DevelopersIntroduction to Apex for Developers
Introduction to Apex for Developers
 
Introduction to OData
Introduction to ODataIntroduction to OData
Introduction to OData
 
Classic vs. lightning
Classic vs. lightningClassic vs. lightning
Classic vs. lightning
 
Real Time Integration with Salesforce Platform Events
Real Time Integration with Salesforce Platform EventsReal Time Integration with Salesforce Platform Events
Real Time Integration with Salesforce Platform Events
 
Introduction to External Objects and the OData Connector
Introduction to External Objects and the OData ConnectorIntroduction to External Objects and the OData Connector
Introduction to External Objects and the OData Connector
 
MuleSoft Event Driven Architecture (EDA Patterns in MuleSoft) - VirtualMuleys63
MuleSoft Event Driven Architecture (EDA Patterns in MuleSoft) - VirtualMuleys63MuleSoft Event Driven Architecture (EDA Patterns in MuleSoft) - VirtualMuleys63
MuleSoft Event Driven Architecture (EDA Patterns in MuleSoft) - VirtualMuleys63
 
Complete Guide To Salesforce Einstein Analytics
Complete Guide To Salesforce Einstein AnalyticsComplete Guide To Salesforce Einstein Analytics
Complete Guide To Salesforce Einstein Analytics
 
Mule Common Logging & Error Handling Framework
Mule Common Logging & Error Handling FrameworkMule Common Logging & Error Handling Framework
Mule Common Logging & Error Handling Framework
 
Einstein Analytics for Developers
Einstein Analytics for DevelopersEinstein Analytics for Developers
Einstein Analytics for Developers
 
Introducing the Salesforce platform
Introducing the Salesforce platformIntroducing the Salesforce platform
Introducing the Salesforce platform
 
Salesforce Tableau CRM - Quick Overview
Salesforce Tableau CRM - Quick OverviewSalesforce Tableau CRM - Quick Overview
Salesforce Tableau CRM - Quick Overview
 
Secure Salesforce: External App Integrations
Secure Salesforce: External App IntegrationsSecure Salesforce: External App Integrations
Secure Salesforce: External App Integrations
 
Frequently asked MuleSoft Interview Questions and Answers from Techlightning
Frequently asked MuleSoft Interview Questions and Answers from TechlightningFrequently asked MuleSoft Interview Questions and Answers from Techlightning
Frequently asked MuleSoft Interview Questions and Answers from Techlightning
 
WCF
WCFWCF
WCF
 
Salesforce
SalesforceSalesforce
Salesforce
 

Similar to Power of Transformation with DataWeave 2.X Engine

MuleSoft Meetup 3 Charlotte Presentation Slides
MuleSoft Meetup 3 Charlotte Presentation SlidesMuleSoft Meetup 3 Charlotte Presentation Slides
MuleSoft Meetup 3 Charlotte Presentation Slides
Subhash Patel
 
Manila MuleSoft Meetup - September 2018
Manila MuleSoft Meetup - September 2018Manila MuleSoft Meetup - September 2018
Manila MuleSoft Meetup - September 2018
Ryan Anthony Andal
 
Mule soft meetup_charlotte_4__draft_v2.0
Mule soft meetup_charlotte_4__draft_v2.0Mule soft meetup_charlotte_4__draft_v2.0
Mule soft meetup_charlotte_4__draft_v2.0
Subhash Patel
 
MuleSoft Meetup Mumbai Mule 4 Presentation Slide
MuleSoft Meetup Mumbai Mule 4 Presentation SlideMuleSoft Meetup Mumbai Mule 4 Presentation Slide
MuleSoft Meetup Mumbai Mule 4 Presentation Slide
Manish Kumar Yadav
 
MuleSoft Meetup Warsaw Group #1
MuleSoft  Meetup Warsaw Group #1MuleSoft  Meetup Warsaw Group #1
MuleSoft Meetup Warsaw Group #1
Patryk Bandurski
 
Perth MuleSoft Meetup Feb 2019
Perth MuleSoft Meetup Feb 2019Perth MuleSoft Meetup Feb 2019
Perth MuleSoft Meetup Feb 2019
Zubair Aslam
 
MuleSoft Surat Virtual Meetup#28 - Exposing and Consuming SOAP Service - SOAP...
MuleSoft Surat Virtual Meetup#28 - Exposing and Consuming SOAP Service - SOAP...MuleSoft Surat Virtual Meetup#28 - Exposing and Consuming SOAP Service - SOAP...
MuleSoft Surat Virtual Meetup#28 - Exposing and Consuming SOAP Service - SOAP...
Jitendra Bafna
 
Ahmedabad MuleSoft Meetup #4
Ahmedabad MuleSoft Meetup #4Ahmedabad MuleSoft Meetup #4
Ahmedabad MuleSoft Meetup #4
Tejas Purohit
 
MuleSoft Surat Virtual Meetup#27 - MuleSoft Runtime 4.4, Transit Gateway and ...
MuleSoft Surat Virtual Meetup#27 - MuleSoft Runtime 4.4, Transit Gateway and ...MuleSoft Surat Virtual Meetup#27 - MuleSoft Runtime 4.4, Transit Gateway and ...
MuleSoft Surat Virtual Meetup#27 - MuleSoft Runtime 4.4, Transit Gateway and ...
Jitendra Bafna
 
MuleSoft Manchester Meetup #3 slides 31st March 2020
MuleSoft Manchester Meetup #3 slides 31st March 2020MuleSoft Manchester Meetup #3 slides 31st March 2020
MuleSoft Manchester Meetup #3 slides 31st March 2020
Ieva Navickaite
 
West Yorkshire Mulesoft Meetup #6
West Yorkshire Mulesoft Meetup #6West Yorkshire Mulesoft Meetup #6
West Yorkshire Mulesoft Meetup #6
Francis Edwards
 
Mule soft meetup warsaw november 13th, 2019
Mule soft meetup   warsaw november 13th, 2019Mule soft meetup   warsaw november 13th, 2019
Mule soft meetup warsaw november 13th, 2019
Patryk Bandurski
 
Pune Mule Meetups July 2019
Pune Mule Meetups July 2019Pune Mule Meetups July 2019
Pune Mule Meetups July 2019
Santosh Ojha
 
Meetup hyderabad mule-4.x
Meetup hyderabad mule-4.xMeetup hyderabad mule-4.x
Meetup hyderabad mule-4.x
Santosh Ojha
 
MuleSoft Meetup Charlotte 2 - 2019
MuleSoft Meetup Charlotte 2 - 2019MuleSoft Meetup Charlotte 2 - 2019
MuleSoft Meetup Charlotte 2 - 2019
Subhash Patel
 
Toronto MuleSoft Meetup: Virtual Meetup #2
Toronto MuleSoft Meetup: Virtual Meetup #2Toronto MuleSoft Meetup: Virtual Meetup #2
Toronto MuleSoft Meetup: Virtual Meetup #2
Alexandra N. Martinez
 
Ahmedabad MuleSoft 3rd Meetup
Ahmedabad MuleSoft 3rd Meetup Ahmedabad MuleSoft 3rd Meetup
Ahmedabad MuleSoft 3rd Meetup
Rajesh Maheshwari
 
Big Data Day LA 2015 - Brainwashed: Building an IDE for Feature Engineering b...
Big Data Day LA 2015 - Brainwashed: Building an IDE for Feature Engineering b...Big Data Day LA 2015 - Brainwashed: Building an IDE for Feature Engineering b...
Big Data Day LA 2015 - Brainwashed: Building an IDE for Feature Engineering b...
Data Con LA
 
Mulesoft meetup 9thmay Thiruvananthapuram
Mulesoft meetup 9thmay ThiruvananthapuramMulesoft meetup 9thmay Thiruvananthapuram
Mulesoft meetup 9thmay Thiruvananthapuram
Anurag Dwivedi
 
WHISHWORKS-MuleSoft Hyderabad Meetup -April 2019
WHISHWORKS-MuleSoft Hyderabad Meetup -April 2019WHISHWORKS-MuleSoft Hyderabad Meetup -April 2019
WHISHWORKS-MuleSoft Hyderabad Meetup -April 2019
Coforge (Erstwhile WHISHWORKS)
 

Similar to Power of Transformation with DataWeave 2.X Engine (20)

MuleSoft Meetup 3 Charlotte Presentation Slides
MuleSoft Meetup 3 Charlotte Presentation SlidesMuleSoft Meetup 3 Charlotte Presentation Slides
MuleSoft Meetup 3 Charlotte Presentation Slides
 
Manila MuleSoft Meetup - September 2018
Manila MuleSoft Meetup - September 2018Manila MuleSoft Meetup - September 2018
Manila MuleSoft Meetup - September 2018
 
Mule soft meetup_charlotte_4__draft_v2.0
Mule soft meetup_charlotte_4__draft_v2.0Mule soft meetup_charlotte_4__draft_v2.0
Mule soft meetup_charlotte_4__draft_v2.0
 
MuleSoft Meetup Mumbai Mule 4 Presentation Slide
MuleSoft Meetup Mumbai Mule 4 Presentation SlideMuleSoft Meetup Mumbai Mule 4 Presentation Slide
MuleSoft Meetup Mumbai Mule 4 Presentation Slide
 
MuleSoft Meetup Warsaw Group #1
MuleSoft  Meetup Warsaw Group #1MuleSoft  Meetup Warsaw Group #1
MuleSoft Meetup Warsaw Group #1
 
Perth MuleSoft Meetup Feb 2019
Perth MuleSoft Meetup Feb 2019Perth MuleSoft Meetup Feb 2019
Perth MuleSoft Meetup Feb 2019
 
MuleSoft Surat Virtual Meetup#28 - Exposing and Consuming SOAP Service - SOAP...
MuleSoft Surat Virtual Meetup#28 - Exposing and Consuming SOAP Service - SOAP...MuleSoft Surat Virtual Meetup#28 - Exposing and Consuming SOAP Service - SOAP...
MuleSoft Surat Virtual Meetup#28 - Exposing and Consuming SOAP Service - SOAP...
 
Ahmedabad MuleSoft Meetup #4
Ahmedabad MuleSoft Meetup #4Ahmedabad MuleSoft Meetup #4
Ahmedabad MuleSoft Meetup #4
 
MuleSoft Surat Virtual Meetup#27 - MuleSoft Runtime 4.4, Transit Gateway and ...
MuleSoft Surat Virtual Meetup#27 - MuleSoft Runtime 4.4, Transit Gateway and ...MuleSoft Surat Virtual Meetup#27 - MuleSoft Runtime 4.4, Transit Gateway and ...
MuleSoft Surat Virtual Meetup#27 - MuleSoft Runtime 4.4, Transit Gateway and ...
 
MuleSoft Manchester Meetup #3 slides 31st March 2020
MuleSoft Manchester Meetup #3 slides 31st March 2020MuleSoft Manchester Meetup #3 slides 31st March 2020
MuleSoft Manchester Meetup #3 slides 31st March 2020
 
West Yorkshire Mulesoft Meetup #6
West Yorkshire Mulesoft Meetup #6West Yorkshire Mulesoft Meetup #6
West Yorkshire Mulesoft Meetup #6
 
Mule soft meetup warsaw november 13th, 2019
Mule soft meetup   warsaw november 13th, 2019Mule soft meetup   warsaw november 13th, 2019
Mule soft meetup warsaw november 13th, 2019
 
Pune Mule Meetups July 2019
Pune Mule Meetups July 2019Pune Mule Meetups July 2019
Pune Mule Meetups July 2019
 
Meetup hyderabad mule-4.x
Meetup hyderabad mule-4.xMeetup hyderabad mule-4.x
Meetup hyderabad mule-4.x
 
MuleSoft Meetup Charlotte 2 - 2019
MuleSoft Meetup Charlotte 2 - 2019MuleSoft Meetup Charlotte 2 - 2019
MuleSoft Meetup Charlotte 2 - 2019
 
Toronto MuleSoft Meetup: Virtual Meetup #2
Toronto MuleSoft Meetup: Virtual Meetup #2Toronto MuleSoft Meetup: Virtual Meetup #2
Toronto MuleSoft Meetup: Virtual Meetup #2
 
Ahmedabad MuleSoft 3rd Meetup
Ahmedabad MuleSoft 3rd Meetup Ahmedabad MuleSoft 3rd Meetup
Ahmedabad MuleSoft 3rd Meetup
 
Big Data Day LA 2015 - Brainwashed: Building an IDE for Feature Engineering b...
Big Data Day LA 2015 - Brainwashed: Building an IDE for Feature Engineering b...Big Data Day LA 2015 - Brainwashed: Building an IDE for Feature Engineering b...
Big Data Day LA 2015 - Brainwashed: Building an IDE for Feature Engineering b...
 
Mulesoft meetup 9thmay Thiruvananthapuram
Mulesoft meetup 9thmay ThiruvananthapuramMulesoft meetup 9thmay Thiruvananthapuram
Mulesoft meetup 9thmay Thiruvananthapuram
 
WHISHWORKS-MuleSoft Hyderabad Meetup -April 2019
WHISHWORKS-MuleSoft Hyderabad Meetup -April 2019WHISHWORKS-MuleSoft Hyderabad Meetup -April 2019
WHISHWORKS-MuleSoft Hyderabad Meetup -April 2019
 

More from Manish Kumar Yadav

Building Custom Connectors Using XML SDK in Mule 4
Building Custom Connectors Using XML SDK in Mule 4Building Custom Connectors Using XML SDK in Mule 4
Building Custom Connectors Using XML SDK in Mule 4
Manish Kumar Yadav
 
Solace PubSub+ MuleSoft Connector for Mule 4
Solace PubSub+ MuleSoft Connector for Mule 4Solace PubSub+ MuleSoft Connector for Mule 4
Solace PubSub+ MuleSoft Connector for Mule 4
Manish Kumar Yadav
 
Creating MuleSoft API Template Project Using Maven Archetype
Creating MuleSoft API Template Project Using Maven ArchetypeCreating MuleSoft API Template Project Using Maven Archetype
Creating MuleSoft API Template Project Using Maven Archetype
Manish Kumar Yadav
 
MuleSoft Meetup slides_kualalumpur_19thSept_Undisturbed REST: Achieving Undis...
MuleSoft Meetup slides_kualalumpur_19thSept_Undisturbed REST: Achieving Undis...MuleSoft Meetup slides_kualalumpur_19thSept_Undisturbed REST: Achieving Undis...
MuleSoft Meetup slides_kualalumpur_19thSept_Undisturbed REST: Achieving Undis...
Manish Kumar Yadav
 
MuleSoft Integration with AWS Cognito Client Credentials and Mule JWT Validat...
MuleSoft Integration with AWS Cognito Client Credentials and Mule JWT Validat...MuleSoft Integration with AWS Cognito Client Credentials and Mule JWT Validat...
MuleSoft Integration with AWS Cognito Client Credentials and Mule JWT Validat...
Manish Kumar Yadav
 
MuleSoft Clustring, Okta, CI/CD Integration with Jenkins
MuleSoft Clustring, Okta, CI/CD Integration with JenkinsMuleSoft Clustring, Okta, CI/CD Integration with Jenkins
MuleSoft Clustring, Okta, CI/CD Integration with Jenkins
Manish Kumar Yadav
 
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 ...
Manish Kumar Yadav
 
Clustering, Server setup and Hybrid deployment setup using Anypoint Runtime M...
Clustering, Server setup and Hybrid deployment setup using Anypoint Runtime M...Clustering, Server setup and Hybrid deployment setup using Anypoint Runtime M...
Clustering, Server setup and Hybrid deployment setup using Anypoint Runtime M...
Manish Kumar Yadav
 

More from Manish Kumar Yadav (8)

Building Custom Connectors Using XML SDK in Mule 4
Building Custom Connectors Using XML SDK in Mule 4Building Custom Connectors Using XML SDK in Mule 4
Building Custom Connectors Using XML SDK in Mule 4
 
Solace PubSub+ MuleSoft Connector for Mule 4
Solace PubSub+ MuleSoft Connector for Mule 4Solace PubSub+ MuleSoft Connector for Mule 4
Solace PubSub+ MuleSoft Connector for Mule 4
 
Creating MuleSoft API Template Project Using Maven Archetype
Creating MuleSoft API Template Project Using Maven ArchetypeCreating MuleSoft API Template Project Using Maven Archetype
Creating MuleSoft API Template Project Using Maven Archetype
 
MuleSoft Meetup slides_kualalumpur_19thSept_Undisturbed REST: Achieving Undis...
MuleSoft Meetup slides_kualalumpur_19thSept_Undisturbed REST: Achieving Undis...MuleSoft Meetup slides_kualalumpur_19thSept_Undisturbed REST: Achieving Undis...
MuleSoft Meetup slides_kualalumpur_19thSept_Undisturbed REST: Achieving Undis...
 
MuleSoft Integration with AWS Cognito Client Credentials and Mule JWT Validat...
MuleSoft Integration with AWS Cognito Client Credentials and Mule JWT Validat...MuleSoft Integration with AWS Cognito Client Credentials and Mule JWT Validat...
MuleSoft Integration with AWS Cognito Client Credentials and Mule JWT Validat...
 
MuleSoft Clustring, Okta, CI/CD Integration with Jenkins
MuleSoft Clustring, Okta, CI/CD Integration with JenkinsMuleSoft Clustring, Okta, CI/CD Integration with Jenkins
MuleSoft Clustring, Okta, CI/CD Integration with Jenkins
 
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 ...
 
Clustering, Server setup and Hybrid deployment setup using Anypoint Runtime M...
Clustering, Server setup and Hybrid deployment setup using Anypoint Runtime M...Clustering, Server setup and Hybrid deployment setup using Anypoint Runtime M...
Clustering, Server setup and Hybrid deployment setup using Anypoint Runtime M...
 

Recently uploaded

Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Ramesh Iyer
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance
 
Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
Ana-Maria Mihalceanu
 
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfObservability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Paige Cruz
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
Sri Ambati
 
Accelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish CachingAccelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish Caching
Thijs Feryn
 
Quantum Computing: Current Landscape and the Future Role of APIs
Quantum Computing: Current Landscape and the Future Role of APIsQuantum Computing: Current Landscape and the Future Role of APIs
Quantum Computing: Current Landscape and the Future Role of APIs
Vlad Stirbu
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
Prayukth K V
 
When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...
Elena Simperl
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Thierry Lestable
 
Welocme to ViralQR, your best QR code generator.
Welocme to ViralQR, your best QR code generator.Welocme to ViralQR, your best QR code generator.
Welocme to ViralQR, your best QR code generator.
ViralQR
 
Assuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyesAssuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyes
ThousandEyes
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
DianaGray10
 
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Product School
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
91mobiles
 
Leading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdfLeading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdf
OnBoard
 
UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3
DianaGray10
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
KatiaHIMEUR1
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance
 

Recently uploaded (20)

Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
 
Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
 
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfObservability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
 
Accelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish CachingAccelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish Caching
 
Quantum Computing: Current Landscape and the Future Role of APIs
Quantum Computing: Current Landscape and the Future Role of APIsQuantum Computing: Current Landscape and the Future Role of APIs
Quantum Computing: Current Landscape and the Future Role of APIs
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
 
When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
 
Welocme to ViralQR, your best QR code generator.
Welocme to ViralQR, your best QR code generator.Welocme to ViralQR, your best QR code generator.
Welocme to ViralQR, your best QR code generator.
 
Assuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyesAssuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyes
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
 
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
 
Leading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdfLeading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdf
 
UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
 

Power of Transformation with DataWeave 2.X Engine

  • 1. 21st September,2019: The Power of Transformation with Dataweave Engine 2.0 & MuleSoft Catalyst Mumbai - India
  • 2. All contents © MuleSoft Inc. Agenda 2 2:00 PM Introduction 2:30 PM Technical Session – DataWeave 2.0 3:30 PM Technical Session – DataWeave 2.0 4:30 PM Networking & Break: Tea, Coffee and Snack 5:00 PM Technical Sessions – MuleSoft Catalyst 5:30 PM Wrap-up and Plan For Next Meetup
  • 3. All contents © MuleSoft Inc. Introductions 3 • About the organizer: – Sudeshna Mitra – Manish Yadav – Akshata Sawant – Ranveer Meel • About the sponsor: – ACCENTURE & APISERO A SHOW OF HANDS: Who is new to this MeetUp?
  • 4. All contents © MuleSoft Inc. Speakers 4
  • 5. All contents © MuleSoft Inc. Surprises! 5 • Thanks for your positive enthusiasm …You earned it .. • Certification Vouchers for all! • Be geared up for the quiz sessions at the end of each modules! 
  • 6. All contents © MuleSoft Inc. Agenda 6  DataWeave 2.0 – Introduction – Quick Walkthrough – Language – Map, Filter and Reduce  MuleSoft Catalyst
  • 8. All contents © MuleSoft Inc. Introduction 8 • DataWeave 2.0 for Mule 4 apps • Mulesoft Expression Language for – Accessing Data – Transforming Data • Entirely replaces everything that MEL does • No cryptic transformation file (.grf from data mapper) • Powerful template engine • Can transform the data to and from any kind of data – JSON – XML – POJO – CSV MEL
  • 10. All contents © MuleSoft Inc. Transform Component 10
  • 11. All contents © MuleSoft Inc. Metadata & Sample Data 11
  • 12. All contents © MuleSoft Inc. Targets 12
  • 13. All contents © MuleSoft Inc. XML Snippet 13
  • 14. All contents © MuleSoft Inc. DWL file vs Inline DWL 14 • DWL File referenced through: – Transform Message Component, Example: see previous slide – Mule app expression <when expression="${file::someFile.dwl}" > • Inline DWL: – Transform Message Component, Example: see previous slide – Mule app expression <set-payload value="#[output application/xml --- { myroot: payload } ]" /> <salesforce:parameters ><![CDATA[#[output application/java --- {"territory" : "MULE"} ]]]></salesforce:parameters>
  • 16. All contents © MuleSoft Inc. DWL Types 16 • Array (dw::Core) – An Array can hold elements of any supported type • Object (dw::Core) – Represents an object as a collection of Key-Value pairs • Boolean (dw::Core) – true/false • String (dw::Core) – Defined by use of single or double quotes • Number (dw::Core) – 1 type that supports both: floating numbers and integers • Date And Time (dw::Core) – Native data types: Date, DateTime, LocalDateTime, LocalTime, Period, Time, TimeZone
  • 17. All contents © MuleSoft Inc. DWL Types - Examples 17
  • 18. All contents © MuleSoft Inc. DWL Types – Continued 18 • CData (dw::Core) • Enum (dw::Core) • Iterator (dw::Core) • Regex (dw::Core) • TryResult (dw::Runtime) • URI (dw::Core::URL)
  • 19. All contents © MuleSoft Inc. DWL Structure 19 • Header – Defines directive that apply to the body – Optional – If present, header and body are separated by three dashes --- • Body – Template expression to generate the output – Mandatory
  • 20. All contents © MuleSoft Inc. DWL Header – dw and output 20 • %dw – DataWeave version – Optional with default 2.0 – Example: %dw 2.0 • output – Mime type that uses script output – Optional with default determined by an algorithm (based on inputs used in the body script) – Example: output application/json – Most common values: application/xml, application/java, application/csv, text/plain, application/flatfile etc..
  • 21. All contents © MuleSoft Inc. DWL Header - fun 21 • fun – Defines function – Alternate to variable with lambda expression
  • 22. All contents © MuleSoft Inc. DWL Header - var 22 • var – Defines global variables – Possible forms: (a) Constant (b) Lambda expression (function) – Usage of using – Local vs global variables – Usage of single line comment – Usage of multi line comment
  • 23. All contents © MuleSoft Inc. DWL Header - type 23 • type – Specify a custom type that can be used in the expression
  • 24. All contents © MuleSoft Inc. DWL Header - ns 24 • ns – Import a namespace – To deal with application/xml
  • 25. All contents © MuleSoft Inc. DWL Header - import 25 • import – Importing a function module – Automatic import of dw::Core – 3 ways to import – Accessing Java Method – Custom Modules and mapping
  • 26. All contents © MuleSoft Inc. DWL Body 26 • Contains the expression which generates the output structure • Provides a canonical way to generate output
  • 27. All contents © MuleSoft Inc. DataWeave Errors 27 • Formatting vs Coding error 1. Check the errors
  • 28. All contents © MuleSoft Inc. DataWeave Errors - Continued 28 2. Change the output format to application/dw If this generates proper output, then earlier error was – Formatting error If this gives error, then earlier error was – Coding error
  • 29. All contents © MuleSoft Inc. DataWeave Errors - Continued 29 3. Evaluate specific Formatting error and fix this XML Root Element missing error
  • 30. All contents © MuleSoft Inc. DataWeave Selectors 30 Selector Type Syntax Return Type Single Value .key Value that matches the key Multi Value .*key Array of values that matches the key Descendants ..key Array of values that matches any descendant key Index [<index>] Value at selected array index Range [<index> to <index>] Array with values from selected indices Filter [? (Boolean expression)] Array with values for which expression returns true
  • 31. All contents © MuleSoft Inc. DataWeave Selectors - Continued 31 Selector Type Syntax Return Type XML Attribute .@attribute? String value of the selected attribute Is Key Present • .key? • .@attribute? Boolean • True if key present in object • True if attribute present on xml element Namespace .key.# Namespace of the selected key
  • 32. All contents © MuleSoft Inc. DataWeave Selectors - Example 32
  • 33. All contents © MuleSoft Inc. DataWeave Selectors – Example Output 33
  • 34. All contents © MuleSoft Inc. DataWeave Implicit Variables 34 Variable Description Fields and Examples server Operating System on which the Mule instance is running • env • fileSeparator • userHome • ip mule Mule instance on which the application is currently running • clusterId • nodeId • version app Mule application in context • name • registry • workDir
  • 35. All contents © MuleSoft Inc. DataWeave Implicit Variables - Continued 35 Variable Description Fields and Examples error Error associated with a Mule Message Object • description • detailedDescription • cause • errorType • errorMessage authentication Access to auth information • principal • credentials • Properties correlationId Correlation Id of the message being processed • None • Example: 0-f77404d0-e699-11e7-a217-38c9864c2f8f
  • 36. All contents © MuleSoft Inc. DataWeave Implicit Variables - Continued 36 Variable Description Fields and Examples message Mule Message (Payload and Attributes) being processed • payload • attributes payload Body of the current Mule Message Object • Depends on the current payload • #[payload.key] attributes Metadata of the Mule Message Object • #[attributes.uriParams.foo] • #[attributes.queryParams.bar] vars Variables of the current Mule event being processed • #[vars.myVar]
  • 37. All contents © MuleSoft Inc. DataWeave - Writer/Reader properties 37 Format/ Type Parameter Type Default Description JSON/ XML Writer bufferSize Number 8192 Size of buffer writer deferred Boolean false Deferred Output duplicateKe yAsArray Boolean false JSON duplicate keys processing encoding String UTF-8 Output character encoding indent Boolean true Indent the output skipNullOn String No Skip JSON: arrays, objects XML: elements, attributes Both: everywhere
  • 38. All contents © MuleSoft Inc. DataWeave - Writer/Reader properties – Continued 38 Format /Type Parameter Type Default Description JSON/ Reader streaming Boolean false Used for streaming input XML/ Reader nullValueOn String blank If tag with empty or blank text should be read as Null Options: empty, none or blank CSV/ Writer lineSeparator String Line separator for writing CSV Example: rn header Boolean true Output header as first line? separator String , Character that separates records from another
  • 39. All contents © MuleSoft Inc. DataWeave - Flow Control 39 • do • if • if else • if else-if else
  • 40. All contents © MuleSoft Inc. DataWeave – Pattern Matching 40 • Literal
  • 41. All contents © MuleSoft Inc. DataWeave – Pattern Matching - Continued 41 • Expression
  • 42. All contents © MuleSoft Inc. DataWeave – Pattern Matching - Continued 42 • Data Type
  • 43. All contents © MuleSoft Inc. DataWeave – Pattern Matching - Continued 43 • Reg Ex – Capturing Group, Positive/ Negative Look Ahead/ Behind
  • 44. All contents © MuleSoft Inc. DataWeave – Mule Runtime Functions 44 • p • lookup • Utilize Mule namespace for versions > 4.1.4
  • 45. All contents © MuleSoft Inc. DataWeave – Custom Module and Mapping 45 • Custom Module • Custom Mapping • Local Alias
  • 46. All contents © MuleSoft Inc. DataWeave – Customization .. Continued 46
  • 47. All contents © MuleSoft Inc. DataWeave – Read, Write and ReadURL function 47 • ReadUrl – Not Cached
  • 48. All contents © MuleSoft Inc. DataWeave – Operators 48
  • 49. Map, Filter and Reduce DataWeave 2.0
  • 50. All contents © MuleSoft Inc. DataWeave – Map, Filter and Reduce 50 • Function that transform arrays • As input: an array, and a function – Higher order functions (a function taking another function as an argument, OR a function that returns another function) – The input function for map/filter/reduce define the implementation details of the transformation • Output: array (map/filter), any (reduce) • Declarative - implementation of iteration is hidden from the client • Transformations are non-destructive (they do not modify any input)
  • 51. All contents © MuleSoft Inc. Why do a talk on them? 51 • They form the core functionality that you’ll need for data transformations (removing records, modifying records, general purpose transformation tool) • A mastery of map/filter/reduce is essential to writing clear and efficient transformations • A lot of other functions that work on transforming arrays are just flavors of map/filter/reduce • Declarative - implementation of iteration is hidden from the client • Gives you a great base to build off of because you need to understand two key concepts: immutability, and higher-order functions
  • 52. All contents © MuleSoft Inc. Filter – Remove elements 52 • Input: An array and a predicate function (function that returns true or false) – Predicate function example: (n) -> (n == 2) • Output: a new array • Creates new output array, applying the predicate function to every element in the input array • If the predicate returns true, add the value to the output, if the predicate returns false, ignore it • The only thing filter can do is create new arrays that contain the same or less elements than the previous array. It cannot change the elements.
  • 53. All contents © MuleSoft Inc. Filter – Continued 53
  • 54. All contents © MuleSoft Inc. Filter – Examples 54 // Filter by content [1,2,3,4,5] filter (mod($, 2) == 0) // -> [2, 4] // Filter by index [2,4,6,8,10] filter ($$ == 4) // -> [10] // Filter by nested content (popular use case) var arr = [{“name”:”Josh”}, {“name”:”Patryk”}, {“name”:”Max The Mule”}] --- arr filter $.name == “Patryk” arr filter ((person, index) -> person.name == “Patryk”) // -> [{”name”:”Patryk”}]
  • 55. All contents © MuleSoft Inc. Map – Transform Elements 55 • Input: an array and a mapping function • Output: a new array • The mapping function describes how each element in the array will be modified before it is added to the output array • map can create a new array that is the result of a modification of each element in the input array. map cannot modify the number of elements returned in the resulting array
  • 56. All contents © MuleSoft Inc. Map – Continued 56
  • 57. All contents © MuleSoft Inc. Map – Examples 57 // Map using each element [1,2,3] map ($ + 1) // -> [2,3,4] // Map using index [1,2,3] map ({loc: $$, n: $}) // -> [{loc: 0, n: 1},{loc: 1, n: 2}, {loc: 2, n: 3}] // lambda expression [1,2,3] map ((value,index) -> {loc: index, n: value}) // -> [{loc: 0, n: 1},{loc: 1, n: 2}, {loc: 2, n: 3}] // Map nested values down to single-item array (great for list of IDs) [{id: 123}, {id: 456}, {id: 789}] map $.id // -> [123, 456, 789]
  • 58. All contents © MuleSoft Inc. Reduce 58 • Input: An array and an accumulator function • Output: a new Any (object, string, Boolean, null, array, etc.) we will call this the result • The accumulator function defines how each element in the input array will be folded into the result – The value returned from the accumulator function will be passed to the next iteration • Reduce is the most general-purpose of the three core functions • Can implement both map and filter in terms of reduce, so map and filter are just specialized reduce functions – Keep this in mind as you write your transformations. Don’t use reduce when a map or filter would work instead
  • 59. All contents © MuleSoft Inc. Reduce – Continued 59
  • 60. All contents © MuleSoft Inc. Reduce – Examples 60 // Classic example: Adding numbers [1,2,3] reduce ((n, acc) -> acc + n) // -> 6 // Classic example: Adding numbers, $$ = Accumulator, $ = value [1,2,3] reduce ($$ + $) // -> 6 // A simple joinBy functionality [“1”,”2”,”3”] reduce ((str, out) -> out ++ “, ” ++ str) // “1, 2, 3” // The same thing wrapped in a helpful function fun myJoinBy(arr, delim) = arr reduce ((str, out) -> out ++ delim ++ str)
  • 61. All contents © MuleSoft Inc. Reduce – Examples Continued .. 61 // Flattening an array into a object (common use case) var arr = [ {dev: "c6824476-b7e2-4e8a-9281-bdc40663bb93"}, {prod: "7f44b450-18ff-45fa-85f3-8ef5c82b4989"} ] --- arr reduce ((env, obj) -> obj ++ env) // -> { ”dev”: “c6824476-b7e2-4e8a-9281-bdc40663bb93”, // “prod”: “7f44b450-18ff-45fa-85f3-8ef5c82b4989” } // Same result arr reduce ($$ ++ $) // Same result {(arr)}
  • 62. All contents © MuleSoft Inc. Reduce – Examples Continued .. 62 // Make map/filter code more efficient. This loops twice [1,2,3,4,5] filter (mod($, 2) == 0) map ($ + 2) // -> [4,6] // This loops once and accomplishes the same job [1,2,3,4,5] reduce ((n, acc = []) -> if (mod(n, 2) == 0) // Filter replacement acc + (n + 2) // Map replacement else acc) // -> [4,6]
  • 63. All contents © MuleSoft Inc. Reduce – Examples Continued .. 63 // Implement map: fun myMap(arr, transformFn) = arr reduce ((e, acc=[]) -> acc + transformFn(e)) // Implement filter: fun myFilter(arr, predicateFn) = arr reduce ((e, acc=[]) -> if (predicateFn(e)) acc + e else acc)
  • 64. All contents © MuleSoft Inc. Wrapping map/filter/reduce 64 • Passing functions to functions is nice because of the flexibility, but it’s not always an ideal API because of that flexibility – Reader needs to understand map/filter/reduce, and then understand the workings of passed function • To make functions less flexible, but far more readable, you can do the following – Name the functionality that the passed-in function is providing – Wrap the map/filter/reduce code in a function – Name that function according to the name you came up w/ in step 1 – Make sure that parameters passes to your new function do not take in a lambda
  • 65. All contents © MuleSoft Inc. Example 65 // Let’s take a reduce example from earlier. We start with this: var arr = [{dev: ”123"}, {prod: ”456"}] --- arr reduce ((env, obj={}) -> obj ++ env) // -> {dev: “123”, prod: “456”} // we will name the function as below from highlighted functionlity fun flattenToObj(arr) = arr reduce (kvPair, obj={}) -> obj ++ kvPair) // this can be done with most functions fun removeOdds(arr) = arr filter ($ mod 2 == 0) • This is especially helpful if the functions are going to be reused (put them in a module!) • Might not be as helpful if not reused, but you will get a nice readability boost that comes from effective naming of your functions
  • 66. All contents © MuleSoft Inc. Moving Forward 66 • map/filter/reduce are a trio of higher-order functions that form the core of array transformations – Filter: Remove elements from the array – Map: Modify elements from the array – Reduce: Both of above, as well as transform array to any other type. Use it as a last option • Map and filter tend to be pretty easy to learn, reduce typically requires more practice to master • Master these functions first followed by – mapObject – pluck – groupBy, orderBy, distinct – remove, flatten, joinBy, splitBy, contains, sizeOf, is
  • 67. All contents © MuleSoft Inc. mapObject 67 • Input: An Object and a mapping function • Output: a new Object • Process both keys and values as a tuple • The mapping function describes how each key-value pair in the object will be modified before its added to the output object • mapObject can create a new Object that is the result of the modification of each tuple of the input object – mapObject can modify the property key / value – mapObject can remove certain property based on conditions – mapObject can add certain property based on conditions
  • 68. All contents © MuleSoft Inc. mapObject – Examples 68 // Modifying below person object for processing person mapObject { (($$) : "*****") if ('$$' startsWith "personal"), (($$) : $) if ('$$' startsWith "professional"), ("processed" : now()) if ($$$ == 0) } // With lambda it yields the same result person mapObject ((value,key,index) -> { ((key) : "*****") if (key startsWith "personal"), ((key) : value) if (key startsWith "professional"), ("processed" : now()) if (index == 0) }) // -> { "personal_name": "*****", "processed": "2019-09-20T16:15:15.343+05:30", "personal_lastName": "*****", "professional_experience": 9.9 }
  • 69. All contents © MuleSoft Inc. pluck 69 • Input: An Object and a mapping function • Output: a new Array • Process both keys and values as a tuple • The mapping function describes how each key-value pair in the object will be modified before its added to the output object • mapObject can create a new Array that is the result of the modification of each tuple of the input object – mapObject can modify the property key / value – mapObject can remove certain property based on conditions – mapObject can add certain property based on conditions • Same as mapObject except that this returns an Array instead of Object
  • 70. All contents © MuleSoft Inc. pluck – Examples 70 // Modifying below person object for processing person pluck $ // With lambda it yields the same result person pluck ((value,key,index) -> value) // -> [ "name", "last_name", 9.9 ]
  • 71. All contents © MuleSoft Inc. groupBy, orderBy, distinctBy Usage 71
  • 73. All contents © MuleSoft Inc. Introduction 73 As businesses conducting digital transformation, success requires more than implementing new technology; the right operating model, organizational structure, and approach to execution are also critical. To address this, Mulesoft developed MuleSoft Catalyst, a unique delivery methodology and set of packaged offerings, including customer success programs, training, best practices, assets, and accelerators, designed to help you achieve your business objectives.
  • 74. All contents © MuleSoft Inc. What does MuleSoft Catalyst deliver? 74 Rooted in Mulesoft’s work with over 1,600 global teams and refined over the past decade, MuleSoft Catalyst is based on three core pillars: • Business outcomes: Define KPIs with stakeholder alignment. • Organizational enablement: Ensure organizational readiness with Anypoint Platform. • Technology delivery: Enable team readiness to build APIs and integrations.
  • 75. All contents © MuleSoft Inc. Business Outcomes playbook 75
  • 76. All contents © MuleSoft Inc. Technology Delivery 76 .Technology delivery is broken down into two parts: • Anypoint Platform Playbook • Projects Playbook
  • 77. All contents © MuleSoft Inc. Anypoint Platform Playbook 77
  • 78. All contents © MuleSoft Inc. Projects Playbook 78
  • 79. All contents © MuleSoft Inc. Organization Enablement 79 Organization Enablement is broken down into three parts: • Center for Enablement Playbook • Internal Support Playbook • Training Playbook
  • 80. All contents © MuleSoft Inc. C4E Playbook 80
  • 81. All contents © MuleSoft Inc. Internal Support Playbook 81
  • 82. All contents © MuleSoft Inc. Training Playbook 82 • Train the initial teams • Develop the broader training plan • Launch Experiential Learning Opportunities • Train Additional Teams • Conduct Assessment
  • 83. All contents © MuleSoft Inc. Take a stand ! 83 • Nominate yourself for the next meetup speaker and suggest a topic as well.
  • 84. All contents © MuleSoft Inc. What’s next 84 • Share: – Tweet your pictures with the hashtag #MuleMeetup #MuleSoftMeetup – Invite your network to join: https://meetups.mulesoft.com/mumbai/ • Feedback: – Contact your organizers Manish Yadav, Sudeshna Mitra, Akshata Sawant and Ranveer Meel to suggest topics – Tweet your organizers at @SudeshnaMitra14, @Manish_Kyadav, @sawantakshata02 and @meel_Ranveer – Contact MuleSoft at meetup@mulesoft.com for ways to improve the program – Follow us on Instagram (mumbai_mulesoftofficialpage) – Your Feedback is Food for us • Our next meetup: – Date: TBD – Location: Mumbai – Topic: TBD
  • 86. See you next time Please send topic suggestions to the organizer