There are some basic concepts in the Mule ESB that understand these basic concepts before you can understand the internal mechanisms of Mule. We can also see the basic idea of mule to solve the problem.
4. Basic Concepts
4.1 Model
Model represents the run-time environment that hosts individual services.
Figure Model
4.2 Service
A service is the basic unit that is used to process requests for services, which invokes individual components for processing service requests.
Figure Service
4.3 Transport
Transport manages the receipt and delivery of messages, and the process of data conversion is done in transport by calling Transformer.
Figure Transport
4.3.1 Connector
Connector is used to control the use of specific protocols, such as HTTP Connector, JMS Connector, and so on.
4.3.2 end-point
Endpoint is used to represent a specific use of a protocol, such as Listening/polling, reading from, writing to a specified address, and defining a channel for sending and receiving messages. Endpoint controls how the underlying entities are used in the connector.
Endpoint are defined in inbound and outbound router.
4.4 Transformer
The transformer is used to convert the contents of a message.
Figure Transformer
4.5 Router
Router uses filter to distribute messages based on the attribute information in the message.
Figure Router
The location of the router in the service determines the nature of the router (inbound, outbound, and response) and the roles they assume (pass-through, aggregator, etc.).
4.6 Component
Component is the core part of the service and is the implementation of the service's business logic.
Figure Component:implicit Bridge Component
Component can be Java Class (POJO, Spring Bean), Web Service, script, and so on.
Component can define its own life cycle: initialise, start, stop, Dispose, but mule lifecycle interfaces are required. The Mule 3.0 version starts with annotations to the @postconstruct and @predestroy, and the initialise and dispose phases of the lifecycle do not need to implement Mule lifecycle interfaces.
4.7 Flow (@since 3.0)
Flow is a new introduction to Mule 3.0, which contains a single message source and a processor chain consisting of multiple message processors.
Figure Flow