SlideShare a Scribd company logo
1
Unleash Powerful Data
Transforms in Apex
with DataWeave
Daniel Ballinger, Apex Product Manager
@FishOfPrey | dballinger@salesforce.com
Anand Subramanian, Apex Principal Engineer
@anand13s | a.subramanian@salesforce.com
Forward Looking Statements
This presentation contains forward-looking statements about, among other things, trend analyses and future events, future financial performance, anticipated growth, industry prospects,
environmental, social and governance goals, and the anticipated benefits of acquired companies. The achievement or success of the matters covered by such forward-looking statements
involves risks, uncertainties and assumptions. If any such risks or uncertainties materialize or if any of the assumptions prove incorrect, Salesforce’s results could differ materially from the results
expressed or implied by these forward-looking statements. The risks and uncertainties referred to above include those factors discussed in Salesforce’s reports filed from time to time with the
Securities and Exchange Commission, including, but not limited to: the impact of, and actions we may take in response to, the COVID-19 pandemic, related public health measures and
resulting economic downturn and market volatility; our ability to maintain security levels and service performance meeting the expectations of our customers, and the resources and costs
required to avoid unanticipated downtime and prevent, detect and remediate performance degradation and security breaches; the expenses associated with our data centers and third-party
infrastructure providers; our ability to secure additional data center capacity; our reliance on third-party hardware, software and platform providers; the effect of evolving domestic and foreign
government regulations, including those related to the provision of services on the Internet, those related to accessing the Internet, and those addressing data privacy, cross-border data
transfers and import and export controls; current and potential litigation involving us or our industry, including litigation involving acquired entities such as Tableau Software, Inc. and Slack
Technologies, Inc., and the resolution or settlement thereof; regulatory developments and regulatory investigations involving us or affecting our industry; our ability to successfully introduce
new services and product features, including any efforts to expand our services; the success of our strategy of acquiring or making investments in complementary businesses, joint ventures,
services, technologies and intellectual property rights; our ability to complete, on a timely basis or at all, announced transactions; our ability to realize the benefits from acquisitions, strategic
partnerships, joint ventures and investments, including our July 2021 acquisition of Slack Technologies, Inc., and successfully integrate acquired businesses and technologies; our ability to
compete in the markets in which we participate; the success of our business strategy and our plan to build our business, including our strategy to be a leading provider of enterprise cloud
computing applications and platforms; our ability to execute our business plans; our ability to continue to grow unearned revenue and remaining performance obligation; the pace of change
and innovation in enterprise cloud computing services; the seasonal nature of our sales cycles; our ability to limit customer attrition and costs related to those efforts; the success of our
international expansion strategy; the demands on our personnel and infrastructure resulting from significant growth in our customer base and operations, including as a result of acquisitions;
our ability to preserve our workplace culture, including as a result of our decisions regarding our current and future office environments or work-from-home policies; our dependency on the
development and maintenance of the infrastructure of the Internet; our real estate and office facilities strategy and related costs and uncertainties; fluctuations in, and our ability to predict, our
operating results and cash flows; the variability in our results arising from the accounting for term license revenue products; the performance and fair value of our investments in
complementary businesses through our strategic investment portfolio; the impact of future gains or losses from our strategic investment portfolio, including gains or losses from overall market
conditions that may affect the publicly traded companies within our strategic investment portfolio; our ability to protect our intellectual property rights; our ability to develop our brands; the
impact of foreign currency exchange rate and interest rate fluctuations on our results; the valuation of our deferred tax assets and the release of related valuation allowances; the potential
availability of additional tax assets in the future; the impact of new accounting pronouncements and tax laws; uncertainties affecting our ability to estimate our tax rate; uncertainties regarding
our tax obligations in connection with potential jurisdictional transfers of intellectual property, including the tax rate, the timing of the transfer and the value of such transferred intellectual
property; uncertainties regarding the effect of general economic and market conditions; the impact of geopolitical events; uncertainties regarding the impact of expensing stock options and
other equity awards; the sufficiency of our capital resources; our ability to comply with our debt covenants and lease obligations; and the impact of climate change, natural disasters and actual
or threatened public health emergencies, including the ongoing COVID-19 pandemic.
Anand Subramanian
Principal Engineer, Apex
a.subramanian@salesforce.com
@anand13s
Daniel Ballinger
Director of Product Management, Apex
dballinger@salesforce.com
@FishOfPrey
Challenges with Data
Transformation
Task: Ingest CSV data blob with Apex
first_name, last_name, … /n
Astro, Nomical, …
● csvString.split('/n');
● csvLine.split(',');
● RFC 4180
○ Double Quote delimiters
■ escaped - """"
Build a Finite State Machine!
What is DataWeave?
MuleSoft’s functional programming language for data
transformation.
1. Read and parse data from a given format
2. Transform it
3. Write it out as a target format
Read Transform Write
DataWeave Example
Payload: CSV
first_name,last_name,company,address
Abel,Maclead,"Rousseaux, Michael Esq","6649 N Blue Gum St,n
New Orleans"
Payload: CSV
first_name,last_name,
company,address
Abel,Maclead,"Rousseaux,
Michael Esq","6649 N Blue Gum
St,n
New Orleans"
DataWeave Example
DW Script
%dw 2.0
input payload application/csv
output application/json
---
payload
Output: JSON
[
{
"first_name": "Abel",
"last_name": "Maclead",
"company": "Rousseaux,
Michael Esq",
"address": "6649 N Blue Gum
St,nNew Orleans"
}
]
READ TRANSFORM WRITE
Demo
What does this look like in Apex?
Q: What do I need to
access this in Apex?
A: It will be available everywhere Apex is currently*
You don’t need to be a Mulesoft customer
* Winter ’23 Developer Preview
Sample Use Cases
RFC-compliant
CSV parsing and
writing
Turns out it's harder
than just
String.split(',')
Serializing Apex
Objects, but
with a custom
DateTime
format
In Apex today this
requires using a
custom
JSONGenerator, or
hand-crafting XML via
Document
Serialize/
Deserialize with
Apex Reserved
Words
DataWeave inputs
and outputs are
collections of Apex
primitives, reserved
words are allowed
Performant
Custom
Transformations
For example, serialize
an SObject, but
remove the
namespace from
field name keys, or
remove __c suffix
The anatomy of a DW script file
Working with Script Parameters
%dw 2.0 DataWeave Version
input payload application/json Input types
input attributes application/json
input exchangeRate application/json
output application/xml Output type
var conversionRate=13.15 Constants
fun toUpper(aString)=upper(aString) Functions
--- Header/Body delimiter
payload Script body for transforms
https://sfdc.co/dwlangfun
Demo
Deep Dive
Scope and Limitations
● Developer Preview in Winter ’23
○ Scratch Orgs only - with DataWeaveInApex feature
○ No Packaging support
● DW 2 Scripts are static via .dwl metadata files
● Environment interaction restricted
● Only built in modules are supported
● No Excel or Flat File format support
● Scripts contribute towards the Apex heap and CPU limits
● XML Entity Expansion isn’t supported
● Contact data
○ 2.32MB CSV file
○ 20,000 rows
Before and Aer
35%
Less Heap
Usage
35%
Less CPU
Usage
Apex Finite State Machine DataWeave in Apex
List<List<String>> List<Contact> with fields
Beyond the dev preview
● Beta Spring ’23
● application/apex for input and output
● Packaging support (isolated within namespace)
● Static DataWeave script references
DataWeave in Apex
Apex Roadmap
Coming Soon Longer Term
Winter ’23
● DataWeave in Apex Developer Preview
● User Mode Beta enhancements
● New Assert Methods
● Queueable depth behavior and reenquee timing
● ApexTypeImplementor to GA
● List Sorting via Comparator
● User Mode to GA
● Database.treeSave() Dev Preview
● Testing improvements
● User Mode + Permission Sets
● Generics
○ Database.queryWithBinds(soql, bindVariablesMap, accessLevel)
How do I get started today?
https://sfdc.co/DataWeaveInApex
● GitHub repo with setup instructions
and examples
● Link to Trailblazer Community Group
● Content of this presentation
Call to Action
Q&A
Join us for more sessions and demos!
Time Session / Demo Location
3:00-3:40 PM
What limits? Elastically scale using OSS with
Functions
Moscone West, Level 2
3:30 - 3:20 PM Python For Functions
Developer Theater, Moscone
West, Level 1
Until 4:15 PM Salesforce Functions Booth Platform Park
Until 4:15 PM Heroku Booth Platform Park
Until 4:15 PM Apex Booth Platform Park
Until 4:15 PM Scale Apps Fast Booth IT Lodge & Campground
Meet our speakers offstage
right after this session!
24
Thank
you

More Related Content

What's hot

Salesforce Overview For Beginners/Students
Salesforce Overview For Beginners/StudentsSalesforce Overview For Beginners/Students
Salesforce Overview For Beginners/Students
Sujesh Ramachandran
 
Architect day 20181128- Morning Sessions
Architect day 20181128- Morning SessionsArchitect day 20181128- Morning Sessions
Architect day 20181128- Morning Sessions
Salesforce - Sweden, Denmark, Norway
 
Introduction to Force.com Canvas Apps
Introduction to Force.com Canvas AppsIntroduction to Force.com Canvas Apps
Introduction to Force.com Canvas Apps
Salesforce Developers
 
Taking control of your queries with GraphQL, Alba Rivas
Taking control of your queries with GraphQL, Alba RivasTaking control of your queries with GraphQL, Alba Rivas
Taking control of your queries with GraphQL, Alba Rivas
CzechDreamin
 
Deep Dive into Apex Triggers
Deep Dive into Apex TriggersDeep Dive into Apex Triggers
Deep Dive into Apex Triggers
Salesforce Developers
 
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 lightning Web Component
Introduction to lightning Web ComponentIntroduction to lightning Web Component
Introduction to lightning Web Component
Mohith Shrivastava
 
Intro to Force.com Canvas: Running External Apps within the Salesforce UI Web...
Intro to Force.com Canvas: Running External Apps within the Salesforce UI Web...Intro to Force.com Canvas: Running External Apps within the Salesforce UI Web...
Intro to Force.com Canvas: Running External Apps within the Salesforce UI Web...
Salesforce Developers
 
Salesforce Service Cloud
Salesforce Service CloudSalesforce Service Cloud
Salesforce Service Cloud
sharad soni
 
Development Best Practices
Development Best PracticesDevelopment Best Practices
Development Best Practices
Salesforce Partners
 
Salesforce integration best practices columbus meetup
Salesforce integration best practices   columbus meetupSalesforce integration best practices   columbus meetup
Salesforce integration best practices columbus meetup
MuleSoft Meetup
 
How to Use Salesforce Platform Events to Help With Salesforce Limits
How to Use Salesforce Platform Events to Help With Salesforce LimitsHow to Use Salesforce Platform Events to Help With Salesforce Limits
How to Use Salesforce Platform Events to Help With Salesforce Limits
Roy Gilad
 
Lightning web components - Episode 1 - An Introduction
Lightning web components - Episode 1 - An IntroductionLightning web components - Episode 1 - An Introduction
Lightning web components - Episode 1 - An Introduction
Salesforce Developers
 
How to Setup Continuous Integration With Git, Jenkins, and Force.com
How to Setup Continuous Integration With Git, Jenkins, and Force.comHow to Setup Continuous Integration With Git, Jenkins, and Force.com
How to Setup Continuous Integration With Git, Jenkins, and Force.com
Salesforce Developers
 
Introduction to Apex for Developers
Introduction to Apex for DevelopersIntroduction to Apex for Developers
Introduction to Apex for Developers
Salesforce Developers
 
Org dependent salesforce packages
Org dependent salesforce packagesOrg dependent salesforce packages
Org dependent salesforce packages
Mohith Shrivastava
 
Managing the Role Hierarchy at Enterprise Scale
Managing the Role Hierarchy at Enterprise ScaleManaging the Role Hierarchy at Enterprise Scale
Managing the Role Hierarchy at Enterprise ScaleSalesforce Developers
 
First Steps to Salesforce Release Management & DevOps [Salesforce User Group,...
First Steps to Salesforce Release Management & DevOps [Salesforce User Group,...First Steps to Salesforce Release Management & DevOps [Salesforce User Group,...
First Steps to Salesforce Release Management & DevOps [Salesforce User Group,...
Anna Loughnan Colquhoun
 
Lwc presentation
Lwc presentationLwc presentation
Lwc presentation
Nithesh N
 

What's hot (20)

Salesforce Overview For Beginners/Students
Salesforce Overview For Beginners/StudentsSalesforce Overview For Beginners/Students
Salesforce Overview For Beginners/Students
 
Architect day 20181128- Morning Sessions
Architect day 20181128- Morning SessionsArchitect day 20181128- Morning Sessions
Architect day 20181128- Morning Sessions
 
Introduction to Force.com Canvas Apps
Introduction to Force.com Canvas AppsIntroduction to Force.com Canvas Apps
Introduction to Force.com Canvas Apps
 
Introduction to Apex Triggers
Introduction to Apex TriggersIntroduction to Apex Triggers
Introduction to Apex Triggers
 
Taking control of your queries with GraphQL, Alba Rivas
Taking control of your queries with GraphQL, Alba RivasTaking control of your queries with GraphQL, Alba Rivas
Taking control of your queries with GraphQL, Alba Rivas
 
Deep Dive into Apex Triggers
Deep Dive into Apex TriggersDeep Dive into Apex Triggers
Deep Dive into Apex Triggers
 
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 lightning Web Component
Introduction to lightning Web ComponentIntroduction to lightning Web Component
Introduction to lightning Web Component
 
Intro to Force.com Canvas: Running External Apps within the Salesforce UI Web...
Intro to Force.com Canvas: Running External Apps within the Salesforce UI Web...Intro to Force.com Canvas: Running External Apps within the Salesforce UI Web...
Intro to Force.com Canvas: Running External Apps within the Salesforce UI Web...
 
Salesforce Service Cloud
Salesforce Service CloudSalesforce Service Cloud
Salesforce Service Cloud
 
Development Best Practices
Development Best PracticesDevelopment Best Practices
Development Best Practices
 
Salesforce integration best practices columbus meetup
Salesforce integration best practices   columbus meetupSalesforce integration best practices   columbus meetup
Salesforce integration best practices columbus meetup
 
How to Use Salesforce Platform Events to Help With Salesforce Limits
How to Use Salesforce Platform Events to Help With Salesforce LimitsHow to Use Salesforce Platform Events to Help With Salesforce Limits
How to Use Salesforce Platform Events to Help With Salesforce Limits
 
Lightning web components - Episode 1 - An Introduction
Lightning web components - Episode 1 - An IntroductionLightning web components - Episode 1 - An Introduction
Lightning web components - Episode 1 - An Introduction
 
How to Setup Continuous Integration With Git, Jenkins, and Force.com
How to Setup Continuous Integration With Git, Jenkins, and Force.comHow to Setup Continuous Integration With Git, Jenkins, and Force.com
How to Setup Continuous Integration With Git, Jenkins, and Force.com
 
Introduction to Apex for Developers
Introduction to Apex for DevelopersIntroduction to Apex for Developers
Introduction to Apex for Developers
 
Org dependent salesforce packages
Org dependent salesforce packagesOrg dependent salesforce packages
Org dependent salesforce packages
 
Managing the Role Hierarchy at Enterprise Scale
Managing the Role Hierarchy at Enterprise ScaleManaging the Role Hierarchy at Enterprise Scale
Managing the Role Hierarchy at Enterprise Scale
 
First Steps to Salesforce Release Management & DevOps [Salesforce User Group,...
First Steps to Salesforce Release Management & DevOps [Salesforce User Group,...First Steps to Salesforce Release Management & DevOps [Salesforce User Group,...
First Steps to Salesforce Release Management & DevOps [Salesforce User Group,...
 
Lwc presentation
Lwc presentationLwc presentation
Lwc presentation
 

Similar to Dreamforce 22 Unleash Powerful Data Transforms in Apex with DataWeave

Next Generation Application Development, Alex Edelstein
Next Generation Application Development, Alex EdelsteinNext Generation Application Development, Alex Edelstein
Next Generation Application Development, Alex Edelstein
CzechDreamin
 
Fort Worth Community - Record Triggered Automations.pdf
Fort Worth Community - Record Triggered Automations.pdfFort Worth Community - Record Triggered Automations.pdf
Fort Worth Community - Record Triggered Automations.pdf
AmeyKulkarni84
 
Toronto Developer Group - Winter 24' Release Highlights.pptx
Toronto Developer Group - Winter 24' Release Highlights.pptxToronto Developer Group - Winter 24' Release Highlights.pptx
Toronto Developer Group - Winter 24' Release Highlights.pptx
Karanraj Sankaranarayanan
 
Denver MuleSoft Meetup: TDX Talk - Automatically Secure and Manage any API at...
Denver MuleSoft Meetup: TDX Talk - Automatically Secure and Manage any API at...Denver MuleSoft Meetup: TDX Talk - Automatically Secure and Manage any API at...
Denver MuleSoft Meetup: TDX Talk - Automatically Secure and Manage any API at...
Big Compass
 
Go with the Flow - Jarrod Kingston
Go with the Flow - Jarrod KingstonGo with the Flow - Jarrod Kingston
Go with the Flow - Jarrod Kingston
Jarrod Kingston
 
Salesforce Architect Group, Frederick, United States February 2023 - Inaugura...
Salesforce Architect Group, Frederick, United States February 2023 - Inaugura...Salesforce Architect Group, Frederick, United States February 2023 - Inaugura...
Salesforce Architect Group, Frederick, United States February 2023 - Inaugura...
NadinaLisbon1
 
May 2024 - Frederick Architect Group AI + Data Community Tour.pdf
May 2024 - Frederick Architect Group AI + Data Community Tour.pdfMay 2024 - Frederick Architect Group AI + Data Community Tour.pdf
May 2024 - Frederick Architect Group AI + Data Community Tour.pdf
NadinaLisbon1
 
Wellington Salesforce User Group - Summer 22 Release
Wellington Salesforce User Group - Summer 22 ReleaseWellington Salesforce User Group - Summer 22 Release
Wellington Salesforce User Group - Summer 22 Release
Anna Loughnan Colquhoun
 
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotesMuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
Manik S Magar
 
SFWelly user group spring '22 release highlights with Mel Macdonald
SFWelly user group spring '22 release highlights with Mel MacdonaldSFWelly user group spring '22 release highlights with Mel Macdonald
SFWelly user group spring '22 release highlights with Mel Macdonald
Anna Loughnan Colquhoun
 
Elevate productivity_ Unveiling the power of new Slack innovations.pdf
Elevate productivity_ Unveiling the power of new Slack innovations.pdfElevate productivity_ Unveiling the power of new Slack innovations.pdf
Elevate productivity_ Unveiling the power of new Slack innovations.pdf
TCS
 
DC MuleSoft Meetup: TDX Talk: API Security The 3 Keys To Protect Your Digital...
DC MuleSoft Meetup: TDX Talk: API Security The 3 Keys To Protect Your Digital...DC MuleSoft Meetup: TDX Talk: API Security The 3 Keys To Protect Your Digital...
DC MuleSoft Meetup: TDX Talk: API Security The 3 Keys To Protect Your Digital...
Big Compass
 
MuleSoft Online Meetup Group - B2B Crash Course: PM Insider Lecture
MuleSoft Online Meetup Group - B2B Crash Course: PM Insider LectureMuleSoft Online Meetup Group - B2B Crash Course: PM Insider Lecture
MuleSoft Online Meetup Group - B2B Crash Course: PM Insider Lecture
Manik S Magar
 
Mulesoft RPA & The Last Mile Problem (Dreamforce 22 ) | MuleSoft Mysore Meetu...
Mulesoft RPA & The Last Mile Problem (Dreamforce 22 ) | MuleSoft Mysore Meetu...Mulesoft RPA & The Last Mile Problem (Dreamforce 22 ) | MuleSoft Mysore Meetu...
Mulesoft RPA & The Last Mile Problem (Dreamforce 22 ) | MuleSoft Mysore Meetu...
MysoreMuleSoftMeetup
 
Jax, FL Admin Group Presents: Winter '22 Release Highlights
Jax, FL Admin Group Presents: Winter '22 Release HighlightsJax, FL Admin Group Presents: Winter '22 Release Highlights
Jax, FL Admin Group Presents: Winter '22 Release Highlights
Marc Lester
 
RTC2023_Boost-App-Integration-with-AI_Kim.pdf
RTC2023_Boost-App-Integration-with-AI_Kim.pdfRTC2023_Boost-App-Integration-with-AI_Kim.pdf
RTC2023_Boost-App-Integration-with-AI_Kim.pdf
hossenkamal2
 
Architecting Integrations for Observability.pdf
Architecting Integrations for Observability.pdfArchitecting Integrations for Observability.pdf
Architecting Integrations for Observability.pdf
Manik S Magar
 
Winter '22 highlights
Winter '22 highlightsWinter '22 highlights
Winter '22 highlights
AtaullahKhan31
 
Women in Tech - Salesforce Debug Logs Deep Dive with Jess Lopez - March 2021
Women in Tech - Salesforce Debug Logs Deep Dive with Jess Lopez - March 2021Women in Tech - Salesforce Debug Logs Deep Dive with Jess Lopez - March 2021
Women in Tech - Salesforce Debug Logs Deep Dive with Jess Lopez - March 2021
Alesia Dvorkina
 
Salesforce Winter '23 Release Highlights.pptx
Salesforce Winter '23 Release Highlights.pptxSalesforce Winter '23 Release Highlights.pptx
Salesforce Winter '23 Release Highlights.pptx
Om Prakash
 

Similar to Dreamforce 22 Unleash Powerful Data Transforms in Apex with DataWeave (20)

Next Generation Application Development, Alex Edelstein
Next Generation Application Development, Alex EdelsteinNext Generation Application Development, Alex Edelstein
Next Generation Application Development, Alex Edelstein
 
Fort Worth Community - Record Triggered Automations.pdf
Fort Worth Community - Record Triggered Automations.pdfFort Worth Community - Record Triggered Automations.pdf
Fort Worth Community - Record Triggered Automations.pdf
 
Toronto Developer Group - Winter 24' Release Highlights.pptx
Toronto Developer Group - Winter 24' Release Highlights.pptxToronto Developer Group - Winter 24' Release Highlights.pptx
Toronto Developer Group - Winter 24' Release Highlights.pptx
 
Denver MuleSoft Meetup: TDX Talk - Automatically Secure and Manage any API at...
Denver MuleSoft Meetup: TDX Talk - Automatically Secure and Manage any API at...Denver MuleSoft Meetup: TDX Talk - Automatically Secure and Manage any API at...
Denver MuleSoft Meetup: TDX Talk - Automatically Secure and Manage any API at...
 
Go with the Flow - Jarrod Kingston
Go with the Flow - Jarrod KingstonGo with the Flow - Jarrod Kingston
Go with the Flow - Jarrod Kingston
 
Salesforce Architect Group, Frederick, United States February 2023 - Inaugura...
Salesforce Architect Group, Frederick, United States February 2023 - Inaugura...Salesforce Architect Group, Frederick, United States February 2023 - Inaugura...
Salesforce Architect Group, Frederick, United States February 2023 - Inaugura...
 
May 2024 - Frederick Architect Group AI + Data Community Tour.pdf
May 2024 - Frederick Architect Group AI + Data Community Tour.pdfMay 2024 - Frederick Architect Group AI + Data Community Tour.pdf
May 2024 - Frederick Architect Group AI + Data Community Tour.pdf
 
Wellington Salesforce User Group - Summer 22 Release
Wellington Salesforce User Group - Summer 22 ReleaseWellington Salesforce User Group - Summer 22 Release
Wellington Salesforce User Group - Summer 22 Release
 
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotesMuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
 
SFWelly user group spring '22 release highlights with Mel Macdonald
SFWelly user group spring '22 release highlights with Mel MacdonaldSFWelly user group spring '22 release highlights with Mel Macdonald
SFWelly user group spring '22 release highlights with Mel Macdonald
 
Elevate productivity_ Unveiling the power of new Slack innovations.pdf
Elevate productivity_ Unveiling the power of new Slack innovations.pdfElevate productivity_ Unveiling the power of new Slack innovations.pdf
Elevate productivity_ Unveiling the power of new Slack innovations.pdf
 
DC MuleSoft Meetup: TDX Talk: API Security The 3 Keys To Protect Your Digital...
DC MuleSoft Meetup: TDX Talk: API Security The 3 Keys To Protect Your Digital...DC MuleSoft Meetup: TDX Talk: API Security The 3 Keys To Protect Your Digital...
DC MuleSoft Meetup: TDX Talk: API Security The 3 Keys To Protect Your Digital...
 
MuleSoft Online Meetup Group - B2B Crash Course: PM Insider Lecture
MuleSoft Online Meetup Group - B2B Crash Course: PM Insider LectureMuleSoft Online Meetup Group - B2B Crash Course: PM Insider Lecture
MuleSoft Online Meetup Group - B2B Crash Course: PM Insider Lecture
 
Mulesoft RPA & The Last Mile Problem (Dreamforce 22 ) | MuleSoft Mysore Meetu...
Mulesoft RPA & The Last Mile Problem (Dreamforce 22 ) | MuleSoft Mysore Meetu...Mulesoft RPA & The Last Mile Problem (Dreamforce 22 ) | MuleSoft Mysore Meetu...
Mulesoft RPA & The Last Mile Problem (Dreamforce 22 ) | MuleSoft Mysore Meetu...
 
Jax, FL Admin Group Presents: Winter '22 Release Highlights
Jax, FL Admin Group Presents: Winter '22 Release HighlightsJax, FL Admin Group Presents: Winter '22 Release Highlights
Jax, FL Admin Group Presents: Winter '22 Release Highlights
 
RTC2023_Boost-App-Integration-with-AI_Kim.pdf
RTC2023_Boost-App-Integration-with-AI_Kim.pdfRTC2023_Boost-App-Integration-with-AI_Kim.pdf
RTC2023_Boost-App-Integration-with-AI_Kim.pdf
 
Architecting Integrations for Observability.pdf
Architecting Integrations for Observability.pdfArchitecting Integrations for Observability.pdf
Architecting Integrations for Observability.pdf
 
Winter '22 highlights
Winter '22 highlightsWinter '22 highlights
Winter '22 highlights
 
Women in Tech - Salesforce Debug Logs Deep Dive with Jess Lopez - March 2021
Women in Tech - Salesforce Debug Logs Deep Dive with Jess Lopez - March 2021Women in Tech - Salesforce Debug Logs Deep Dive with Jess Lopez - March 2021
Women in Tech - Salesforce Debug Logs Deep Dive with Jess Lopez - March 2021
 
Salesforce Winter '23 Release Highlights.pptx
Salesforce Winter '23 Release Highlights.pptxSalesforce Winter '23 Release Highlights.pptx
Salesforce Winter '23 Release Highlights.pptx
 

Recently uploaded

APNIC Foundation, presented by Ellisha Heppner at the PNG DNS Forum 2024
APNIC Foundation, presented by Ellisha Heppner at the PNG DNS Forum 2024APNIC Foundation, presented by Ellisha Heppner at the PNG DNS Forum 2024
APNIC Foundation, presented by Ellisha Heppner at the PNG DNS Forum 2024
APNIC
 
国外证书(Lincoln毕业证)新西兰林肯大学毕业证成绩单不能毕业办理
国外证书(Lincoln毕业证)新西兰林肯大学毕业证成绩单不能毕业办理国外证书(Lincoln毕业证)新西兰林肯大学毕业证成绩单不能毕业办理
国外证书(Lincoln毕业证)新西兰林肯大学毕业证成绩单不能毕业办理
zoowe
 
原版仿制(uob毕业证书)英国伯明翰大学毕业证本科学历证书原版一模一样
原版仿制(uob毕业证书)英国伯明翰大学毕业证本科学历证书原版一模一样原版仿制(uob毕业证书)英国伯明翰大学毕业证本科学历证书原版一模一样
原版仿制(uob毕业证书)英国伯明翰大学毕业证本科学历证书原版一模一样
3ipehhoa
 
一比一原版(LBS毕业证)伦敦商学院毕业证成绩单专业办理
一比一原版(LBS毕业证)伦敦商学院毕业证成绩单专业办理一比一原版(LBS毕业证)伦敦商学院毕业证成绩单专业办理
一比一原版(LBS毕业证)伦敦商学院毕业证成绩单专业办理
eutxy
 
1比1复刻(bath毕业证书)英国巴斯大学毕业证学位证原版一模一样
1比1复刻(bath毕业证书)英国巴斯大学毕业证学位证原版一模一样1比1复刻(bath毕业证书)英国巴斯大学毕业证学位证原版一模一样
1比1复刻(bath毕业证书)英国巴斯大学毕业证学位证原版一模一样
3ipehhoa
 
Bridging the Digital Gap Brad Spiegel Macon, GA Initiative.pptx
Bridging the Digital Gap Brad Spiegel Macon, GA Initiative.pptxBridging the Digital Gap Brad Spiegel Macon, GA Initiative.pptx
Bridging the Digital Gap Brad Spiegel Macon, GA Initiative.pptx
Brad Spiegel Macon GA
 
Internet of Things in Manufacturing: Revolutionizing Efficiency & Quality | C...
Internet of Things in Manufacturing: Revolutionizing Efficiency & Quality | C...Internet of Things in Manufacturing: Revolutionizing Efficiency & Quality | C...
Internet of Things in Manufacturing: Revolutionizing Efficiency & Quality | C...
CIOWomenMagazine
 
2.Cellular Networks_The final stage of connectivity is achieved by segmenting...
2.Cellular Networks_The final stage of connectivity is achieved by segmenting...2.Cellular Networks_The final stage of connectivity is achieved by segmenting...
2.Cellular Networks_The final stage of connectivity is achieved by segmenting...
JeyaPerumal1
 
1.Wireless Communication System_Wireless communication is a broad term that i...
1.Wireless Communication System_Wireless communication is a broad term that i...1.Wireless Communication System_Wireless communication is a broad term that i...
1.Wireless Communication System_Wireless communication is a broad term that i...
JeyaPerumal1
 
Understanding User Behavior with Google Analytics.pdf
Understanding User Behavior with Google Analytics.pdfUnderstanding User Behavior with Google Analytics.pdf
Understanding User Behavior with Google Analytics.pdf
SEO Article Boost
 
Search Result Showing My Post is Now Buried
Search Result Showing My Post is Now BuriedSearch Result Showing My Post is Now Buried
Search Result Showing My Post is Now Buried
Trish Parr
 
一比一原版(SLU毕业证)圣路易斯大学毕业证成绩单专业办理
一比一原版(SLU毕业证)圣路易斯大学毕业证成绩单专业办理一比一原版(SLU毕业证)圣路易斯大学毕业证成绩单专业办理
一比一原版(SLU毕业证)圣路易斯大学毕业证成绩单专业办理
keoku
 
JAVIER LASA-EXPERIENCIA digital 1986-2024.pdf
JAVIER LASA-EXPERIENCIA digital 1986-2024.pdfJAVIER LASA-EXPERIENCIA digital 1986-2024.pdf
JAVIER LASA-EXPERIENCIA digital 1986-2024.pdf
Javier Lasa
 
Comptia N+ Standard Networking lesson guide
Comptia N+ Standard Networking lesson guideComptia N+ Standard Networking lesson guide
Comptia N+ Standard Networking lesson guide
GTProductions1
 
假文凭国外(Adelaide毕业证)澳大利亚国立大学毕业证成绩单办理
假文凭国外(Adelaide毕业证)澳大利亚国立大学毕业证成绩单办理假文凭国外(Adelaide毕业证)澳大利亚国立大学毕业证成绩单办理
假文凭国外(Adelaide毕业证)澳大利亚国立大学毕业证成绩单办理
cuobya
 
How to Use Contact Form 7 Like a Pro.pptx
How to Use Contact Form 7 Like a Pro.pptxHow to Use Contact Form 7 Like a Pro.pptx
How to Use Contact Form 7 Like a Pro.pptx
Gal Baras
 
急速办(bedfordhire毕业证书)英国贝德福特大学毕业证成绩单原版一模一样
急速办(bedfordhire毕业证书)英国贝德福特大学毕业证成绩单原版一模一样急速办(bedfordhire毕业证书)英国贝德福特大学毕业证成绩单原版一模一样
急速办(bedfordhire毕业证书)英国贝德福特大学毕业证成绩单原版一模一样
3ipehhoa
 
一比一原版(CSU毕业证)加利福尼亚州立大学毕业证成绩单专业办理
一比一原版(CSU毕业证)加利福尼亚州立大学毕业证成绩单专业办理一比一原版(CSU毕业证)加利福尼亚州立大学毕业证成绩单专业办理
一比一原版(CSU毕业证)加利福尼亚州立大学毕业证成绩单专业办理
ufdana
 
Meet up Milano 14 _ Axpo Italia_ Migration from Mule3 (On-prem) to.pdf
Meet up Milano 14 _ Axpo Italia_ Migration from Mule3 (On-prem) to.pdfMeet up Milano 14 _ Axpo Italia_ Migration from Mule3 (On-prem) to.pdf
Meet up Milano 14 _ Axpo Italia_ Migration from Mule3 (On-prem) to.pdf
Florence Consulting
 
重新申请毕业证书(RMIT毕业证)皇家墨尔本理工大学毕业证成绩单精仿办理
重新申请毕业证书(RMIT毕业证)皇家墨尔本理工大学毕业证成绩单精仿办理重新申请毕业证书(RMIT毕业证)皇家墨尔本理工大学毕业证成绩单精仿办理
重新申请毕业证书(RMIT毕业证)皇家墨尔本理工大学毕业证成绩单精仿办理
vmemo1
 

Recently uploaded (20)

APNIC Foundation, presented by Ellisha Heppner at the PNG DNS Forum 2024
APNIC Foundation, presented by Ellisha Heppner at the PNG DNS Forum 2024APNIC Foundation, presented by Ellisha Heppner at the PNG DNS Forum 2024
APNIC Foundation, presented by Ellisha Heppner at the PNG DNS Forum 2024
 
国外证书(Lincoln毕业证)新西兰林肯大学毕业证成绩单不能毕业办理
国外证书(Lincoln毕业证)新西兰林肯大学毕业证成绩单不能毕业办理国外证书(Lincoln毕业证)新西兰林肯大学毕业证成绩单不能毕业办理
国外证书(Lincoln毕业证)新西兰林肯大学毕业证成绩单不能毕业办理
 
原版仿制(uob毕业证书)英国伯明翰大学毕业证本科学历证书原版一模一样
原版仿制(uob毕业证书)英国伯明翰大学毕业证本科学历证书原版一模一样原版仿制(uob毕业证书)英国伯明翰大学毕业证本科学历证书原版一模一样
原版仿制(uob毕业证书)英国伯明翰大学毕业证本科学历证书原版一模一样
 
一比一原版(LBS毕业证)伦敦商学院毕业证成绩单专业办理
一比一原版(LBS毕业证)伦敦商学院毕业证成绩单专业办理一比一原版(LBS毕业证)伦敦商学院毕业证成绩单专业办理
一比一原版(LBS毕业证)伦敦商学院毕业证成绩单专业办理
 
1比1复刻(bath毕业证书)英国巴斯大学毕业证学位证原版一模一样
1比1复刻(bath毕业证书)英国巴斯大学毕业证学位证原版一模一样1比1复刻(bath毕业证书)英国巴斯大学毕业证学位证原版一模一样
1比1复刻(bath毕业证书)英国巴斯大学毕业证学位证原版一模一样
 
Bridging the Digital Gap Brad Spiegel Macon, GA Initiative.pptx
Bridging the Digital Gap Brad Spiegel Macon, GA Initiative.pptxBridging the Digital Gap Brad Spiegel Macon, GA Initiative.pptx
Bridging the Digital Gap Brad Spiegel Macon, GA Initiative.pptx
 
Internet of Things in Manufacturing: Revolutionizing Efficiency & Quality | C...
Internet of Things in Manufacturing: Revolutionizing Efficiency & Quality | C...Internet of Things in Manufacturing: Revolutionizing Efficiency & Quality | C...
Internet of Things in Manufacturing: Revolutionizing Efficiency & Quality | C...
 
2.Cellular Networks_The final stage of connectivity is achieved by segmenting...
2.Cellular Networks_The final stage of connectivity is achieved by segmenting...2.Cellular Networks_The final stage of connectivity is achieved by segmenting...
2.Cellular Networks_The final stage of connectivity is achieved by segmenting...
 
1.Wireless Communication System_Wireless communication is a broad term that i...
1.Wireless Communication System_Wireless communication is a broad term that i...1.Wireless Communication System_Wireless communication is a broad term that i...
1.Wireless Communication System_Wireless communication is a broad term that i...
 
Understanding User Behavior with Google Analytics.pdf
Understanding User Behavior with Google Analytics.pdfUnderstanding User Behavior with Google Analytics.pdf
Understanding User Behavior with Google Analytics.pdf
 
Search Result Showing My Post is Now Buried
Search Result Showing My Post is Now BuriedSearch Result Showing My Post is Now Buried
Search Result Showing My Post is Now Buried
 
一比一原版(SLU毕业证)圣路易斯大学毕业证成绩单专业办理
一比一原版(SLU毕业证)圣路易斯大学毕业证成绩单专业办理一比一原版(SLU毕业证)圣路易斯大学毕业证成绩单专业办理
一比一原版(SLU毕业证)圣路易斯大学毕业证成绩单专业办理
 
JAVIER LASA-EXPERIENCIA digital 1986-2024.pdf
JAVIER LASA-EXPERIENCIA digital 1986-2024.pdfJAVIER LASA-EXPERIENCIA digital 1986-2024.pdf
JAVIER LASA-EXPERIENCIA digital 1986-2024.pdf
 
Comptia N+ Standard Networking lesson guide
Comptia N+ Standard Networking lesson guideComptia N+ Standard Networking lesson guide
Comptia N+ Standard Networking lesson guide
 
假文凭国外(Adelaide毕业证)澳大利亚国立大学毕业证成绩单办理
假文凭国外(Adelaide毕业证)澳大利亚国立大学毕业证成绩单办理假文凭国外(Adelaide毕业证)澳大利亚国立大学毕业证成绩单办理
假文凭国外(Adelaide毕业证)澳大利亚国立大学毕业证成绩单办理
 
How to Use Contact Form 7 Like a Pro.pptx
How to Use Contact Form 7 Like a Pro.pptxHow to Use Contact Form 7 Like a Pro.pptx
How to Use Contact Form 7 Like a Pro.pptx
 
急速办(bedfordhire毕业证书)英国贝德福特大学毕业证成绩单原版一模一样
急速办(bedfordhire毕业证书)英国贝德福特大学毕业证成绩单原版一模一样急速办(bedfordhire毕业证书)英国贝德福特大学毕业证成绩单原版一模一样
急速办(bedfordhire毕业证书)英国贝德福特大学毕业证成绩单原版一模一样
 
一比一原版(CSU毕业证)加利福尼亚州立大学毕业证成绩单专业办理
一比一原版(CSU毕业证)加利福尼亚州立大学毕业证成绩单专业办理一比一原版(CSU毕业证)加利福尼亚州立大学毕业证成绩单专业办理
一比一原版(CSU毕业证)加利福尼亚州立大学毕业证成绩单专业办理
 
Meet up Milano 14 _ Axpo Italia_ Migration from Mule3 (On-prem) to.pdf
Meet up Milano 14 _ Axpo Italia_ Migration from Mule3 (On-prem) to.pdfMeet up Milano 14 _ Axpo Italia_ Migration from Mule3 (On-prem) to.pdf
Meet up Milano 14 _ Axpo Italia_ Migration from Mule3 (On-prem) to.pdf
 
重新申请毕业证书(RMIT毕业证)皇家墨尔本理工大学毕业证成绩单精仿办理
重新申请毕业证书(RMIT毕业证)皇家墨尔本理工大学毕业证成绩单精仿办理重新申请毕业证书(RMIT毕业证)皇家墨尔本理工大学毕业证成绩单精仿办理
重新申请毕业证书(RMIT毕业证)皇家墨尔本理工大学毕业证成绩单精仿办理
 

Dreamforce 22 Unleash Powerful Data Transforms in Apex with DataWeave

  • 1. 1 Unleash Powerful Data Transforms in Apex with DataWeave Daniel Ballinger, Apex Product Manager @FishOfPrey | dballinger@salesforce.com Anand Subramanian, Apex Principal Engineer @anand13s | a.subramanian@salesforce.com
  • 2. Forward Looking Statements This presentation contains forward-looking statements about, among other things, trend analyses and future events, future financial performance, anticipated growth, industry prospects, environmental, social and governance goals, and the anticipated benefits of acquired companies. The achievement or success of the matters covered by such forward-looking statements involves risks, uncertainties and assumptions. If any such risks or uncertainties materialize or if any of the assumptions prove incorrect, Salesforce’s results could differ materially from the results expressed or implied by these forward-looking statements. The risks and uncertainties referred to above include those factors discussed in Salesforce’s reports filed from time to time with the Securities and Exchange Commission, including, but not limited to: the impact of, and actions we may take in response to, the COVID-19 pandemic, related public health measures and resulting economic downturn and market volatility; our ability to maintain security levels and service performance meeting the expectations of our customers, and the resources and costs required to avoid unanticipated downtime and prevent, detect and remediate performance degradation and security breaches; the expenses associated with our data centers and third-party infrastructure providers; our ability to secure additional data center capacity; our reliance on third-party hardware, software and platform providers; the effect of evolving domestic and foreign government regulations, including those related to the provision of services on the Internet, those related to accessing the Internet, and those addressing data privacy, cross-border data transfers and import and export controls; current and potential litigation involving us or our industry, including litigation involving acquired entities such as Tableau Software, Inc. and Slack Technologies, Inc., and the resolution or settlement thereof; regulatory developments and regulatory investigations involving us or affecting our industry; our ability to successfully introduce new services and product features, including any efforts to expand our services; the success of our strategy of acquiring or making investments in complementary businesses, joint ventures, services, technologies and intellectual property rights; our ability to complete, on a timely basis or at all, announced transactions; our ability to realize the benefits from acquisitions, strategic partnerships, joint ventures and investments, including our July 2021 acquisition of Slack Technologies, Inc., and successfully integrate acquired businesses and technologies; our ability to compete in the markets in which we participate; the success of our business strategy and our plan to build our business, including our strategy to be a leading provider of enterprise cloud computing applications and platforms; our ability to execute our business plans; our ability to continue to grow unearned revenue and remaining performance obligation; the pace of change and innovation in enterprise cloud computing services; the seasonal nature of our sales cycles; our ability to limit customer attrition and costs related to those efforts; the success of our international expansion strategy; the demands on our personnel and infrastructure resulting from significant growth in our customer base and operations, including as a result of acquisitions; our ability to preserve our workplace culture, including as a result of our decisions regarding our current and future office environments or work-from-home policies; our dependency on the development and maintenance of the infrastructure of the Internet; our real estate and office facilities strategy and related costs and uncertainties; fluctuations in, and our ability to predict, our operating results and cash flows; the variability in our results arising from the accounting for term license revenue products; the performance and fair value of our investments in complementary businesses through our strategic investment portfolio; the impact of future gains or losses from our strategic investment portfolio, including gains or losses from overall market conditions that may affect the publicly traded companies within our strategic investment portfolio; our ability to protect our intellectual property rights; our ability to develop our brands; the impact of foreign currency exchange rate and interest rate fluctuations on our results; the valuation of our deferred tax assets and the release of related valuation allowances; the potential availability of additional tax assets in the future; the impact of new accounting pronouncements and tax laws; uncertainties affecting our ability to estimate our tax rate; uncertainties regarding our tax obligations in connection with potential jurisdictional transfers of intellectual property, including the tax rate, the timing of the transfer and the value of such transferred intellectual property; uncertainties regarding the effect of general economic and market conditions; the impact of geopolitical events; uncertainties regarding the impact of expensing stock options and other equity awards; the sufficiency of our capital resources; our ability to comply with our debt covenants and lease obligations; and the impact of climate change, natural disasters and actual or threatened public health emergencies, including the ongoing COVID-19 pandemic.
  • 3. Anand Subramanian Principal Engineer, Apex a.subramanian@salesforce.com @anand13s Daniel Ballinger Director of Product Management, Apex dballinger@salesforce.com @FishOfPrey
  • 4. Challenges with Data Transformation Task: Ingest CSV data blob with Apex first_name, last_name, … /n Astro, Nomical, … ● csvString.split('/n'); ● csvLine.split(','); ● RFC 4180 ○ Double Quote delimiters ■ escaped - """"
  • 5. Build a Finite State Machine!
  • 6. What is DataWeave? MuleSoft’s functional programming language for data transformation. 1. Read and parse data from a given format 2. Transform it 3. Write it out as a target format Read Transform Write
  • 8. Payload: CSV first_name,last_name, company,address Abel,Maclead,"Rousseaux, Michael Esq","6649 N Blue Gum St,n New Orleans" DataWeave Example DW Script %dw 2.0 input payload application/csv output application/json --- payload Output: JSON [ { "first_name": "Abel", "last_name": "Maclead", "company": "Rousseaux, Michael Esq", "address": "6649 N Blue Gum St,nNew Orleans" } ] READ TRANSFORM WRITE
  • 9. Demo What does this look like in Apex?
  • 10.
  • 11. Q: What do I need to access this in Apex? A: It will be available everywhere Apex is currently* You don’t need to be a Mulesoft customer * Winter ’23 Developer Preview
  • 12. Sample Use Cases RFC-compliant CSV parsing and writing Turns out it's harder than just String.split(',') Serializing Apex Objects, but with a custom DateTime format In Apex today this requires using a custom JSONGenerator, or hand-crafting XML via Document Serialize/ Deserialize with Apex Reserved Words DataWeave inputs and outputs are collections of Apex primitives, reserved words are allowed Performant Custom Transformations For example, serialize an SObject, but remove the namespace from field name keys, or remove __c suffix
  • 13. The anatomy of a DW script file Working with Script Parameters %dw 2.0 DataWeave Version input payload application/json Input types input attributes application/json input exchangeRate application/json output application/xml Output type var conversionRate=13.15 Constants fun toUpper(aString)=upper(aString) Functions --- Header/Body delimiter payload Script body for transforms https://sfdc.co/dwlangfun
  • 15.
  • 16. Scope and Limitations ● Developer Preview in Winter ’23 ○ Scratch Orgs only - with DataWeaveInApex feature ○ No Packaging support ● DW 2 Scripts are static via .dwl metadata files ● Environment interaction restricted ● Only built in modules are supported ● No Excel or Flat File format support ● Scripts contribute towards the Apex heap and CPU limits ● XML Entity Expansion isn’t supported
  • 17. ● Contact data ○ 2.32MB CSV file ○ 20,000 rows Before and Aer 35% Less Heap Usage 35% Less CPU Usage Apex Finite State Machine DataWeave in Apex List<List<String>> List<Contact> with fields
  • 18. Beyond the dev preview ● Beta Spring ’23 ● application/apex for input and output ● Packaging support (isolated within namespace) ● Static DataWeave script references DataWeave in Apex
  • 19. Apex Roadmap Coming Soon Longer Term Winter ’23 ● DataWeave in Apex Developer Preview ● User Mode Beta enhancements ● New Assert Methods ● Queueable depth behavior and reenquee timing ● ApexTypeImplementor to GA ● List Sorting via Comparator ● User Mode to GA ● Database.treeSave() Dev Preview ● Testing improvements ● User Mode + Permission Sets ● Generics ○ Database.queryWithBinds(soql, bindVariablesMap, accessLevel)
  • 20. How do I get started today? https://sfdc.co/DataWeaveInApex ● GitHub repo with setup instructions and examples ● Link to Trailblazer Community Group ● Content of this presentation Call to Action
  • 21. Q&A
  • 22. Join us for more sessions and demos! Time Session / Demo Location 3:00-3:40 PM What limits? Elastically scale using OSS with Functions Moscone West, Level 2 3:30 - 3:20 PM Python For Functions Developer Theater, Moscone West, Level 1 Until 4:15 PM Salesforce Functions Booth Platform Park Until 4:15 PM Heroku Booth Platform Park Until 4:15 PM Apex Booth Platform Park Until 4:15 PM Scale Apps Fast Booth IT Lodge & Campground Meet our speakers offstage right after this session!
  • 23.