ESB開發WebService接口

1 概述

在進行系統間集成時常常利用WebService,可是從創建WebService和調用的重複性和維護性的工做量都至關大。web

首先簡單介紹一下,ESB全稱爲Enterprise Service Bus,即企業服務總線。它是傳統中間件技術與XML、Web服務等技術結合的產物。ESB提供了網絡中最基本的鏈接中樞,是構築企業神經系統的必要元素。ESB的出現改變了傳統的軟件架構,能夠提供比傳統中間件產品更爲廉價的解決方案,同時它還能夠消除不一樣應用之間的技術差別,讓不一樣的應用服務器協調運做,實現了不一樣服務之間的通訊與整合。從功能上看,ESB提供了事件驅動和文檔導向的處理模式,以及分佈式的運行管理機制,它支持基於內容的路由和過濾,具有了複雜數據的傳輸能力,並能夠提供一系列的標準接口。數據庫

2 預期讀者

1. 數通暢聯新進員工json

2. 廣大技術愛好者瀏覽器

3 名詞解釋

AEAI ESB:應用集成平臺主要做爲企業信息系統的「龍骨」來集成各業務系統,通常稱之爲企業服務總線(Enterprise Service BUS,ESB),在數通暢聯軟件的產品家族中應用集成平臺命名爲AEAI ESB。安全

Web Server:是一種開發web服務的技術規範,按照web services規範開發的web服務組件,能夠用來進行企業應用系統集成。服務器

傳輸服務: 必須確保經過企業總線互連的業務流程間的消息的正確交付,傳輸還包括基於內容的路由功能。網絡

多種服務集成方式:如HTTP ,WEB等。架構

通訊:服務發佈、訂閱,響應 請求,同步異步消息,路由和尋址等;異步

服務安全: 認證和受權、不能否認和機密性、安全標準的支持等;分佈式

服務質量: 事務,服務的可交付性等;

服務等級: 性能、可用性等

4 整體思路

1. 簡單的帳號、密碼驗證接口,輸入帳號及密碼驗證成功與否。

2. 初步瞭解WebService相關知識

5 實現步驟

5.1 簡單參數與簡單返回值

首先建立WS服務,樣例爲Demo,別名「帳戶」, 本WebService服務裏面只有一個操做operation1, 兩個入參(userCode、userPassword)及一個出參(RESULT),與DemoOperation1子流程綁定。經過向瀏覽器傳入words參數,執行子流程的業務。服務地址在右側,能夠經過它來定位本WebService服務。

1. 在添加的操做上右鍵點擊,在彈出的頁面中選擇須要綁定流程的位置,點擊OK後將在對應位置自動生成基本的流程,可到對應位置進行流程的編輯,本例將樣例建立於基礎樣例中。

2. 在子流程中建立流程。

a) 首先接收參數(帳號、密碼)經過判斷是否爲空,並添加到全局變量中。

b)經過分支判斷若是帳號密碼爲空則直接輸出。 

c) 若是有值,則進行數據庫查詢,並判斷是否正確並輸出

3. 利用soapUI測試,結果以下圖:

5.2 簡單參數與簡單返回值

複用樣例Demo,別名「帳戶」, 本WebService服務裏面只有一個操做operation2, 添加對象參數及一個出參(RESULT),與DemoOperation2子流程綁定。經過向瀏覽器傳入words參數,執行子流程的業務。服務地址在右側,能夠經過它來定位本WebService服務。

1.  在入參過多的狀況下能夠採用添加對象參數的形式,在項目下建立com.xcorp.xproject.model包,在保重建立參數類,以下圖:

 

2. 流程圖複用簡單參數與簡單返回值,並在代碼中進行擴展開發,以下圖:

a) 接收新建的參數類,並獲取參數。

b)  分支及判斷與上例一致,在輸出節點是咱們經過jsonObject對象返回,如圖:

3. 利用soapUI測試,結果以下圖:

5.3 對象參數與簡單返回值

首先建立WS服務,樣例爲UserCode,別名「帳戶」, 本WebService服務裏面只有一個操做test, 一個入參對象reqInfo及一個出參(RESULT),與UserCodeTest子流程綁定。經過向瀏覽器傳入words參數,執行子流程的業務。服務地址在右側,能夠經過它來定位本WebService服務。

1. 在項目下建立com.xcorp.xproject.model包,在保重建立參數類,以下圖:

2.  在子流程中建立流程。

a) 首先接收對象參數(帳號、密碼),並添加到全局變量中。

b) 經過分支判斷若是帳號密碼爲空則直接輸出。 

c) 進行數據庫查詢,並判斷是否正確並輸出

3. 利用soapUI測試,結果以下圖:

5.4 簡單參數與ResultStatus返回值

首先建立WS服務,樣例爲UserCode,別名「帳戶」, 本WebService服務裏面只有一個操做test1, 兩個入參對象userCode、userPassword及一個出參對象(RESULT),與UserCodeTest1子流程綁定。經過向瀏覽器傳入words參數,執行子流程的業務。服務地址在右側,能夠經過它來定位本WebService服務。

1. 在項目下建立com.xcorp.xproject.model包,在保重建立參數類,以下圖:

2.  在子流程中建立流程。

a) 首先接收對象參數(帳號、密碼),並添加到全局變量中。

b) 進行數據庫查詢,並判斷是否正確並輸出

3. 利用soapUI測試,結果以下圖:

5.5 簡單參數與返回值對象List

首先建立WS服務,樣例爲UserCode,別名「帳戶」, 本WebService服務裏面只有一個操做test3, 一個入參對象reqInfo及一個出參(RESULT)list集合,與UserCodeTest3子流程綁定。經過向瀏覽器傳入words參數,執行子流程的業務。服務地址在右側,能夠經過它來定位本WebService服務。

1. 在項目下建立com.xcorp.xproject.model包,在保重建立參數類,以下圖:

2. 在子流程中建立流程。

a) 首先接收對象參數(帳號、密碼),並添加到全局變量中。

b) 進行數據庫查詢,並判斷是否正確並輸出

3.  利用soapUI測試,結果以下圖:

6 心得總結

以上爲筆者經過ESB進行的Web Service接口的開發,實現不一樣類型的入參及不一樣類型出參的演示的操做。

在工做中,要學會對本身鎖定的目標堅決不移。不然,遇到困難,只要有機會,有退路,咱們就會本能地嘗試繞過,或者退卻。只有瞄着目標不放,咱們纔會 窮盡全力推翻,或者跨越那些障礙。經過這篇文檔的整理編寫使筆者對以往作過的內容也加深了記憶。善於記錄,勤加整理,溫故知新,才能使本身更快成長。

相關文章
相關標籤/搜索