SlideShare a Scribd company logo
07/11/2019: DataWeave 2.0 & RAML, Integrating Design
with Development
West Yorkshire MuleSoft Meetup
Group
All contents © MuleSoft Inc.
Agenda
2
• Introductions
• Who are the organizers? / Introductions
• Guest speaker Ven: DataWeave
• Networking & Food
• Francis: RAML Integrating Design and Development
• What’s next
• Freebies
All contents © MuleSoft Inc.
Introductions
3
• About the organizers:
– The integration team in Saint Gobain Building Distribution have been actively developing
business applications within MuleSoft for over three years now.
– The team provides integrations between different corporate systems as well as to external
third parties and have replaced numerous file transfer integrations, automated scripts &
exposed APIs for the Digital Transformation strategy.
• About the sponsor:
– Saint-Gobain Building Distribution is the company that bring together a number of
suppliers & brands that supply material & tools into the construction industry
– The company is part of the wider Saint-Gobain Group & uses IT infrastructure that is both
within UK datacentres & IT services headquartered in France.
– Saint Gobain employ over 180,000 people and are present in 68 countries.
• Useful links:
– https://www.saint-gobain.com/en
Integrating Design with Development
RAML
All contents © MuleSoft Inc.
RAML Integrating Design with Development
5
• RAML for Console
– Requires to root element to be valid
and ideally have all code in the
specification to render the console
– Requires that securitySchemes defined
and a securedBy element populated by
at least null to provide console
functionality
– The documentation element allows a
readme file to be included in the
console that can give instructions for
expected behavior and information in
the described resource
All contents © MuleSoft Inc.
RAML Integrating Design with Development
6
• RAML for Anypoint Exchange
– Requires the title element to create
the maven artefact name
– Requires the version to populate the
main version grouping of the
published Anypoint Exchange
artefact
– The documentation element is
incorporated within the Anypoint
Exchange artefact and can be cut
and pasted into the artefact page
– baseUri and resource methods auto-
populate in an artefact description
pane, together with instance
information
All contents © MuleSoft Inc.
RAML Integrating Design with Development
7
• RAML for API Manager
– The title element is taken from
the title in Anypoint Exchange
which is populated from the
original element
– version required to differentiate
API implementation and produce
unique autodiscovery string
– baseUri required to populate the
location of the API
implementation
All contents © MuleSoft Inc.
RAML Integrating Design with Development
8
• RAML for Anypoint Studio
– Flows can be generated with payload
stubs using the imported RAML
specification
All contents © MuleSoft Inc.
RAML Integrating Design with Development
9
• RAML for Anypoint Studio
– The first parts of a RAML
definition can be used to provide
configuration details to
developer
– Prevents typing errors and
assigns correct testing details
– item definitions aid with using
‘as :String’ or
Integer.parseInt(message.inbou
ndProperties.ID) functions when
declaring values
All contents © MuleSoft Inc.
RAML Integrating Design with Development
10
• RAML for Anypoint Studio
– Examples data can be included
initially to aid with setting output
payloads
– Object definitions can be used to
provide meta-data for
transformations
– Objects can be used as input into
query-parms expressions
– It is easier to carry out null
checking on json objects than to
remember to so this for each
query-param used in a HTTP
requester
All contents © MuleSoft Inc.
RAML Integrating Design with Development
11
• Useful Resources
– There are a number of books that can
help learn API design and RAML
particularly – Manning: The Design of
Web APIs & Undisturbed REST
– API Workbench is a package that can
be installed into ATOM editor
– Design Centre at Anypoint Platform
– The RAML Specification – GitHub
project
– The resources at RAML Org
– The API Design Course from Mulesoft
Training
All contents © MuleSoft Inc.
RAML Integrating Design with Development
12
Demo Time
• Anypoint Design Centre
– This RAML project describes the
access of objects from a collection
and shows how the RAML
develops to describe the objects
contained and how they can be
searched
– My main recommendation being
that rather than specifying
queryParams, that objects
describe instead what can be
searched via the queryString
element
Networking time
Introduce yourself to your neighbours!
The Power of Transformation
- Venkata Nallapuneni (Ven): Integration Developer for Rathbones
Brothers PLC
DataWeave 2.0
All contents © MuleSoft Inc.
Background and Overview
15
• DataWeave language is introduced in Mule 4.0
• Replaces Mule Expression Language (MEL)
• Supported by Anypoint Studio version 7 onwards
• Features
– New functions/methods are added
– Improved power and method of transformation
– Simplified syntaxes
– Accessibility
– Ease of Learning
– Use of Data weave reduced the need for multiple transformers
– Process flow are more simplified compared to Mule 3 versions
“There’s nothing in this universe that can’t be
explained. Eventually.”
House MD
All contents © MuleSoft Inc.
Understanding Capabilities
Transformation and Functions
17
• Many transformers are deprecated in Mule 4.0, as data weave replaces type
transformations
• Functions can be defined in any way as required
• Operators are now functions
• Simplified transformation using data weave
• Transforms complex data and binary data can also be extracted from an expression
• Type coercion errors are reduced comparatively
• DataWeave language can be used in most components like http request, file
connector, database etc.
All contents © MuleSoft Inc.
Use Dataweave expression in Variable
Transformation and Functions
18
Transforms type and we can also define data type within same component
All contents © MuleSoft Inc.
File Connector and use of DataWeave language
1. - Use any Type of DW expression
in the components like file
connector, database, http request
etc.
2. - Write or read mime types as
needed.
• Eg:
write(payload,”application/xml”)
• - DataWeave expressions not
limited to content, can also be used
in path .
• - Coding Language type expressions
• if and else
•
All contents © MuleSoft Inc.
Accessing parameters is simplified in DataWeave 2
Simplifications and Inbound Properties
20
• Inbound properties are changed to attributes and outbound properties are removed
• Eg:
attributes.headers.id instead of message.inboundproperties.id
attributes.queryParams.company (camel casing for all attributes)
• Variables can be easily accessed in data weave 2.0 –replaced as variable (session
vars and record vars are removed)
• Access these parameters in any component that supports data weave expression
DataWeave Modules and types
2.0
All contents © MuleSoft Inc.
DataWeave types 2.0
22
Dataweave types are improved in every
version, have powerful capabilities
• dw::Core
Functions such as : camelize,capitalize etc.
• dw::Crypto
• dw::Runtime
• dw::core::Strings
• dw::core::URL
• dw::core::Binaries
• Etc.. Ex: stream a pdf document
• Create your own custom modules
All contents © MuleSoft Inc.
What's New
23
New Data Formats Introduced
• Avro (application/avro)
• ndjson (application/x-ndjson)
• Java Properties (text/x-java-properties)
• Joins and improved functionalities in each dataweave types
Ex: Right Join, Inner Join and Left join can be used within dataweave
• Data types are improved in every module
All contents © MuleSoft Inc.
Conclusion
24
Useful Links and Resources:
• https://docs.mulesoft.com/mule-runtime/4.1/dataweave
• https://help.mulesoft.com/s/forum
• https://docs.mulesoft.com/mule-runtime/4.2/dataweave-cookbook
Blogs:
• https://blogs.mulesoft.com/dev/mule-dev/dataweave-2-2-arrays-part1/
All contents © MuleSoft Inc. 25
Ven
Mulesoft Developer
See you next time
Please send topic suggestions to the organizer

More Related Content

What's hot

Sai mule esb batch
Sai mule esb batchSai mule esb batch
Sai mule esb batch
saikiran6423
 
Mule esb kranthi
Mule esb kranthiMule esb kranthi
Mule esb kranthi
kranthikumar1210
 
Mule slides
Mule slides Mule slides
Mule slides
naveenkodumuri12
 
Ashok mule esb
Ashok mule esbAshok mule esb
Ashok mule esb
askumar037
 
J2EE Technology Mapping-21-may-2014
J2EE Technology Mapping-21-may-2014J2EE Technology Mapping-21-may-2014
J2EE Technology Mapping-21-may-2014
Nguyen Tung
 
Mule soft meetup_virtual_ charlotte_2020_final1
Mule soft meetup_virtual_ charlotte_2020_final1Mule soft meetup_virtual_ charlotte_2020_final1
Mule soft meetup_virtual_ charlotte_2020_final1
Subhash Patel
 
Niranjan mule esb
Niranjan mule esbNiranjan mule esb
Niranjan mule esb
niranjan1234567
 
Power of Transformation with DataWeave 2.X Engine
Power of Transformation with DataWeave 2.X EnginePower of Transformation with DataWeave 2.X Engine
Power of Transformation with DataWeave 2.X Engine
Manish Kumar Yadav
 
Loaders complete
Loaders completeLoaders complete
Loaders complete
Faisal Shah
 
Relocatable Application Bundles for IBM InfoSphere Streams V4.0
Relocatable Application Bundles for IBM InfoSphere Streams V4.0Relocatable Application Bundles for IBM InfoSphere Streams V4.0
Relocatable Application Bundles for IBM InfoSphere Streams V4.0
lisanl
 
S2GX 2012 - Introduction to Spring Integration and Spring Batch
S2GX 2012 - Introduction to Spring Integration and Spring BatchS2GX 2012 - Introduction to Spring Integration and Spring Batch
S2GX 2012 - Introduction to Spring Integration and Spring Batch
Gunnar Hillert
 
(ATS3-PLAT07) Pipeline Pilot Protocol Tips, Tricks, and Challenges
(ATS3-PLAT07) Pipeline Pilot Protocol Tips, Tricks, and Challenges(ATS3-PLAT07) Pipeline Pilot Protocol Tips, Tricks, and Challenges
(ATS3-PLAT07) Pipeline Pilot Protocol Tips, Tricks, and Challenges
BIOVIA
 
Srilekha mule esb
Srilekha mule esbSrilekha mule esb
Srilekha mule esb
srilekha2820
 
Aloa - A Web Services Driven Framework for Automatic Learning Objcet Annotation
Aloa - A Web Services Driven Framework for Automatic Learning Objcet AnnotationAloa - A Web Services Driven Framework for Automatic Learning Objcet Annotation
Aloa - A Web Services Driven Framework for Automatic Learning Objcet Annotation
Mohamed Amine Chatti
 
Oracle SQL Developer Data Modeler - Version Control Your Designs
Oracle SQL Developer Data Modeler - Version Control Your DesignsOracle SQL Developer Data Modeler - Version Control Your Designs
Oracle SQL Developer Data Modeler - Version Control Your Designs
Jeff Smith
 

What's hot (15)

Sai mule esb batch
Sai mule esb batchSai mule esb batch
Sai mule esb batch
 
Mule esb kranthi
Mule esb kranthiMule esb kranthi
Mule esb kranthi
 
Mule slides
Mule slides Mule slides
Mule slides
 
Ashok mule esb
Ashok mule esbAshok mule esb
Ashok mule esb
 
J2EE Technology Mapping-21-may-2014
J2EE Technology Mapping-21-may-2014J2EE Technology Mapping-21-may-2014
J2EE Technology Mapping-21-may-2014
 
Mule soft meetup_virtual_ charlotte_2020_final1
Mule soft meetup_virtual_ charlotte_2020_final1Mule soft meetup_virtual_ charlotte_2020_final1
Mule soft meetup_virtual_ charlotte_2020_final1
 
Niranjan mule esb
Niranjan mule esbNiranjan mule esb
Niranjan mule esb
 
Power of Transformation with DataWeave 2.X Engine
Power of Transformation with DataWeave 2.X EnginePower of Transformation with DataWeave 2.X Engine
Power of Transformation with DataWeave 2.X Engine
 
Loaders complete
Loaders completeLoaders complete
Loaders complete
 
Relocatable Application Bundles for IBM InfoSphere Streams V4.0
Relocatable Application Bundles for IBM InfoSphere Streams V4.0Relocatable Application Bundles for IBM InfoSphere Streams V4.0
Relocatable Application Bundles for IBM InfoSphere Streams V4.0
 
S2GX 2012 - Introduction to Spring Integration and Spring Batch
S2GX 2012 - Introduction to Spring Integration and Spring BatchS2GX 2012 - Introduction to Spring Integration and Spring Batch
S2GX 2012 - Introduction to Spring Integration and Spring Batch
 
(ATS3-PLAT07) Pipeline Pilot Protocol Tips, Tricks, and Challenges
(ATS3-PLAT07) Pipeline Pilot Protocol Tips, Tricks, and Challenges(ATS3-PLAT07) Pipeline Pilot Protocol Tips, Tricks, and Challenges
(ATS3-PLAT07) Pipeline Pilot Protocol Tips, Tricks, and Challenges
 
Srilekha mule esb
Srilekha mule esbSrilekha mule esb
Srilekha mule esb
 
Aloa - A Web Services Driven Framework for Automatic Learning Objcet Annotation
Aloa - A Web Services Driven Framework for Automatic Learning Objcet AnnotationAloa - A Web Services Driven Framework for Automatic Learning Objcet Annotation
Aloa - A Web Services Driven Framework for Automatic Learning Objcet Annotation
 
Oracle SQL Developer Data Modeler - Version Control Your Designs
Oracle SQL Developer Data Modeler - Version Control Your DesignsOracle SQL Developer Data Modeler - Version Control Your Designs
Oracle SQL Developer Data Modeler - Version Control Your Designs
 

Similar to West Yorkshire Mulesoft Meetup #6

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
 
Manchester Meetup #3
Manchester Meetup #3Manchester Meetup #3
Manchester Meetup #3
Francis Edwards
 
Cracow MuleSoft Meetup #1
Cracow MuleSoft Meetup #1Cracow MuleSoft Meetup #1
Cracow MuleSoft Meetup #1
Wojtek Maciejczyk
 
MuleSoft Meetup Singapore - Reliable Messaging & RTF Operations
MuleSoft Meetup Singapore - Reliable Messaging & RTF OperationsMuleSoft Meetup Singapore - Reliable Messaging & RTF Operations
MuleSoft Meetup Singapore - Reliable Messaging & RTF Operations
Julian Douch
 
Mulesoft meetup 9thmay Thiruvananthapuram
Mulesoft meetup 9thmay ThiruvananthapuramMulesoft meetup 9thmay Thiruvananthapuram
Mulesoft meetup 9thmay Thiruvananthapuram
Anurag Dwivedi
 
Manila MuleSoft Meetup - September 2018
Manila MuleSoft Meetup - September 2018Manila MuleSoft Meetup - September 2018
Manila MuleSoft Meetup - September 2018
Ryan Anthony Andal
 
West Yorkshire Meetup #3
West Yorkshire Meetup #3West Yorkshire Meetup #3
West Yorkshire Meetup #3
Francis Edwards
 
File Upload with RESP API
File Upload with RESP APIFile Upload with RESP API
File Upload with RESP API
Thiago Santana
 
Mule integration-application
Mule integration-applicationMule integration-application
Mule integration-application
Naresh Naidu
 
Tips and Tricks for the Advanced Mule Developer with Tesla and Twitter
Tips and Tricks for the Advanced Mule Developer with Tesla and Twitter Tips and Tricks for the Advanced Mule Developer with Tesla and Twitter
Tips and Tricks for the Advanced Mule Developer with Tesla and Twitter
MuleSoft
 
Mulesoft Connections to different companies, and different services
Mulesoft Connections to different companies, and different servicesMulesoft Connections to different companies, and different services
Mulesoft Connections to different companies, and different services
Byreddy Sravan Kumar Reddy
 
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
 
Salesforce Auckland Developer Meetup - May 2018 - Lightning Web Components
Salesforce Auckland Developer Meetup - May 2018 - Lightning Web Components Salesforce Auckland Developer Meetup - May 2018 - Lightning Web Components
Salesforce Auckland Developer Meetup - May 2018 - Lightning Web Components
Ben Edwards
 
MuleSoft Surat Virtual Meetup#16 - Anypoint Deployment Option, API and Operat...
MuleSoft Surat Virtual Meetup#16 - Anypoint Deployment Option, API and Operat...MuleSoft Surat Virtual Meetup#16 - Anypoint Deployment Option, API and Operat...
MuleSoft Surat Virtual Meetup#16 - Anypoint Deployment Option, API and Operat...
Jitendra Bafna
 
MuleSoft Meetup Charlotte 2 - 2019
MuleSoft Meetup Charlotte 2 - 2019MuleSoft Meetup Charlotte 2 - 2019
MuleSoft Meetup Charlotte 2 - 2019
Subhash Patel
 
Chicago Mulesoft meetup-08 apr2021
Chicago Mulesoft meetup-08 apr2021Chicago Mulesoft meetup-08 apr2021
Chicago Mulesoft meetup-08 apr2021
prasenjit banerjee
 
The forgotten route: Making Apache Camel work for you
The forgotten route: Making Apache Camel work for youThe forgotten route: Making Apache Camel work for you
The forgotten route: Making Apache Camel work for you
Rogue Wave Software
 
Ahmedabad MuleSoft Meetup #4
Ahmedabad MuleSoft Meetup #4Ahmedabad MuleSoft Meetup #4
Ahmedabad MuleSoft Meetup #4
Tejas Purohit
 
MuleSoft Online Meetup - MuleSoft integration with snowflake and kafka
MuleSoft Online Meetup - MuleSoft integration with snowflake and kafkaMuleSoft Online Meetup - MuleSoft integration with snowflake and kafka
MuleSoft Online Meetup - MuleSoft integration with snowflake and kafka
Royston Lobo
 
Strategies and Tips for Building Enterprise Drupal Applications - PNWDS 2013
Strategies and Tips for Building Enterprise Drupal Applications - PNWDS 2013Strategies and Tips for Building Enterprise Drupal Applications - PNWDS 2013
Strategies and Tips for Building Enterprise Drupal Applications - PNWDS 2013
Mack Hardy
 

Similar to West Yorkshire Mulesoft Meetup #6 (20)

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
 
Manchester Meetup #3
Manchester Meetup #3Manchester Meetup #3
Manchester Meetup #3
 
Cracow MuleSoft Meetup #1
Cracow MuleSoft Meetup #1Cracow MuleSoft Meetup #1
Cracow MuleSoft Meetup #1
 
MuleSoft Meetup Singapore - Reliable Messaging & RTF Operations
MuleSoft Meetup Singapore - Reliable Messaging & RTF OperationsMuleSoft Meetup Singapore - Reliable Messaging & RTF Operations
MuleSoft Meetup Singapore - Reliable Messaging & RTF Operations
 
Mulesoft meetup 9thmay Thiruvananthapuram
Mulesoft meetup 9thmay ThiruvananthapuramMulesoft meetup 9thmay Thiruvananthapuram
Mulesoft meetup 9thmay Thiruvananthapuram
 
Manila MuleSoft Meetup - September 2018
Manila MuleSoft Meetup - September 2018Manila MuleSoft Meetup - September 2018
Manila MuleSoft Meetup - September 2018
 
West Yorkshire Meetup #3
West Yorkshire Meetup #3West Yorkshire Meetup #3
West Yorkshire Meetup #3
 
File Upload with RESP API
File Upload with RESP APIFile Upload with RESP API
File Upload with RESP API
 
Mule integration-application
Mule integration-applicationMule integration-application
Mule integration-application
 
Tips and Tricks for the Advanced Mule Developer with Tesla and Twitter
Tips and Tricks for the Advanced Mule Developer with Tesla and Twitter Tips and Tricks for the Advanced Mule Developer with Tesla and Twitter
Tips and Tricks for the Advanced Mule Developer with Tesla and Twitter
 
Mulesoft Connections to different companies, and different services
Mulesoft Connections to different companies, and different servicesMulesoft Connections to different companies, and different services
Mulesoft Connections to different companies, and different services
 
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 ...
 
Salesforce Auckland Developer Meetup - May 2018 - Lightning Web Components
Salesforce Auckland Developer Meetup - May 2018 - Lightning Web Components Salesforce Auckland Developer Meetup - May 2018 - Lightning Web Components
Salesforce Auckland Developer Meetup - May 2018 - Lightning Web Components
 
MuleSoft Surat Virtual Meetup#16 - Anypoint Deployment Option, API and Operat...
MuleSoft Surat Virtual Meetup#16 - Anypoint Deployment Option, API and Operat...MuleSoft Surat Virtual Meetup#16 - Anypoint Deployment Option, API and Operat...
MuleSoft Surat Virtual Meetup#16 - Anypoint Deployment Option, API and Operat...
 
MuleSoft Meetup Charlotte 2 - 2019
MuleSoft Meetup Charlotte 2 - 2019MuleSoft Meetup Charlotte 2 - 2019
MuleSoft Meetup Charlotte 2 - 2019
 
Chicago Mulesoft meetup-08 apr2021
Chicago Mulesoft meetup-08 apr2021Chicago Mulesoft meetup-08 apr2021
Chicago Mulesoft meetup-08 apr2021
 
The forgotten route: Making Apache Camel work for you
The forgotten route: Making Apache Camel work for youThe forgotten route: Making Apache Camel work for you
The forgotten route: Making Apache Camel work for you
 
Ahmedabad MuleSoft Meetup #4
Ahmedabad MuleSoft Meetup #4Ahmedabad MuleSoft Meetup #4
Ahmedabad MuleSoft Meetup #4
 
MuleSoft Online Meetup - MuleSoft integration with snowflake and kafka
MuleSoft Online Meetup - MuleSoft integration with snowflake and kafkaMuleSoft Online Meetup - MuleSoft integration with snowflake and kafka
MuleSoft Online Meetup - MuleSoft integration with snowflake and kafka
 
Strategies and Tips for Building Enterprise Drupal Applications - PNWDS 2013
Strategies and Tips for Building Enterprise Drupal Applications - PNWDS 2013Strategies and Tips for Building Enterprise Drupal Applications - PNWDS 2013
Strategies and Tips for Building Enterprise Drupal Applications - PNWDS 2013
 

Recently uploaded

GraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph TechnologyGraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph Technology
Neo4j
 
KuberTENes Birthday Bash Guadalajara - Introducción a Argo CD
KuberTENes Birthday Bash Guadalajara - Introducción a Argo CDKuberTENes Birthday Bash Guadalajara - Introducción a Argo CD
KuberTENes Birthday Bash Guadalajara - Introducción a Argo CD
rodomar2
 
What is Master Data Management by PiLog Group
What is Master Data Management by PiLog GroupWhat is Master Data Management by PiLog Group
What is Master Data Management by PiLog Group
aymanquadri279
 
UI5con 2024 - Boost Your Development Experience with UI5 Tooling Extensions
UI5con 2024 - Boost Your Development Experience with UI5 Tooling ExtensionsUI5con 2024 - Boost Your Development Experience with UI5 Tooling Extensions
UI5con 2024 - Boost Your Development Experience with UI5 Tooling Extensions
Peter Muessig
 
8 Best Automated Android App Testing Tool and Framework in 2024.pdf
8 Best Automated Android App Testing Tool and Framework in 2024.pdf8 Best Automated Android App Testing Tool and Framework in 2024.pdf
8 Best Automated Android App Testing Tool and Framework in 2024.pdf
kalichargn70th171
 
Unveiling the Advantages of Agile Software Development.pdf
Unveiling the Advantages of Agile Software Development.pdfUnveiling the Advantages of Agile Software Development.pdf
Unveiling the Advantages of Agile Software Development.pdf
brainerhub1
 
Atelier - Innover avec l’IA Générative et les graphes de connaissances
Atelier - Innover avec l’IA Générative et les graphes de connaissancesAtelier - Innover avec l’IA Générative et les graphes de connaissances
Atelier - Innover avec l’IA Générative et les graphes de connaissances
Neo4j
 
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI AppAI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
Google
 
OpenMetadata Community Meeting - 5th June 2024
OpenMetadata Community Meeting - 5th June 2024OpenMetadata Community Meeting - 5th June 2024
OpenMetadata Community Meeting - 5th June 2024
OpenMetadata
 
openEuler Case Study - The Journey to Supply Chain Security
openEuler Case Study - The Journey to Supply Chain SecurityopenEuler Case Study - The Journey to Supply Chain Security
openEuler Case Study - The Journey to Supply Chain Security
Shane Coughlan
 
原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样
原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样
原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样
mz5nrf0n
 
E-commerce Development Services- Hornet Dynamics
E-commerce Development Services- Hornet DynamicsE-commerce Development Services- Hornet Dynamics
E-commerce Development Services- Hornet Dynamics
Hornet Dynamics
 
A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of CodeA Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
Aftab Hussain
 
ALGIT - Assembly Line for Green IT - Numbers, Data, Facts
ALGIT - Assembly Line for Green IT - Numbers, Data, FactsALGIT - Assembly Line for Green IT - Numbers, Data, Facts
ALGIT - Assembly Line for Green IT - Numbers, Data, Facts
Green Software Development
 
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdf
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdfAutomated software refactoring with OpenRewrite and Generative AI.pptx.pdf
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdf
timtebeek1
 
GreenCode-A-VSCode-Plugin--Dario-Jurisic
GreenCode-A-VSCode-Plugin--Dario-JurisicGreenCode-A-VSCode-Plugin--Dario-Jurisic
GreenCode-A-VSCode-Plugin--Dario-Jurisic
Green Software Development
 
E-commerce Application Development Company.pdf
E-commerce Application Development Company.pdfE-commerce Application Development Company.pdf
E-commerce Application Development Company.pdf
Hornet Dynamics
 
Using Query Store in Azure PostgreSQL to Understand Query Performance
Using Query Store in Azure PostgreSQL to Understand Query PerformanceUsing Query Store in Azure PostgreSQL to Understand Query Performance
Using Query Store in Azure PostgreSQL to Understand Query Performance
Grant Fritchey
 
Energy consumption of Database Management - Florina Jonuzi
Energy consumption of Database Management - Florina JonuziEnergy consumption of Database Management - Florina Jonuzi
Energy consumption of Database Management - Florina Jonuzi
Green Software Development
 
SMS API Integration in Saudi Arabia| Best SMS API Service
SMS API Integration in Saudi Arabia| Best SMS API ServiceSMS API Integration in Saudi Arabia| Best SMS API Service
SMS API Integration in Saudi Arabia| Best SMS API Service
Yara Milbes
 

Recently uploaded (20)

GraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph TechnologyGraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph Technology
 
KuberTENes Birthday Bash Guadalajara - Introducción a Argo CD
KuberTENes Birthday Bash Guadalajara - Introducción a Argo CDKuberTENes Birthday Bash Guadalajara - Introducción a Argo CD
KuberTENes Birthday Bash Guadalajara - Introducción a Argo CD
 
What is Master Data Management by PiLog Group
What is Master Data Management by PiLog GroupWhat is Master Data Management by PiLog Group
What is Master Data Management by PiLog Group
 
UI5con 2024 - Boost Your Development Experience with UI5 Tooling Extensions
UI5con 2024 - Boost Your Development Experience with UI5 Tooling ExtensionsUI5con 2024 - Boost Your Development Experience with UI5 Tooling Extensions
UI5con 2024 - Boost Your Development Experience with UI5 Tooling Extensions
 
8 Best Automated Android App Testing Tool and Framework in 2024.pdf
8 Best Automated Android App Testing Tool and Framework in 2024.pdf8 Best Automated Android App Testing Tool and Framework in 2024.pdf
8 Best Automated Android App Testing Tool and Framework in 2024.pdf
 
Unveiling the Advantages of Agile Software Development.pdf
Unveiling the Advantages of Agile Software Development.pdfUnveiling the Advantages of Agile Software Development.pdf
Unveiling the Advantages of Agile Software Development.pdf
 
Atelier - Innover avec l’IA Générative et les graphes de connaissances
Atelier - Innover avec l’IA Générative et les graphes de connaissancesAtelier - Innover avec l’IA Générative et les graphes de connaissances
Atelier - Innover avec l’IA Générative et les graphes de connaissances
 
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI AppAI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
 
OpenMetadata Community Meeting - 5th June 2024
OpenMetadata Community Meeting - 5th June 2024OpenMetadata Community Meeting - 5th June 2024
OpenMetadata Community Meeting - 5th June 2024
 
openEuler Case Study - The Journey to Supply Chain Security
openEuler Case Study - The Journey to Supply Chain SecurityopenEuler Case Study - The Journey to Supply Chain Security
openEuler Case Study - The Journey to Supply Chain Security
 
原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样
原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样
原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样
 
E-commerce Development Services- Hornet Dynamics
E-commerce Development Services- Hornet DynamicsE-commerce Development Services- Hornet Dynamics
E-commerce Development Services- Hornet Dynamics
 
A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of CodeA Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
 
ALGIT - Assembly Line for Green IT - Numbers, Data, Facts
ALGIT - Assembly Line for Green IT - Numbers, Data, FactsALGIT - Assembly Line for Green IT - Numbers, Data, Facts
ALGIT - Assembly Line for Green IT - Numbers, Data, Facts
 
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdf
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdfAutomated software refactoring with OpenRewrite and Generative AI.pptx.pdf
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdf
 
GreenCode-A-VSCode-Plugin--Dario-Jurisic
GreenCode-A-VSCode-Plugin--Dario-JurisicGreenCode-A-VSCode-Plugin--Dario-Jurisic
GreenCode-A-VSCode-Plugin--Dario-Jurisic
 
E-commerce Application Development Company.pdf
E-commerce Application Development Company.pdfE-commerce Application Development Company.pdf
E-commerce Application Development Company.pdf
 
Using Query Store in Azure PostgreSQL to Understand Query Performance
Using Query Store in Azure PostgreSQL to Understand Query PerformanceUsing Query Store in Azure PostgreSQL to Understand Query Performance
Using Query Store in Azure PostgreSQL to Understand Query Performance
 
Energy consumption of Database Management - Florina Jonuzi
Energy consumption of Database Management - Florina JonuziEnergy consumption of Database Management - Florina Jonuzi
Energy consumption of Database Management - Florina Jonuzi
 
SMS API Integration in Saudi Arabia| Best SMS API Service
SMS API Integration in Saudi Arabia| Best SMS API ServiceSMS API Integration in Saudi Arabia| Best SMS API Service
SMS API Integration in Saudi Arabia| Best SMS API Service
 

West Yorkshire Mulesoft Meetup #6

  • 1. 07/11/2019: DataWeave 2.0 & RAML, Integrating Design with Development West Yorkshire MuleSoft Meetup Group
  • 2. All contents © MuleSoft Inc. Agenda 2 • Introductions • Who are the organizers? / Introductions • Guest speaker Ven: DataWeave • Networking & Food • Francis: RAML Integrating Design and Development • What’s next • Freebies
  • 3. All contents © MuleSoft Inc. Introductions 3 • About the organizers: – The integration team in Saint Gobain Building Distribution have been actively developing business applications within MuleSoft for over three years now. – The team provides integrations between different corporate systems as well as to external third parties and have replaced numerous file transfer integrations, automated scripts & exposed APIs for the Digital Transformation strategy. • About the sponsor: – Saint-Gobain Building Distribution is the company that bring together a number of suppliers & brands that supply material & tools into the construction industry – The company is part of the wider Saint-Gobain Group & uses IT infrastructure that is both within UK datacentres & IT services headquartered in France. – Saint Gobain employ over 180,000 people and are present in 68 countries. • Useful links: – https://www.saint-gobain.com/en
  • 4. Integrating Design with Development RAML
  • 5. All contents © MuleSoft Inc. RAML Integrating Design with Development 5 • RAML for Console – Requires to root element to be valid and ideally have all code in the specification to render the console – Requires that securitySchemes defined and a securedBy element populated by at least null to provide console functionality – The documentation element allows a readme file to be included in the console that can give instructions for expected behavior and information in the described resource
  • 6. All contents © MuleSoft Inc. RAML Integrating Design with Development 6 • RAML for Anypoint Exchange – Requires the title element to create the maven artefact name – Requires the version to populate the main version grouping of the published Anypoint Exchange artefact – The documentation element is incorporated within the Anypoint Exchange artefact and can be cut and pasted into the artefact page – baseUri and resource methods auto- populate in an artefact description pane, together with instance information
  • 7. All contents © MuleSoft Inc. RAML Integrating Design with Development 7 • RAML for API Manager – The title element is taken from the title in Anypoint Exchange which is populated from the original element – version required to differentiate API implementation and produce unique autodiscovery string – baseUri required to populate the location of the API implementation
  • 8. All contents © MuleSoft Inc. RAML Integrating Design with Development 8 • RAML for Anypoint Studio – Flows can be generated with payload stubs using the imported RAML specification
  • 9. All contents © MuleSoft Inc. RAML Integrating Design with Development 9 • RAML for Anypoint Studio – The first parts of a RAML definition can be used to provide configuration details to developer – Prevents typing errors and assigns correct testing details – item definitions aid with using ‘as :String’ or Integer.parseInt(message.inbou ndProperties.ID) functions when declaring values
  • 10. All contents © MuleSoft Inc. RAML Integrating Design with Development 10 • RAML for Anypoint Studio – Examples data can be included initially to aid with setting output payloads – Object definitions can be used to provide meta-data for transformations – Objects can be used as input into query-parms expressions – It is easier to carry out null checking on json objects than to remember to so this for each query-param used in a HTTP requester
  • 11. All contents © MuleSoft Inc. RAML Integrating Design with Development 11 • Useful Resources – There are a number of books that can help learn API design and RAML particularly – Manning: The Design of Web APIs & Undisturbed REST – API Workbench is a package that can be installed into ATOM editor – Design Centre at Anypoint Platform – The RAML Specification – GitHub project – The resources at RAML Org – The API Design Course from Mulesoft Training
  • 12. All contents © MuleSoft Inc. RAML Integrating Design with Development 12 Demo Time • Anypoint Design Centre – This RAML project describes the access of objects from a collection and shows how the RAML develops to describe the objects contained and how they can be searched – My main recommendation being that rather than specifying queryParams, that objects describe instead what can be searched via the queryString element
  • 13. Networking time Introduce yourself to your neighbours!
  • 14. The Power of Transformation - Venkata Nallapuneni (Ven): Integration Developer for Rathbones Brothers PLC DataWeave 2.0
  • 15. All contents © MuleSoft Inc. Background and Overview 15 • DataWeave language is introduced in Mule 4.0 • Replaces Mule Expression Language (MEL) • Supported by Anypoint Studio version 7 onwards • Features – New functions/methods are added – Improved power and method of transformation – Simplified syntaxes – Accessibility – Ease of Learning – Use of Data weave reduced the need for multiple transformers – Process flow are more simplified compared to Mule 3 versions
  • 16. “There’s nothing in this universe that can’t be explained. Eventually.” House MD
  • 17. All contents © MuleSoft Inc. Understanding Capabilities Transformation and Functions 17 • Many transformers are deprecated in Mule 4.0, as data weave replaces type transformations • Functions can be defined in any way as required • Operators are now functions • Simplified transformation using data weave • Transforms complex data and binary data can also be extracted from an expression • Type coercion errors are reduced comparatively • DataWeave language can be used in most components like http request, file connector, database etc.
  • 18. All contents © MuleSoft Inc. Use Dataweave expression in Variable Transformation and Functions 18 Transforms type and we can also define data type within same component
  • 19. All contents © MuleSoft Inc. File Connector and use of DataWeave language 1. - Use any Type of DW expression in the components like file connector, database, http request etc. 2. - Write or read mime types as needed. • Eg: write(payload,”application/xml”) • - DataWeave expressions not limited to content, can also be used in path . • - Coding Language type expressions • if and else •
  • 20. All contents © MuleSoft Inc. Accessing parameters is simplified in DataWeave 2 Simplifications and Inbound Properties 20 • Inbound properties are changed to attributes and outbound properties are removed • Eg: attributes.headers.id instead of message.inboundproperties.id attributes.queryParams.company (camel casing for all attributes) • Variables can be easily accessed in data weave 2.0 –replaced as variable (session vars and record vars are removed) • Access these parameters in any component that supports data weave expression
  • 22. All contents © MuleSoft Inc. DataWeave types 2.0 22 Dataweave types are improved in every version, have powerful capabilities • dw::Core Functions such as : camelize,capitalize etc. • dw::Crypto • dw::Runtime • dw::core::Strings • dw::core::URL • dw::core::Binaries • Etc.. Ex: stream a pdf document • Create your own custom modules
  • 23. All contents © MuleSoft Inc. What's New 23 New Data Formats Introduced • Avro (application/avro) • ndjson (application/x-ndjson) • Java Properties (text/x-java-properties) • Joins and improved functionalities in each dataweave types Ex: Right Join, Inner Join and Left join can be used within dataweave • Data types are improved in every module
  • 24. All contents © MuleSoft Inc. Conclusion 24 Useful Links and Resources: • https://docs.mulesoft.com/mule-runtime/4.1/dataweave • https://help.mulesoft.com/s/forum • https://docs.mulesoft.com/mule-runtime/4.2/dataweave-cookbook Blogs: • https://blogs.mulesoft.com/dev/mule-dev/dataweave-2-2-arrays-part1/
  • 25. All contents © MuleSoft Inc. 25 Ven Mulesoft Developer
  • 26. See you next time Please send topic suggestions to the organizer

Editor's Notes

  1. There are three types of logging as (its one of the exam questions), the system shows errors messages upon system and application startup and connectors and custom logs populate further during the uptime of the mule server There are a hierarchy of config files, where the first files in the application resources directory is used and if not present the one in the conf directory of the mule_home and if this doesn’t exist a default is referenced; This means logging cannot be disabled and startup logging will always occur even if only set to display in the console (for performance testing)
  2. Link to: