【原創(chuàng)】
在正式使用wso2 esb之前,我們需要對esb中的一些基本概念有一定了解屋摔,本文通過對官方文檔閱讀總結(jié)一下一些esb中常見的概念烁设。
Maven Multi Module Project(Maven多模塊項目)
在使用wso2 esb tooling時,會為大多數(shù)的可部署artifacts創(chuàng)建單獨的項目和pom文件钓试。在以maven為核心的開發(fā)模式中装黑,通常都會有一個包含分發(fā)模塊等子模塊的父模塊。為了實現(xiàn)這種模式弓熏,可以在工作空間中先創(chuàng)建一個Maven Multi Module項目曹体,將用wso2 esb工具創(chuàng)建的artificates項目作為其子模塊嵌套在其中,然后為分發(fā)模塊創(chuàng)建一個Composite Application項目硝烂。
可以使用Continuous Integration(CI)工具構(gòu)建所有可部署的artifacts箕别。
REST API
客戶端發(fā)出的消息進(jìn)入esb的入口,當(dāng)連接的后端服務(wù)為rest服務(wù)時滞谢,可以根據(jù)HTTP調(diào)用中的指令對消息執(zhí)行指定的邏輯串稀。使用此組件可以在不改變現(xiàn)有后端服務(wù)的情況下對消息執(zhí)行一些必要的轉(zhuǎn)換并附加功能。
ESB中定義的一個REST API有一個或多個資源組成狮杨。
API RESOURCE
WSO2 ESB的中介引擎使用它來在接收請求母截、發(fā)送到指定的端點、接收端點的響應(yīng)和將響應(yīng)發(fā)送回請求的客戶端時進(jìn)行中介處理橄教。我們可以創(chuàng)建一個API RESOURCE來處理發(fā)送到后臺服務(wù)的已定義的HTTP請求方法清寇。in Sequence處理進(jìn)來的請求并將其發(fā)送到后臺服務(wù),out Sequence處理后臺服務(wù)響應(yīng)并將其返回給請求的客戶端护蝶。
ENDPOINTS
為ESB向外發(fā)出的消息定義了一個目的地华烟。通常,一個endpoint以一個服務(wù)地址或者一個WSDL為基礎(chǔ)內(nèi)容持灰。
WSO2 ESB支持多種不同類型的endpoints盔夜,允許連接高級類型的后端。詳細(xì)信息請見
https://docs.wso2.com/display/ESB500/WSO2+ESB+Endpoints
MEDIATORS
ESB中的全能處理單元。運行時喂链,mediator帶著實時消息進(jìn)入ESB的所有組成部分并能對消息進(jìn)行幾乎所有的處理返十。使用mediators,你可以進(jìn)行各種消息轉(zhuǎn)換并編排多個后端服務(wù)椭微,以實現(xiàn)你想要的設(shè)計洞坑。
SEQUENCES
對請求采取行動的中介列表,如轉(zhuǎn)換其格式蝇率,然后將其發(fā)送到后端服務(wù)迟杂。默認(rèn)情況下有三個sequences:in、out 和 fault瓢剿。
Composite Application Project
要將artifacts部署到WSO2 ESB中逢慌,我們必須先將artifact 項目打包到一個Composite Application (C-App)項目中。C-APP能讓你輕松地將artificats從一個環(huán)境移動到另一個環(huán)境间狂。詳情見https://docs.wso2.com/display/ADMIN44x/Introduction+to+Composite+Applications
Service Chaining
服務(wù)鏈將服務(wù)匯總攻泼,將多個服務(wù)暴露為一個服務(wù)。ESB用于服務(wù)的集成以及調(diào)用順序的編排鉴象,以便為客戶端提供所需的響應(yīng)忙菠。
實現(xiàn)一個簡單service chain詳情見:https://docs.wso2.com/display/ESB500/Exposing+Several+Services+as+a+Single+Service
Store and Forward
存儲和轉(zhuǎn)發(fā)消息模式用于異步消息傳輸。當(dāng)與以給定速率接收消息流量并處理故障轉(zhuǎn)移情況的系統(tǒng)集成時纺弊,可以使用此功能牛欢。在這種模式下,消息被發(fā)送到消息存儲器淆游,在這些消息存儲器中傍睹,消息處理器將消息傳送到目的地之前它們被臨時存儲。
關(guān)于如何使用ESB內(nèi)存實現(xiàn)一個存儲轉(zhuǎn)發(fā)模式犹菱,見教程:https://docs.wso2.com/display/ESB500/Storing+and+Forwarding+Messages
Connectors
一組模板拾稳,用于定義可從ESB調(diào)用的操作,并在ESB連接到外部第三方API時使用腊脱。WSO2 ESB通過WSO2 Connector Store提供了一系列的connectors访得。
學(xué)習(xí)如何在ESB configuration中使用Connector詳見https://docs.wso2.com/display/ESB500/Using+the+Gmail+Connector