Mule Components
The main building blocks of Mule applications are components. Components execute business logic on the messages that flow through your Mule applications. There are a couple types of component: Core components and the components that belong to connectors and modules.
Core Components
These are individual components that are part of the core of the functionality of Mule Runtime. Here is a sampling of the features that core components let you add to your apps:
-
Asynchronous processing of parts of a flow or subflow
-
Batch processing of messages
-
Initiating subflows
-
Logging
-
Setting payloads
-
Transforming messages with the DataWeave language
-
Creating Try scopes in your flows so that you can catch and respond to errors
For example, the Choice router is a component that dynamically routes messages through a flow according to a set of DataWeave expressions that evaluate message content. Each expression is associated with a different routing option. The effect is to add conditional processing to a flow, similar to an if
/then
/else
code block in most programming languages.
For component documentation, see Core Components.
Connectors
Connectors group together components that were created to facilitate the integration of MuleSoft applications with any external resources, such as third-party APIs or standard integration protocols. They enable connectivity to SaaS and on-premises applications, systems, and services.
For example, the Salesforce Connector provides components that let you use the Salesforce platform APIs to perform a large number of different operations.
Modules
Modules group together components that were created to add flexibility to your applications by allowing you to aggregate values compress data, use Java features, use extra features for processing JSON, and more. The features that modules offer are more at the level of traditional application coding.
For example, the XML module provides components that can process and extract data from an XML document.