它是一個以Java為核心的輕量級的消息架構和整合平台,基于EIP(Enterprise Integeration Patterns,由Hohpe和Woolf編寫的一本書)而實作的。Mule的核心元件是UMO(Universal Message Objects,從Mule2.0開始UMO這一概念已經被元件Componse所代替),UMO實作整合邏輯。UMO可以是POJO,JavaBean 等等。它支援30多種傳輸協定(file,FTP,UDP,TCP,email,HTTP,SOAP,JMS等),并整合了許多流行的開源項目,比如 Spring,ActiveMQ,CXF,Axis,Drools等。雖然Mule沒有基于JBI來建構其架構,但是它為JBI容器提供了JBI擴充卡, 應此可以很好地與JBI容器整合在一起。而 Mule更關注其靈活性,高效性以及易開發性。從2005年發表1.0版本以來,Mule吸引了越來越多的關注者,成為開源ESB中的一支獨秀。目前許多 公司都使用了Mule,比如Walmart,HP,Sony,Deutsche Bank 以及 CitiBank等公司。Mule 3版本以後內建OSGi,支援熱部署。
可見OSGI必将是将來的一大趨勢,各大廠商,開源軟體等都已經開始支援此規範。
我們到Mule的官方網站下載下傳Mule ESB,網站是:
<a href="http://www.mulesoft.org/">http://www.mulesoft.org/</a>
Mule一共有兩個版本,一個是社群版,一個是企業版,企業版是收費的,但是功能強大。
圖:Mule ESB社群版
圖:Mule ESB企業版
我們下載下傳社群版。
然後解壓、啟動Mule Studio,選擇工作空間:
圖:Mule Studio啟動并運作
啟動并且選擇預設的工作空間後,就會出現如下界面:
圖:Mule Studio的歡迎界面
建立新工程:File > New > Mule Project
因為我們要做的示例是拼寫檢查,是以我們這裡命名叫SpellChecker
圖:建立Mule工程
其它預設,下一步然後完成。
工程界面如下:
圖:Mule Studio工作界面
接下來我們為示例設定兩個檔案夾:
選擇Studio Application Menu > File > Open File >
然後打開你的Mule Studio安裝檔案夾,Examples > Spell Checker
新增目錄InXML和OutXML
圖:在目錄中新加檔案夾
下面看下典型的業務流程:
圖:業務流程圖
web用戶端發送Http請求然後到入口端點,經過Filter進行過濾錯誤的資訊,然後轉換成JMS的服務,經過Java的業務邏輯元件處理最後再轉換成Http請求傳回給用戶端應用,就是這麼樣的一個流程。
下面我們就Mule Studio來畫一下對應的應用,直接看完成後的效果:
圖:spell checker處理流程
輕按兩下第一個File,設定上邊建立的輸入檔案夾:
圖:設定輸入的檔案夾
然後輕按兩下Http标簽,設定如下:
圖:http設定
最後設定File的輸出規則:
圖:File的輸出規則及輸出目錄
儲存檔案,然後我們運作工程,工程上點右鍵,Run As > Mule Application
正常啟動後應該能看到
圖:Mule啟動運作spellchecker
圖:spellcheck檔案的位置
将示例中spellcheck拷貝到InXML中,然後我們看Mule的控制台
圖:Mule控制台的資訊
我們再看一下OutXML檔案夾,多了一個生成後的檔案
上面就是Mule的示例工程,看看Mule有多好用吧!
<a href="http://www.cnblogs.com/skyme/archive/2012/08/08/2627587.html">一步一步學Mule ESB——(第一篇:基礎篇)</a>
<a href="http://www.cnblogs.com/skyme/archive/2012/08/10/2631244.html">一步一步學Mule ESB——(第二篇:Ajax篇)</a>