MuleSoft
5 min read

Dataweave - The Good, The better And The Best

Written by
Zaki Rathore
Published on
June 24, 2022

DataWeave has been around for over 7 years now. Since its introduction as a primary language for data transformation, it has seen some evolution that is very much revolved around the people and the pain points of the people.

The Evolution

Back in the time of Mule 3 and the early days of Anypoint Studio, the first data mapping tool was born in the form of a UI backed by a third-party engine. DataMapper was a great tool, but couldn’t scale well against the increasing number of transformation use cases that our customers faced. And thus, DataWeave 1.0 was born as an engine of our own, one that could support simple use cases in a declarative way while giving users the full power of a language to handle their most complex requirements.

By the time Mule 4 was under discussion, the language had become a hit and people were relying on it for more than just transformation. With DataWeave 2.0, the language took a big leap forward and was introduced as the expression language for Mule, becoming featured in every component requiring dynamism.

The evolution of the language allowed MuleSoft partners to venture into new domains: DataWeave was used to allow functional testing of APIs with our monitoring tool. At the same time, the Salesforce acquisition gave us the chance to embed DataWeave into new engines like Apex, an effort that continued with our new Flex Gateway. And earlier in 2022, we honored our reuse story and landed in Exchange with a complete software development lifecycle solution to develop libraries.

One For All

With DataWeave, there’s no need to research, understand, or troubleshoot the specific library for XML or CSV in your particular stack – it takes care of all the formatting for you. Should a new format gain popularity, we would just add a reader and writer for it to DataWeave and all your existing data transformation logic would remain the same.

With this robust approach towards a newer format, Dataweave 2.0 has truly redefined the ease of data cleaning and transformation. A lot of customers want to make sense of their data and this is the perfect tool to complement the design and architecture best practices of MuleSoft.

Latest Innovation

DataWeave has finally rolled out its support with Apex inside Salesforce. The Salesforce acquisition of MuleSoft 2 years ago played a huge role in making this change come to market and make things even more seamless and friendly for our customers.

Salesforce has complemented the abilities of Mulesoft with many third-party connectivities to their different organization clouds but this is the first step forward towards making things connected from a developer point of you as well.

What to Expect from this New Feature

Where: This feature is available in scratch orgs where the DataWeaveInApex feature is enabled, in both Lightning Experience and Salesforce Classic experience. The Developer Preview of DataWeave in Apex doesn’t support packaging.

How: You can create DataWeave scripts as metadata and invoke them directly from Apex. Similar to Apex, DataWeave scripts are run within Salesforce application servers, enforcing the same heap and CPU limits on the executing code.

The Future

The future looks ever so bright for our developers and in turn customers. Salesforce and MuleSoft are collectively trying to make sure the developers of both platforms get to have a diverse set of skills under their belt. At the same time, this innovation makes both products better for customers looking to get Integration solutions and seamless connectivity across cloud platforms.

Sample Script

Yes. It is as easy as it looks. And we can only expect it to get better and better! With that being said, Dataweave is now open source!!

Subscribe to our newsletter

Subscribe to receive the latest blog posts to your inbox every week.

By subscribing you agree to with our Privacy Policy.
Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.