Mule ESB中有一些基本的概念,理解這些基本概念後才能理解Mule的內部機制。從中也能夠看到Mule解決問題的基本思路。spa
4. 基本概念component
4.1 Modelorm
Model表示託管各個服務的運行時環境。接口
圖 Model生命週期
4.2 Serviceip
Service是用來處理服務請求的基本單位,它調用各個組件進行服務請求的處理。ci
圖 Serviceit
4.3 Transportform
Transport管理消息的接收和發送,數據轉換的過程也是在Transport中經過調用Transformer完成的。請求
圖 Transport
4.3.1 Connector
Connector用於管控特定協議的使用,如HTTP Connector、JMS Connector等。
4.3.2 End-Point
Endpoint用於表示一種協議的特定使用方式,如listening/polling、從中讀取、向指定地址寫入等,定義了發送和接收消息的通道。Endpoint控制的是底層的實體在Connector中如何被使用。
Endpoint定義於Inbound和Outbound Router中。
4.4 Transformer
Transformer用於轉換消息的內容。
圖 Transformer
4.5 Router
Router使用Filter基於消息中的屬性信息進行消息的分發。
圖 Router
Router在Service中的位置決定了Router的性質(inbound、outbound和response)和擔任的角色(pass-through、aggregator等)。
4.6 Component
Component是Service的核心部件,是Service的業務邏輯的實現。
圖 Component: implicit bridge component
Component能夠是Java Class(POJO、Spring Bean)、Web Service、Script等。
Component可定義本身的生命週期:initialise、start、stop、dispose,不過須要實現Mule的LifeCycle接口。Mule 3.0版本開始提供@PostConstruct和@PreDestroy的註解,對應生命週期的initialise和dispose階段,不須要實現Mule的LifeCycle接口了。
4.7 Flow(@since 3.0)
Flow是Mule 3.0新引入的,包含一個消息源(Message Source)和多個消息處理器組成的處理器鏈。
圖 Flow
to be continued...