欧美亚州日韩国产_亚洲一级三级片免费看_国产精品成人黄片_国产精品手机在线亚洲_久久毛片亚洲精品视频_亚洲成人av资源_国产电影欧美日韩_免费黄色网站视频在线观看_黄色视频免费观看网址_大秀亚洲日韩主播欧美

咨詢熱線:400-818-1122
首頁
致遠(yuǎn)軟件專題首頁 > 最新發(fā)布
外出和OA對(duì)接這塊需要二次開發(fā)
上傳日期:2019-10-09 10:36 文章來源:

      集成是企業(yè)應(yīng)用系統(tǒng)中繞不開的話題。外出和OA對(duì)接這塊需要二發(fā)不僅實(shí)現(xiàn)起來麻煩,更是難以測試。本文介紹了一種普遍適用的集成點(diǎn)測試策略,兼顧測試的覆蓋程度、速度、可靠性和可重復(fù)性,為集成點(diǎn)的實(shí)現(xiàn)與測試建立一個(gè)通用的參考。

      本文作為例子介紹的系統(tǒng)是一個(gè)典型的JavaEE Web 應(yīng)用,基于Java 6和Spring 開發(fā),采用Maven 構(gòu)建。該系統(tǒng)需要以XML over HTTP 的方式集成兩個(gè)外部系統(tǒng)。

      該系統(tǒng)由一支典型的外出和OA對(duì)接這塊需要二次開發(fā)團(tuán)隊(duì)交付并使用:業(yè)務(wù)代表平時(shí)在墨爾本工作,交付團(tuán)隊(duì)則分布在悉尼和成都。筆者作為技術(shù)領(lǐng)導(dǎo)者帶領(lǐng)一支成都的團(tuán)隊(duì)承擔(dān)主要交付任務(wù)。

      由于需要集成兩個(gè)外部系統(tǒng),我們的Maven構(gòu)建 過程中有一部分測試(使用JUnit)是與集成相關(guān)的。這部分測試給構(gòu)建過程造成了一些麻煩。

      首先是依賴系統(tǒng)的可靠性問題。在被依賴的兩個(gè)服務(wù)之中,有一個(gè)部署在開發(fā)環(huán)境中的服務(wù)實(shí)例經(jīng)常會(huì)關(guān)機(jī)維護(hù),而它一旦關(guān)機(jī)就會(huì)導(dǎo)致與其集成的測試無法通過,進(jìn)而導(dǎo)致整個(gè)構(gòu)建失敗。我們的交付團(tuán)隊(duì)嚴(yán)格遵守持續(xù)集成實(shí)踐:構(gòu)建失敗時(shí)不允許提交代碼。這么一來,當(dāng)我們依賴的服務(wù)關(guān)機(jī)維護(hù)時(shí),交付團(tuán)隊(duì)正常的工作節(jié)奏就會(huì)被打亂。

      致遠(yuǎn)服軟認(rèn)為:http://www.soft8.com.cn/即使沒有關(guān)機(jī)維護(hù),由于外出和OA對(duì)接這塊需要二次開發(fā)部署的服務(wù)實(shí)例仍在不斷測試和調(diào)優(yōu),所依賴的服務(wù)實(shí)例也不時(shí)出現(xiàn)運(yùn)行性能低、響應(yīng)時(shí)間長等問題,使我們的構(gòu)建過程也變得很慢,有時(shí)甚至?xí)霈F(xiàn)隨機(jī)的構(gòu)建失敗。

      被依賴的服務(wù)在開發(fā)環(huán)境下不可靠、性能低,會(huì)使應(yīng)用程序的構(gòu)建過程也隨之變得脆弱而緩慢,從而打擊程序員 進(jìn)行頻繁構(gòu)建的積極性,甚至損害持續(xù)集成的有效性。作為團(tuán)隊(duì)的技術(shù)領(lǐng)導(dǎo)者,我希望解決這個(gè)問題,使構(gòu)建可靠而快速地運(yùn)行,確保所有人都愿意頻繁執(zhí)行構(gòu)建。

      在一個(gè)基于Spring的應(yīng)用中,與iPhone蘋果手機(jī)上倉庫管理軟件的集成通常會(huì)被封裝為一個(gè)Java接口以及其中的若干方法。例如“創(chuàng)建某品牌的用戶”的服務(wù)很可能如下呈現(xiàn)。

       一個(gè)實(shí)現(xiàn)了 IdentityService 接口的對(duì)象會(huì)被 Spring 實(shí)例化并放入應(yīng)用上下文,需要使用該服務(wù)的客戶代碼可以通過依賴注入獲得該對(duì)象的引用,從而調(diào)用它的 create 方法。在測試這些客戶代碼時(shí),我們可以始終Mock一個(gè)IdentityService對(duì)象,將其注入被測對(duì)象,從而解耦對(duì)外部服務(wù)的依賴。這是使用依賴注入帶來的收益。

      因此,我們的問題主要聚焦于集成點(diǎn)本身的測試。

      用面向?qū)ο蟮恼Z言來集成一個(gè)基于 HTTP 的服務(wù),集成點(diǎn)的設(shè)計(jì)經(jīng)常會(huì)出現(xiàn)一個(gè)模式,其中涉及五個(gè)主要的組成部分:門面(Fa?ade)、請(qǐng)求構(gòu)造器(Request Builder)、請(qǐng)求路由器(Request Router)、網(wǎng)絡(luò)端點(diǎn)(Network End Point)、應(yīng)答解析器(Response Parser)。它們之間的交互關(guān)系如下圖所示。 

免責(zé)聲明:網(wǎng)站內(nèi)涉及到圖片及相關(guān)文字如涉及到侵權(quán),請(qǐng)及時(shí)聯(lián)系我們處理
< 返回列表
最新發(fā)布推薦
致遠(yuǎn)服軟讓IT更簡單,更安全,更有價(jià)值
咨詢熱線:400-818-1122