mule
它是一個以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 ESB
我們到Mule的官方網站下載Mule ESB,網站是:
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有多好用吧!