Mule技術(shù)文檔_第1頁
Mule技術(shù)文檔_第2頁
Mule技術(shù)文檔_第3頁
Mule技術(shù)文檔_第4頁
Mule技術(shù)文檔_第5頁
已閱讀5頁,還剩38頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領

文檔簡介

1、演示講稿演示講稿主講主講:王老師:王老師演示內(nèi)容列表說明(共7個) 1、什么是ESB? 2、Mule ESB 介紹3、IDE編輯器的安裝與配置4、Mule ESB 快速入門-Hello World DEMO演示與部署5、Mule ESB Message與表達式詳解6、常用Mule ESB組件7、Mule ESB與J2EE集成第一節(jié)第一節(jié) 什么是什么是 ESB ESB全稱為Enterprise Service Bus,即企業(yè)服務總線。它是傳統(tǒng)中間件技術(shù)與XML、Web服務等技術(shù)結(jié)合的產(chǎn)物。ESB提供了網(wǎng)絡中最基本的連接中樞,是構(gòu)筑企業(yè)神經(jīng)系統(tǒng)的必要元素。ESB的出現(xiàn)改變了傳統(tǒng)的軟件架構(gòu),可以提供

2、比傳統(tǒng)中間件產(chǎn)品更為廉價的解決方案,同時它還可以消除不同應用之間的技術(shù)差異,讓不同的應用服務器協(xié)調(diào)運作,實現(xiàn)了不同服務之間的通信與整合。從功能上看,ESB提供了事件驅(qū)動和文檔導向的處理模式,以及分布式的運行管理機制,它支持基于內(nèi)容的路由和過濾,具備了復雜數(shù)據(jù)的傳輸能力,并可以提供一系列的標準接口。應用系統(tǒng)服務提供方認證認證授權(quán)授權(quán)報文報文日志日志消息消息路由路由異常異常處理處理格式格式檢查檢查系統(tǒng)1系統(tǒng)2系統(tǒng)3系統(tǒng)4服務A服務B服務C服務DESBESB ESB提供了一種開放的、基于標準的消息機制,通過簡單的標準適配器和接口,來完成粗粒度應用(服務)和其他組件之間的互操作,能夠滿足大型異構(gòu)企業(yè)環(huán)

3、境的集成需求。它可以在不改變現(xiàn)有基礎結(jié)構(gòu)的情況下讓幾代技術(shù)實現(xiàn)互操作。 通過使用ESB,可以在幾乎不更改代碼的情況下,以一種無縫的非侵入方式使企業(yè)已有的系統(tǒng)具有全新的服務接口,并能夠在部署環(huán)境中支持任何標準。更重要的是,充當“緩沖器”的ESB(負責在諸多服務之間轉(zhuǎn)換業(yè)務邏輯和數(shù)據(jù)格式)與服務邏輯相分離,從而使得不同的應用程序可以同時使用同一服務,用不著在應用程序或者數(shù)據(jù)發(fā)生變化時,改動服務代碼。第二節(jié)第二節(jié) Mule ESB介紹介紹 Mule ESB是一個基于JAVA的輕量級企業(yè)服務總線和集成平臺,允許開發(fā)人員快速便利地連接多個應用,并支持應用間的數(shù)據(jù)交換。Mule ESB支持集成現(xiàn)有系統(tǒng)而無

4、論其底層采用何種技術(shù),如JMS、Web Services、JDBC、HTTP以及其他技術(shù)。 特點- 基于Flows配置,支持多種腳本開發(fā) 可視化圖元拖拽簡化開發(fā),支持flow嵌套,支持多種腳本開發(fā): Groovy, Python, Java script, Ruby, MEL(Mule Expression Language)- 開源&社區(qū)活躍度 在開源ESB中,活躍程度最高,用戶量大,不斷推出新版本。 - 易用性 “讓一切變得更簡單”是Mule的宗旨。2次重構(gòu)核心架構(gòu)、推出接入云應用, 消息流,基于flow的配置以及熱部署。- 擴展性 增加一個新協(xié)議非常簡單,只需實現(xiàn)5個接口類即可。 - 管

5、理性 強大的 Mule Management Console(收費),易用的管理、部署和監(jiān)控應用。 - 文檔 文檔非常豐富,降低了使用門檻。 的主要功能的主要功能 Mule ESB具有如下四個主要功能: 服務的創(chuàng)建與管理(Service creation and hosting) 服務調(diào)解(Service mediation) 消息路由(Message routing) 數(shù)據(jù)轉(zhuǎn)換(Data transformation)強大的 Mule Studio 支持可視化ESB開發(fā)XML EditorVisual Editor可拖拽圖元開發(fā)各種協(xié)議支持、流程控制、格式轉(zhuǎn)換、錯誤處理第三節(jié)第三節(jié) Mule

6、 安裝與配置安裝與配置 目前Mule的最新版本是3.7.0,從Mule3.6.0開始支持的JDK版本為1.7;支持JDK1.6的最高版本為3.5.03.5.2;1、由于Mule基于JAVA開發(fā),所以必須先在開發(fā)環(huán)境中安裝好JDK,并配置好了環(huán)境變量。2、同樣Mule使用Maven管理,所以也建議先在開發(fā)環(huán)境中安裝好Maven軟件,并配置好環(huán)境變量。 第一種:在官網(wǎng)地址https:/ Studio 3.7EE(企業(yè)版運行時環(huán)境),所以如果想在其他版本環(huán)境上進行開發(fā)工作,就需要單獨下載各個版本的運行時環(huán)境。安裝完成,即可進行開發(fā)工作。 第二種:直接在Eclipse上以安裝插件的方式,進行安裝Mul

7、e Studio 的IDE,安裝完成后,同樣也可以進行Mule 開發(fā)。插件地址為/3.4/plugin1、社區(qū)版不支持“High Availability”,只支持“Self-healing connections”2、社區(qū)版不是所有的Connector、Transformer都可以用(Data Mapper就不支持社區(qū)版)3、社區(qū)版不支持Any point Enterprise Security,需要自己實現(xiàn)安全部分4、社區(qū)版不支持使用Any point Templates,也不能獲得官方的升級bug修復包5、社區(qū)版只能手動部署,而企業(yè)版可通

8、過MMC進行遠程部署和批量部署*其它具體詳細信息登錄上面網(wǎng)址http:/ Mule 快速入門快速入門1、創(chuàng)建 FLOW流程,配置流程組件。2、拖放 Http End Point 組件3、拖放 Expression Filter組件4、拖放 Set Pay Load Trans Formers組件5、拖放 Logger Component組件6、填寫相應組件配置 1、創(chuàng)建 FLOW流程,配置流程組件。2、拖放 Generic End Point 組件3、拖放 JAVA Component組件4、填寫相應組件配置,設置自定義全局轉(zhuǎn)換器5、編寫自定義的JAVA Transformer package

9、 com.test.demo2;import org.mule.api.MuleMessage;import org.mule.api.transformer.TransformerException;import org.mule.transformer.AbstractMessageTransformer;public class HttpDataToPersonTransforms extends AbstractMessageTransformerOverridepublic Object transformMessage(MuleMessage message, String out

10、putEncoding)throws TransformerException String name = message.getInboundProperty(name);String age = message.getInboundProperty(age); return new Person(name,age);package com.test.demo2;import org.mule.api.transformer.TransformerException;import org.mule.transformer.AbstractTransformer;public class St

11、ringToHtmlTransform extends AbstractTransformerOverrideprotected Object doTransform(Object src, String enc)throws TransformerException String str = (String)src;return HtmlTemplateUtil.getSimpleHtml(str);package com.test.demo2;public class PersonServices public String sayHello(Person person)return 你好

12、你好,歡迎歡迎+person.getAge()+歲的歲的+person.getName()+.;public String sayLove(Person person)return “親愛的用戶親愛的用戶:+person.getName()+,歡迎您,歡迎您.;1、創(chuàng)建 FLOW流程,配置流程組件。2、拖放 Http End Point 組件3、拖放 Chioce FLowControl組件4、拖放 variable Transformer組件5、拖放 set Pay Load Transformer組件6、拖放 Logger Components組件7、填寫相關(guān)配置 第五節(jié)第五節(jié) Mule

13、Message與表達式表達式詳解 MULE ESB服務編排以流(FLOW)為單位進行編排,每個流一般都由以下幾個常用節(jié)點元素組成 (inbound-endpoint) (component) (transformer) (flow control) (outbound-endpoint) (scope) (filter) (Global Element:端點連接器、消息轉(zhuǎn)換器、云連接器、過濾器) (Cloud Connector) MULE編排的基本原則 流編排中的每個節(jié)點的輸入是上一節(jié)點的輸出,每個節(jié)點的輸出是下一節(jié)點的輸入,這個傳輸數(shù)據(jù)在MULE中被稱之為payload,封裝在一個Mule

14、 Message 的對象中進行傳輸 當上一節(jié)點的輸出和下一節(jié)點的輸入類型不一致時,在兩個節(jié)點之間編排消息轉(zhuǎn)換器 當需要依據(jù)上一節(jié)點的輸出payload進行分支編排時,編排流分支選擇控制器Mule ESB開發(fā)要掌握的核心內(nèi)容 熟悉MEL( Mule Expression Language )語言 了解MuleMessage的結(jié)構(gòu)和Payload對象(非常(非常重要)重要) 對常用的connector、scoper、component、transformer、filter、flowControl、errorHanding要熟悉 了解APIkit Router 和 APIkit Console,熟悉

15、RAMLMuleESB中的4大對象1 1、serverserver對象:對象:#server.dateTime2 2、mulemule對象對象#mule.version3 3、appapp對象對象#4 4、messagemessage對象對象#message.payload/documentation/display/current/Mule+Expression+Language+Reference只讀對象和可寫對象只讀的(部分舉例):#server.dateTime#server.host#mule.clusterId#app.w

16、orkdir#message.dataType#message.inboundProperties.city可讀寫的(部分舉例) :#message.payload = server.dateTime#message.outboundPropertiescity =shanghaiMEL基本語法 # 表達式 例如:#server.dateTime#2 + 2 = 4#message.inboundPropertieshttp.query.paramsuId#message.inboundProperties.city#message.inboundPropertiescity#xpath(/u

17、ser/username).text/documentation/display/current/Mule+Expression+Language+Basic+SyntaxMule Message的結(jié)構(gòu)/documentation/display/current/Mule+Message+StructureMessage中的PropertiesProperties主要分2種:Inbound properties 和 Outbound propertiesMessage中的VariablesVariables主要分2種:Flow Vars:只在同一個Flow中使用Session Vars:在同一個appliaction下的所有Flow使用注:Record variables (只能在(只能在batch中使用)中使用)第六節(jié)第六節(jié) 常用常用Mule ESB組件第七節(jié)第七節(jié) Mule 與與J2EE集成集成1、將%MULE_HOME%libmule和%MULE_HOME%libopt目錄下的所有文件復制到J2EE項目的WEB-INFlib目錄下。如果在后面運行過程中提示少jar包,請仔細對照后,從%MULE_HOME%lib文

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論