Following its introduction in 2015 as MuleSoft’s answer to data transformation, the DataWeave language has been on a path across and beyond Anypoint Platform. Today, we’re honored to announce that the future of DataWeave is now open.
DataWeave: The evolution of our language
Back in the time of Mule 3 and the early days of Anypoint Studio, our 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 us 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.
The power of DataWeave
We want the next stage in the evolution of DataWeave to include more voices, more opinions, and more engagement. We also know that DataWeave can become a vital part of every developer’s toolset.
While DataWeave may have been created to allow different systems to talk to each other within a MuleSoft application network regardless of the data formats handled, the problem is really a reality in any network. With the entire internet being just a collection of computers talking to each other and exchanging data, the problem of data transformation has never been more relevant.
One to rule them all
Back in 2015, when the initial team began designing the language, a major goal was to have a single tool that could handle with simplicity both JSON and XML, with all the complexities of the latter. The result was a canonical model that can represent any format, freeing developers from serialization concerns.
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.
Another critical goal for the design team was to have a tool that could reflect the complexity of the task at hand: simple transformations should be straightforward without restricting the ability to achieve the most demanding transformations. And so DataWeave was born, with declarative syntax and the flexibility of a proper programming language. This also meant that unlike other tools, robust tooling could be built on top of it.
Today, DataWeave not only has trillions of transactions under its belt demonstrating its power and reliability, but it also provides users the ability to design their code with confidence by testing and troubleshooting it.
The start of a journey
For a long time now, our north star has been guided by the wisdom of Guy Steele on “Growing a Language”. From the ability to extend the language with libraries to opening up our design discussions, it has all been an effort to let our users be a part of the language growth. And the open source journey is just the next step in that direction. We want to invite everyone to join us in it.
You can find everything to get started on our new landing page for DataWeave. From learning the fundamentals with our interactive tutorial to supercharging your command line with the DataWeave CLI and getting the best developer experience in Visual Studio Code, we’ve got you covered. You can also learn how to get involved, whether by getting support with an issue in StackOverflow, joining the community discussions in our Slack workspace, or reviewing and even making design proposals in our RFC.
On behalf of the entire MuleSoft team, we’d like to thank everyone who gave their time and energy to DataWeave over the years. We would not be at this point today without your efforts, resiliency, and vision. We are looking forward to now welcoming even more opinions and expertise and cannot wait to see what new heights we reach. In these coming months, we’ll be working on the operational building blocks to open our repository, so stay put for more news!