Back to Blog Archive

Mule 4

Posted on: November 7, 2017
Author:
Anton Pushparajah

Mule 4

Mule 4.0 is the latest iteration of the Mule runtime engine. Since the release in 2010, Mule 3 earned a global reputation across every major industry for its simplicity and small footprint. In planning for the fourth iteration of Mule, MuleSoft went back to the basics that guided the success of its predecessor, to answer 4 key questions:

  • How do we make Mule even easier to use?
  • How do we simplify common tasks?
  • How do we ensure the runtime runs at its best, without manual tuning?
  • And how do we reduce long-term maintenance costs by simplifying operations and upgrades?

Mule 4 innovatively delivers a vastly more powerful all-purpose engine for building application networks, while retaining everything users of Mule 3 loved; its lightweight, runtime, and extensibility.

What is new in Mule 4?

Mule 4 comes packed with many new capabilities compared to its earlier versions. Here is a summary of the most significant changes:

  • Simplified Event and Message Model
  • DataWeave 2.0: The New Mule Expression Language
  • Streaming Management
  • Non-blocking, self-tuning runtime
  • Enrich Events Directly from Connectors/Modules
  • Simplified Connectors and Modules Experience
  • Simplified Error Handling and New Try Scope
  • Improved Upgradeability of External Libraries with Classloader Isolation
  • 3 Runtime APIs to Allow or Extend Mule Runtime Capabilities
  • MUnit 2 with simplified usability and syntax updates.

Benefits of Migrating to Mule 4

Operations simplified: Mule 4’s simplified language and reduced management complexity allow users to speed up the on-ramping process and deliver applications faster. However, users familiar with the concepts of the previous versions of the runtime are not left behind; since the newest iteration of Mule only simplifies the day-to-day development.

Easier to learn: Mule 4 has been made easier to learn for users of varying technical knowledge. Mule 4 development requires less experience to leverage its capabilities. The essential skills like Java, Spring and Maven are optional in the Mule 4 landscape.

Enhanced productivity: Mule 4, provides another step towards enabling the idea of Citizen Integrators (integration by non-IT personnel). The ‘Anypoint Design Centre’ can be used by non-technical users to implement Mule flows and APIs. Simple web-based drag-and-drop tools embedded within the Anypoint Platform help accelerate the productivity within the organization.

Mule 4 Migration Challenges

Unfortunately, despite MuleSoft’s dedication to minimizing incompatibilities during migration, some modules are not backward compatible.

However, MuleSoft is making every effort to simplify the migration through the provision of some new tools that are to be released shortly. The ‘DevKit migration tool’ and ‘Compatibility Modules’ will be made available to support the migration process and help address backward compatibility issues.

It should also be noted that for organizations that have previously followed the Mule development best practices the impact should be greatly reduced regarding these challenges while upgrading to Mule 4. Furthermore, in response to beta users’ feedback, MuleSoft has decided not to deprecate some connectors/transformers as rolled out in the beta release.

MuleSoft provides backward compatibility support

Mule 4 has introduced added consistency around modules and connectors, with the aim of creating one unified experience of how to interact with Mule components. Modules and connectors can be created and managed using the Mule SDK, which provides a unified way to extend Mule. This means that all DevKit connectors/modules need to be migrated to the ‘Mule SDK’ platform. The Devkit Migration Tool facilitates this migration process.

Mule Core and a number of Connectors and Modules are changed, updated or deprecated in Mule 4. The Compatibility Module for Mule 4 will support and provide backward compatibility for the features that cannot be migrated on a one-to-one basis.  

How to prepare for Mule 4

There are 2 major updates that affect all users:

Deprecation of ‘Mule Expression Language’ (MEL)

Dataweave (DW) is the key replacement for MEL. Dataweave becomes the single standard scripting/expression language for the Mule platform going forward. Setting an organization level development standard/practice; disusing MEL in any future development and migrating MEL functionalities to DW as early as circumstances permit will make the upgrade process easier. (Read more: Tested changes in Dataweave 2.0)

Mule Message Properties/Variables

Mule 4 messages exclude inbound, outbound or session properties. Notwithstanding the impact of the change when migrating to Mule 4, there are no precautionary measures to consider in Mule 3.x. No workaround is available until the upgrade, but with the Compatibility Module, applications should work seamlessly with Mule 3.x message properties.

MuleSoft published the list of deprecated Mule 3.x components and expressions and their replacements:

  • Migrate to Dataweave
  • Functionalities already available in different connector/module.
  • Replacements are under development
  • Components completely removed and no replacements

Mule 3.x components and expressions need to be updated or changed to Mule 4 supported replacements as necessary. Not all Mule 3.x components need to be changed. Some components can be removed as Mule 4 automatically takes care of the functionality as required.

Mule 4 Upgrade

A Mule 4 upgrade should be approached as a migration project. Mule 4 received an unprecedented amount of innovative updates and changes. In Mule 4, the testing framework has been updated to MUnit 2. Therefore, the application and test packages need to be updated or refactored to meet the latest specifications and standards.

Migrating to Mule 4 from a Mule version older than 3.8.x extends the challenge further. Applications which have runtimes older than Mule 3.8.x need to be upgraded to the latest 3.8.x or 3.9.x versions beforehand.

Organizations do not need to rush to implement Mule 4 migrations as Mule 3.9.x is going to be supported for a few more years. Although major migrations to Mule 4 probably won’t start happening until mid next year, one should start preparing for it now to avoid any unpleasant surprises, lengthy delays and/or system failures.

So where is the best place to start?

What can I do now to prepare for my move to Mule 4?

  • First, it is recommended to evaluate your existing Mule applications and capabilities;
  • rank applications and modules from ‘mission-critical’ to ‘nonessential’ or ‘redundant’;
  • put together a list of ‘what-can-go-wrong’ and possible measures to mitigate risks.

This should help identify any problem areas and a conversation can start with MuleSoft should any of the above require outside support.

Once this has been achieved it will be possible to outline a migration plan and timeline.

How can Ricston help?

Ricston has been implementing Mule solutions for more than 11 years,  migrating many client systems from as early as Mule v1.x, through to v2.x and v3.x and gaining invaluable experience along the way.  

We look forward to helping our clients and other companies upgrade to Mule 4, so please keep an eye on our blog for more information related to Mule 4 and ‘MuleSoft Anypoint Studio 7 tested new features’ and ‘how-tos’.

We are also offering an ‘Upgrade and Migration service’ – a packaged solution that includes a range of services from assessing existing architecture, conceiving a migration plan, to actually performing an upgrade (including cleaning and optimisation of your code).

 

Please get in touch with our biz-dev team for more information.

 

Author:
Anton Pushparajah

Comments

Contact Us

Ricston Ltd.
Triq G.F. Agius De Soldanis,
Birkirkara, BKR 4850,
Malta
MT: +356 2133 4457
UK: +44 (0)2071935107

Send Ryan a message

Ryan Delia
Business Development Manager