Mule 4 Kernel – revealed!

Last Updated on 30/03/2020 by Patryk Bandurski

In this article, I would like to write a little about new Mule Kernel 4. As I have stated it earlier this is rebranded Mule 4 CE. You will see, what capabilities we have in this release. Some of them we will investigate later on in forthcoming articles.

Mule Kernel 4

On the download page of Mule Kernel, you will find information that Mule Kernel is licensed under Common Public Attribution License and its source code is publicly available on GitHub. It is clearly rebranded Community Edition.

Development Tools

On the MuleSoft website, there is information that Anypoint Studio is available for Mule Kernel. However, when we would like to install Kernel (Community Editon) runtime we do not have such an option. We may only install enterprise runtimes. It might be a mistake on the page that I was looking at, or Anypoint Studio support for this is not ready yet. In the next article, I described how to create a community project and then deploy it in Kernel runtime.

You may also use IntelliJ IDEA with Mule 4 Runtime plugin – what I have described here. In that case, you do not have a graphical interface. You can only design flows in XML. This will also be described in more detail in a separate article.

Connectors

In this version, we have all community connectors. We do not get select or premium connectors.  We can use safely the following modules:

  • HTTP
  • FTP(S)
  • File
  • JMS
  • Database
  • VM
  • Web Service Consumer
  • Email
  • Socket

All other connectors available at Exchange are licensed and not accessible. As a result, when we need them we need to write modules on our own.

Expression language

One of the biggest news was Mule Expression Language (MEL) removal from Mule 4. It was replaced with nonother than DataWeave. It is then a big question for Kernel edition.  On MuleSoft pages, you will find information that DataWeave transformation language is not available in the community version.

Based on my tests I found out that DataWeave as expression language for choice etc works perfectly fine. Here are two examples:

#[output application/java
---
{
	"X-Header" : "0-1"
}]
#[vars.statusCode default 201]

The first example is obvious. We have an expression creating a Java object containing one property called X-header. The second example is called an inline DataWeave. It is defined without output type (by default application/java is used). In the last example 201 value is returned if statusCode is empty.

Why did it work? Probably because it is not in enterprise namespace and does not contain %dw 2.0 header

Enterprise features

Rest assured that when you use any enterprise feature application won’t be deployed in Mule Kernel 4.x. In server logs, you will find Failed to deploy artifact error with information why it did not work. In the case below, namespace ee is not resolvable.

Failed to deploy application
Failed to deploy application

Summary

This is just a big picture of Mule Kernel features, but now you should know what connectors are available. Development environment (IDE) is still a big question. Why it does not support Kernel edition, but there is a workaround for this. Last but not least, for evaluating expressions DataWeave seems to work. When we try to use some enterprise feature like Dataweave transformation component or select connectors we will get an exception during deployment.

Reference page: runtime comparison.

Mule 4 Kernel – revealed!

2 thoughts on “Mule 4 Kernel – revealed!

  1. Hi, I’m looking forward to get more details on developing projects with Anypoint Studion 7 for the community runtime. There seems to be no information about this on MuleSoft’s website or anywhere else.

    1. Hi, I will post it soon. I agree with you that is hardly difficult to find any info about it on MuleSoft’s sites.

Leave a Reply

Your email address will not be published. Required fields are marked *

Scroll to top