Mule SDKs
Use the Mule SDK for Java or XML to extend the Mule 4 Runtime by creating new modules that you can install in Mule apps. Examples of modules include connectors, such as HTTP, or modules with custom functionality, such as the Validations Module.
The SDK provides an API that:
-
Facilitates faster development of Mule modules than its predecessor, DevKit.
-
Decouples modules from the Mule Runtime internals.
-
Assures consistency across Mule components and other modules, such as cloud connectors.
You can use either the advanced, feature-rich Java Mule SDK or the simpler XML SDK, which provides only outbound operations and doesn’t support recursive calls.
Differences from DevKit
The Mule SDK for Java is the Mule 4 evolution of DevKit. It replaces Devkit and provides the canonical way of extending the Mule Runtime. DevKit is not available for Mule 4.
Although the SDK builds on the same idea of annotated Java classes, internally it works differently:
-
The SDK is not a code generator. The built module does not contain any generated code (not even the XSD schema). Your module interacts with Mule Runtime through a clearly defined Extensions API. However, you do not need to learn the details of this API because the SDK framework takes care of that for you.
-
Compared to DevKit, the SDK is more powerful and supports more features:
-
Transactions
-
Request-response message sources
-
Dynamic configurations
-
Routers
-
Non-blocking operations
-
Classloading isolation
-
Enhanced interoperability with runtime services
-