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.
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
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
else code block in most programming languages.
For component documentation, see Core Components.
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 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.