Mule ESB Studio v3.3 安裝使用手冊(附文檔下載)--by he_sk


Mule ESB Studio v3.3 安裝使用手冊  from he_sk  下載鏈接:http://mule3doc.googlecode.com/svn/trunk/others/Mule+ESB+Studio+v3.3%E5%AE%89%E8%A3%85%E4%BD%BF%E7%94%A8%E6%89%8B%E5%86%8C.docx

 

1      ***初級教程***

如果你還沒有做好准備,請到http://www.mulesoft.org下載免費的社區版Mule ESB,按照網站上的說明啟動Mule Studio,並且選擇一個工作區(另外,你還可以下載30天免費試用的企業版Mule ESB)

2      安裝Mule Studio

安裝前,請確認你的機器上已經安裝了1.6版本的JDK。最后請確認你的JDK環境變量配置是否正確

 

2.1 導出

將下載的文件解壓到你的硬盤分區的根目錄下,例如:C:\

1. 執行

找到C:\MuleStudio目錄,運行muleStudio.exe啟動Studio

2. 選擇工作區

點擊OK使用默認的工作區

 

3      使用Studio模板

1. 點擊File 菜單,選擇New > Mule Project

2. 出現New Mule Project面板后,為你的項目輸入名稱和一個簡短的說明,如圖:

3. 在Server Runtime選項上選擇你將要使用的Mule運行時版本,如圖:

4. 點擊旁邊的復選框,根據現有的模板創建項目,單擊項目,選擇你想要使用的模板創建項目,如圖:

5. 點擊Finish按鈕,Mule Studio會創建並打開一個新的項目,完成預創建和預配置的流程

6. 在Mule Studio的Package Explorer欄中,右鍵點擊mule-config.mflow文件,選擇Run As > Mule Application

7. 停止運行該項目,請在Mule Studio控制台點擊紅色的Terminate按鈕,如圖:

 

4      運行獨立的例子

1. 到MuleESB Standalone目錄下,找到Examples目錄下你想運行的例子

2. 拷貝.zip文件的例子到$MULE_HOME/apps目錄下,例如:運行Flight Reservation example的例子,拷貝mule-example-flight-reservation-3.3.0.zip$MULE_HOME/apps目錄下,如圖:

3. 啟動Mule,運行這個例子

5      啟動Mule Studio

如果你在安裝過程中啟動了MuleStudio,並且已經在運行了,請跳過本節的其余部分,直接進行:創建新項目

 

如果當前MuleStudio沒有啟動,通過完成下面的步驟啟動應用程序

 

1. 找到Mule Studio安裝目錄

2. 執行muleStudio.exe

3. 點擊OK使用默認的工作區

6      創建新項目

1. 如果你看到是各種控制組件的應用程序窗口(右下圖),請直接進入第2節。相反(左下圖),這是你第一次運行Studio。單擊Go to Mule Studio,然后進入第2節

2.點擊File > New > Mule Project

3. 在彈出的New Mule Project窗口中輸入你的項目名稱

4. 點擊描述文本框中的任意位置,然后鍵入與項目有關的描述,需要注意的是Server Settings顯示的是Mule Server3.2.1 社區版

5. 點擊Next

 

所有項目都包含至少一個消息流程,由於是一個簡單的項目,所以只有一個消息流程。我們將把應用程序的名稱用作流程的名稱,所以請在New Mule Flow面板中輸入名稱:“Spell Checker”,然后點擊描述文本框中的任意位置。

 

注意,Studio會自動將大寫字母轉換為小寫,使用“_”字符替換單詞之間的空格,並在結尾追加“. mflow”。結果顯示在File name字段中。當你建立Spell Checker應用程序的拖放和拖放界面時,. mflow文件會一直跟蹤你的工作。

 

Description中輸入任意描述,點擊Finish完成創建

7      文件夾設置

Spell Checker應用程序需要一對特殊的文件夾,方便數據的輸入和輸出。可以通過完成以下步驟來創建它們:

1.      找到Studio菜單> File > Open File >

2.      然后在Open File的窗口中找到你的Studio安裝目錄,例如:C:\MuleStudio > Examples > SpellChecker

3.      在該目錄下創建兩個分別以InXMLOutXML命名的文件夾

8      關於Mule流程

在我們的例子中(如下圖),Web客戶端發送HTTP消息的Inbound Endpoint設置為“request-response”的交換模式。換句話說,用戶期望應用程序能夠響應他們的請求。

過濾器判斷收到的消息是否有效,然后決定丟棄或者傳遞給流程中的下一個模塊(將HTTP請求按照JMS規范進行轉換)

接着,用Java編寫的一個業務邏輯組件的消息進行處理,然后生成一個回答,傳遞到另一個轉換器,將回答從JMS轉回HTTP響應,然后把響應返回給正在等待的Web客戶端。

 

 

9      模塊部署

你可以從右側組件欄中拖拽組件到畫板上,從而創建一個Mule 流程,組件欄中一共包含七個類別的組件:EndpointsScopesComponentsTransformersFiltersFlow Control、和Cloud Connectors

10            創建Spell Checker流程

1.      在Endpoints類組件欄中找到File,單擊並拖放到左側畫板中相應的位置

2.      單擊並拖動HTTP,也放在Endpoints組中,但要確保你把它放到File圖標的右側,因此,它會出現在用虛線表示的邊框內

3.      松開鼠標按鈕后,會有一條箭頭線從File組件指向HTTP組件

4.      添加另一個File組件,將Endpoints類組件欄中的File組件拖放到HTTP組件的右側,必須確保它也出現在用虛線表示的邊框內

5.      最后,拖放Ehco組件,將它放到第一個File組件和HTTP組件中間,你的畫板展示了一個完整的流程,如下圖:

11            配置流程組件

幾乎所有的Mule組件提供的配置選項,你都可以通過對話框設置,無需編寫XML

 

 

12            File入站端

1.      雙擊流程中最左側的File組件,會彈出一個EndpointProperties對話框,默認顯示General選項卡,需要注意的是,Mule自動識別這個文件組件為入站端點(Inbound Endpoint)。

2.      在Display Name輸入框中,你必須輸入一個具有很強描述性的名字,比如:“Incomming data File”

3.      在Path Information面板中,在Path字段輸入InXML所在項目的路徑,整體路徑看起來像這樣:C:\MuleStudio\Examples\SpellChecker\InXML

4.      點擊OK,完成Incoming Endpoint的配置並返回畫板

13            Echo組件

應用啟動時,在Studio控制台輸出消息的組件,無需特殊配置

 

1.      你也可以在General選項卡的Display Name字段輸入名字,在Documentation選項卡的descriptive comments字段輸入一些描述信息,當你的鼠標移到該組件上面,會展示出這些信息

2.      點擊OK,完成Echo組件的配置並返回畫板

14            HTTP Endpoint

這個出站端從后台檢索信息(這例子中的后台是Google Spell Checker API

 

1.      雙擊HTTP組件,在General選項卡中完成配置

Host字段輸入www.google.com/tbproxy/spell?lang=en

Port字段輸入Google Spell Checker Server使用的端口:80

Method字段輸入GoogleSpell Checker Server使用的方法類型:POST

2.      點擊OK完成配置

 

如果你打算在公司防火牆后面運行本教程中的應用程序,需要另外配置:

雙擊HTTP Endpoint,點擊References選項卡

點擊Connector Reference選項卡右邊的"+"圖標

點擊Proxy Settings,進行如下圖配置:

15            File 出站端

1.      雙擊配置流程右邊的File組件

2.      在Path InformationPath字段輸入OutXML所在項目的路徑,整體路徑看起來像這樣:C:\MuleStudio\Examples\SpellChecker\OutXML

3.      在Output pattern欄中配置以下輸出格式:

#[function:datestamp:dd-MM-yy]_#[function:systime].xml

這會讓Mule在OutXML目錄下以時間戳的格式給生成數據的文件命名

4.      點擊OK完成配置

祝賀你!你已經完成了你的第一個Mule ESB應用

 

可選:點擊控制台下方的Configuration XML選項卡切換到XML視圖,你可以看到XML格式的流程信息,你可以直接修改這些XML內容,只要切回流程視圖,你的修改會很快體現在視圖中,在XML視圖中你應該看到如下內容:

 

16            運行Spell Checker

Package Explorer欄中,鼠標右鍵spell_checker.mflow,在彈出的菜單中點擊Run As > Mule Application

 

如果你沒有保存該應用,在彈出的Save and launch對話框中點擊OK,Mule會保存並自動運行該應用

 

隨后控制台會打印出Started app 'spell_checker'等信息

 

17            測試Spell Checker

你的項目正在運行,Mule正在檢查InXML目錄下的XML文件,如果要啟動一個流程,你需要拷貝一個XML文件到這個目錄下

 

1.      到Spell Checker 目錄下(例如:C:\MuleStudio\Examples\SpellChecker)

2.      找到spellcheck.xml文件,這個文件中包含一些拼寫錯誤的內容:"Creeating mi fiirst MulleStudio aplication!"

3.      將這個文件拷貝到InXML目錄下,請注意,你只需要做這一步

Studio控制台會輸出一些信息,最后的內容是:"Writing file to..."

隨后spellcheck.xml文件不再保留在InXML目錄下

一個新的文件在OutXML目錄下產生

這個新產生的文件名字包含我們在File出站端指定的時間戳格式,如:

21-01-12_1327187012641.xml

新產生的文件中包含拼寫錯誤的單詞的更正

Spell Checker應用會一直運行,等待處理新的文件

 

下面是你拷貝到InXML目錄下的spellcheck.xml文件內容:

<?xml version="1.0" encoding="utf-8" ?>

  <spellrequest textalreadyclipped="0" ignoredups="0" ignoredigits="1" ignoreallcaps="1">

    <text>Creeating mi fiirst Mulle Studio aplication!</text>

</spellrequest>

 

 

 

 

 

 

 


下面是Google API返回的修改建議,這部分內容保存在以時間戳格式命名的文件中,放在OutXML目錄下

<?xml version="1.0" encoding="UTF-8"?>

  <spellresult error="0" clipped="0" charschecked="44">

    <c o="0" l="9" s="0">Creating Crating Greeting Cremating Curating</c>

    <c o="13" l="6" s="0">first     foist fist fiesta fest</c>

    <c o="20" l="5" s="0">Muller Mlle Mule Mull        Miller</c>

    <c o="33" l="10" s="0">application applications allocation placation implication</c>

</spellresult>

 

 

 

 

 

 

 

 


18            ***中級教程***

初級教程演示了如何創建簡單的拼寫檢查的應用程序。中級教程將會演示如何使用Studio拖放接口去完成更復雜的Ajax Spell Checker,它包含了以下幾項內容:

1.      GoogleSpell Checker的web服務

2.      一個HTML頁面

3.      預先排好序的Mule組件

本教程覆蓋了以下任務:

1.      創建一個有Ajax出站端和Ajax連接器的流程

2.      將網頁上的數據轉換后傳遞到Mule 消息處理器的流程

3.      使用XSL和Mule轉換器預處理用戶輸入的內容,變成Google API能夠理解的XML格式

4.      創建一個Google Spell Checker API的連接,以便它可以處理網頁上輸入的內容

5.      通過Ajax返回XML數據給原網頁

6.      在流程里實現一個Jetty HTTP server

如果你已經完成了初級教程,最好關閉之前教程中所做的項目,否則可能會在接下來的教程中引起混亂,你需要做好以下步驟:

1.       鼠標右鍵spell_checker或者你在基本教程中使用的其他命名的項目

2.       選擇Close Project選項

 

 

 

 

 


這個Ajax Spell Checker流程包含五個組件和一個連接器

本節覆蓋了前面基礎教程中創建項目的步驟:

1.      點擊File > New > Mule Project

2.      在彈出的New Mule Project窗口中輸入Ajax Spell Checker作為項目名稱,點擊Next

3.      當New Mule Flow面板出現之后,在Name字段輸入ajax flow或者其他比較有意義的名字,名字中的空格會被替換成下划線,比如:ajax flow會最終以ajax_flow.mflow呈現,

點擊Finish

 

19            向流程中添加組件

如果你已經創建了Ajax Spell Checker,請雙擊ajax_flow.mflow文件,它在Package Explorer欄的flows目錄下

 

接下來在Global Elements視圖中創建Ajax connector組件,在Message Flow視圖中創建Ajax endpoint組件,本教程后面會演示這兩個組件如何一起實現Jetty HTTP 服務器的Ajax傳輸通道

 

 

 

 

 

 


將以下組件按照編號的順序從左至右拖放到畫板中,如下圖所示,這些組件分別在右側組件欄的EndpointTransformerComponents類別中:

1. AjaxEndpoint

2. Object-to-XMLTransformer

3. XSLTTransformer

4. HTTPEndpoint

5. EchoComponent

 

如果你創建的組件不小心放錯了順序,只需要刪除它,然后從組件欄中拖放另一個放到你的畫板中

 

 

 

 


20            添加和配置連接器

接下來,添加並且配置Ajax連接器,它是一個全局元素(即模板),它向Ajax Endpoint提供服務器連接信息

 

1.      點擊畫板底部的Global Elements選項卡,打開Global Elements視圖

 

 

2.      點擊Create按鈕打開Choose Global Type面板

 

3.      展開Connectors節點

4.      選擇Ajax,點擊OK

a. 在 Name字段輸入AjaxConnector

b. 在ServerURL字段輸入http://127.0.0.1:8090/Ajax

c. 在ResourceBase字段輸入src/main/app/docroot

5.  點擊OK,關閉窗口

現在Global Elements視圖列出了一個Ajax連接器

21            配置模塊

現在,Ajax連接器已經創建好了,接下來需要將這個連接器引用到Ajax Endpoint

22            配置Ajax Endpoint

Ajax Endpoint是流程的Message Source(即入站端),按照下面的步驟完成配置:

1.      點擊Message Flow選項卡

2.      雙擊Ajax組件,打開屬性配置面板

3.      在General選項卡的Display Name字段輸入AjaxChannel

4.      在Channel字段輸入/services/echo,這個路徑用於和web頁面通訊

5.      點擊References選項卡,點擊ConnectorReference下拉菜單,選擇AjaxConnector,這個就是剛剛在GlobalElements視圖中創建的Ajax連接器(windows系統的面板可能和下面的截圖有些差異)

點擊Connector Reference右邊的“增加”或“修改”按鈕,可以在References選項卡中編輯這個Ajax連接器,無論你在哪里創建它,都可以在Global Elements視圖中看到它

 

 

 

 


6.      點擊Documentation選項卡,在Description字段輸入一個富有意義的描述,點擊OK關閉Endpoint Properties面板

 

 

23            配置Object-to-XML轉換器

這個組件將消息轉換成XML代碼,不需要特別的配置,但是DisplayNameDescription字段會在排除故障時提供有用的信息

 

1.      雙擊流程畫板中的Object-to-XML組件打開屬性面板

2.      在General選項卡中的Display Name字段輸入ConvertJS Object to XML

3.      在Documentation選項卡中的Description字段輸入ConvertJS Object to XML,然后點擊OK關閉屬性面板

24            配置XSLT轉換器

transform.xsl文件為你的應用程序在消息中提取數據並且翻譯成能夠識別的內容提供指示,Mule Studio中包含很多你在完成教程時需要的文件,按照這些步驟在你的機器上添加多個文件,然后導入到你的Mule Studio應用程序中

 

25            下載和導入XSLT轉換文件

1.      你可以雙擊打開上面的文件,或者按住ctrl鍵,點擊下面的鏈接來下載這個文件

transform.xslfile

2.      將這個文件保存到:MuleStudio目錄> examples > AjaxSpellChecker > TransformFile目錄下,以transform.xsl命名

3.      在Studio的左側Package Explorer欄中,找到應用的src>main>app目錄,鼠標右鍵app目錄,選擇Import

4.      在導入窗口中,選擇General>File System,點擊Next

 

5.      在彈出的面板中,選擇Browse…按鈕,找到剛剛保存的transform.xsl文件,點擊Finish

6.      檢查導入的文件是否出現在了src>main>app目錄下

26            配置XSLT消息處理器

這個組件按照transform.xsl中配置的說明來解析實際的消息,以便后面的流程能夠繼續執行,按照下面的步驟來完成XSLT消息處理器的配置:

1.      雙擊XSLT轉換器,打開Pattern Properties面板

2.      在General選項卡的Display Name字段輸入“Convert XMLStructure”

3.      在XSL File字段輸入“src/main/app/transform.xsl”

4.      點擊Documentation選項卡,在Description字段輸入“Producescompliant XML for the Google API”

5.      點擊OK關閉Pattern Properties面板

27            配置HTTP Endpoint

HTTP Endpoint負責向Google Web Service發送XML請求和接收XML響應

 

1.      雙擊HTTP Endpoint組件打開EndpointProperties面板

2.      在General選項卡的Display Name字段輸入“GoogleAPI

3.      在Host字段輸入www.google.com/tbproxy/spell?lang=en

4.      在Port字段輸入80

5.      在Method字段輸入POST

6.      點擊HTTP Settings選項卡,在Contenttype下拉列表中選擇text/xml

7.      點擊Documentation選項卡,在Description字段輸入“SendsXML requests to the Google Web service and receives XML responses”

8.      點擊OK保存並返回Endpoint Properties面板

28            配置Echo組件

Studio控制台輸出請求和響應消息的組件,無需特殊的配置,但你也可以配置Display NameDescription

 

1.      雙擊Echo組件打開屬性面板

2.      在General選項卡的Display Name字段輸入“Echoto Console

3.      在Documentation選項卡的Description字段輸入“Terminatesthe flow and logs results to the console”

4.      點擊OK

 

29            導入HTML頁面

這個應用需要一個包含JavaScript代碼的HTML頁面,用來調用Mule的類,從而完成與流程的通信

30            為HTML文件創建文檔根目錄

1.      在Package Explorer欄中找到應用的src/main/app目錄

2.      鼠標右鍵點擊app目錄,選擇New > Folder

新建的目錄以docroot命名

3.      鼠標右鍵點擊docroot目錄,選擇Import > File System,點擊Next

4.      點擊From directory 字段右邊的Browse按鈕,

找到<Mule Studio目錄>\Examples\AjaxSpellChecker\HTMLfile,點擊OK

5.      在Import面板的右邊,勾選SpellChecker.html左邊的復選框,點擊Finish

6.      檢查SpellChecker.html文件是否成功導入到項目的src/main/app/docroot目錄下

7.      雙擊src/main/app/docroot目錄下的SpellChecker.html文件,可以看到文件內容

 

祝賀你!你已經使用Mule Studio創建了一個高級的Mule ESB應用

 

31            運行項目

Mule Studio中運行該項目,觀察它究竟做了些什么

 

1.      在Package Explorer欄中,鼠標右鍵Ajax Spell Checker.mflow,在彈出的菜單中點擊Run As > Mule Application,控制台會輸出以下信息:

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

+ Started app 'ajax_spell_checker'                                +

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

 

 

 

 

 


2.      Mule Studio在創建項目時,做了如下設置:

a.      你在本地計算機上創建了一個Jetty HTTP服務器,Ajax connectorServer URL 被設置為http://127.0.0.1:8090/Ajax,你可以通過這個URL訪問這個服務

b.      一個SpellChecker.html文件放到了docroot目錄下,src/main/app/docroot將被指定為JettyHTTP服務器的基礎資源

c.      通過http://127.0.0.1:8090/Ajax/SpellChecker.html可以訪問你的應用

通過瀏覽器訪問http://127.0.0.1:8090/Ajax/SpellChecker.html,頁面會出現一個空的文本框,輸入heeello,服務的響應會很快出現在下方:

 

請注意:當你每次輸入一個字符的時候,Google的web服務會返回一系列的拼寫建議,一般情況下,第一個建議是正確的拼寫

Echo組件可以讓你查看到控制台輸出的信息,大致內容如下:

********************************************************************************

* Message received in service: ajax_flow_Flow1. Content is: '<?xml                         *

* version="1.0" encoding="UTF-8"?><spellresult error="0" clipped="0"                      *

* charschecked="7" suggestedl...[100 of 175]'                                          *

********************************************************************************

 

 

 

 

 

 


32            ***高級教程***

初級教程演示了如何創建簡單的拼寫檢查的應用程序。中級教程演示了如何使用Studio拖放接口去完成更復雜的Ajax Spell Checker

 

回顧一下中級教程,這里可以使用數據映射器(DataMapper)替代中級教程中使用的轉換器(Transformers),雖然許多步驟重復、相似,但可以借此機會反復實踐,更加熟練。往往只是一些比較細微的差異,可以幫助你更快速的掌握Mule Studio的界面操作

 

DataMapper是Mule ESB 企業版中特有的功能,作為回報,MuleSoft歡迎社區版用戶開發帶有DataMapper功能的應用程序,通過Studio圖形界面可以預覽數據映射關系。然而,實際部署、運行這樣的應用程序,需要向MuleSoft申請一個有效的企業版license

 

 

 

 

 

 

 


由於最近工作比較忙,高級教程暫時沒有整理進來。水平有限,有翻譯不到位的地方請與我聯系:sk.he@hotmail.com,謝謝!

 

參考資料:

http://www.mulesoft.org/documentation/display/MULE3START/Basic+Studio+Tutorial

http://www.mulesoft.org/documentation/display/MULE3START/Intermediate+Studio+Tutorial

http://www.mulesoft.org/documentation/display/MULE3START/Advanced+DataMapper+Tutorial


注意!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系我们删除。



 
粤ICP备14056181号  © 2014-2021 ITdaan.com