上一章中培偉業(yè)IT常青樹(shù)有關(guān)專(zhuān)家講了企業(yè)要發(fā)揮ESB的用途,標(biāo)準(zhǔn)化、規(guī)范化是捷徑。那么,相應(yīng)地企業(yè)要制定哪些標(biāo)準(zhǔn)和規(guī)范呢?企業(yè)ESB服務(wù)成效的度量標(biāo)準(zhǔn)是什么呢?
1章 ESB服務(wù)治理標(biāo)準(zhǔn)路線(xiàn)圖
在說(shuō)明企業(yè)需要制定的ESB服務(wù)標(biāo)準(zhǔn)規(guī)范之前,為了更好地理解各類(lèi)標(biāo)準(zhǔn)規(guī)范,我們簡(jiǎn)單回顧一下國(guó)際標(biāo)準(zhǔn)化組織制定的SOA相關(guān)服務(wù)治理的標(biāo)準(zhǔn)體系。
第一個(gè)階段,XML的創(chuàng)建。可擴(kuò)展標(biāo)記語(yǔ)言(XML)是SOA的基石,它規(guī)定了服務(wù)之間以及服務(wù)內(nèi)部數(shù)據(jù)交換的格式和結(jié)構(gòu)。
第二個(gè)階段,人們提出了Web服務(wù)的概念,出現(xiàn)了三個(gè)著名的Web服務(wù)標(biāo)準(zhǔn)和規(guī)范:簡(jiǎn)單對(duì)象訪(fǎng)問(wèn)協(xié)議(SOAP)、Web服務(wù)描述語(yǔ)言(WSDL)及通用服務(wù)發(fā)現(xiàn)和集成協(xié)議(UUDI),極大推動(dòng)Web服務(wù)的普及和發(fā)展。
第三個(gè)階段,隨著SOA推廣和普及工作開(kāi)始加速,出來(lái)三個(gè)重量級(jí)標(biāo)準(zhǔn)SCA/SDO/WS-Policy。SCA和SDO構(gòu)成了SOA編程模型的基礎(chǔ),而WS-Policy建立了SOA組件之間安全交互的規(guī)范。這三個(gè)規(guī)范的發(fā)布,標(biāo)志著SOA進(jìn)入了實(shí)施階段。
第四階段,服務(wù)編排與服務(wù)治理。隨著Web 服務(wù)逐漸成為系統(tǒng)架構(gòu)和實(shí)現(xiàn)組織內(nèi)外的業(yè)務(wù)流程與業(yè)務(wù)協(xié)作的基礎(chǔ),出現(xiàn)了一種規(guī)范、統(tǒng)一、功能強(qiáng)大的服務(wù)與業(yè)務(wù)流程的編排語(yǔ)言,以及與之對(duì)應(yīng)的產(chǎn)品。有兩種 Web 服務(wù)合成語(yǔ)言:1)業(yè)務(wù)流程執(zhí)行語(yǔ)言(WS-BPEL):2) Web服務(wù)編排語(yǔ)言(Web WS-CDL)。上述兩種語(yǔ)言的目標(biāo)都是以一種面向過(guò)程的方式,把多個(gè)Web服務(wù)粘合起來(lái)。
可以看出,正是國(guó)際標(biāo)準(zhǔn)化組織制定的這一系列的標(biāo)準(zhǔn)規(guī)范,推動(dòng)SOA服務(wù)化從概念到可實(shí)施可落地。
2章 企業(yè)SOA技術(shù)規(guī)范
技術(shù)規(guī)范是基礎(chǔ)技術(shù)平臺(tái)建設(shè)成功的重要保障,建設(shè)基礎(chǔ)技術(shù)平臺(tái)的通用策略是“搭平臺(tái)、建規(guī)范、上應(yīng)用、跑數(shù)據(jù)"。對(duì)于ESB服務(wù)集成平臺(tái),標(biāo)準(zhǔn)和規(guī)范是前期建設(shè)的核心。通過(guò)標(biāo)準(zhǔn)和規(guī)范的建立,可以明確各業(yè)務(wù)系統(tǒng)接入集成平臺(tái)的方式方法,提高接入質(zhì)量和接入效率,從而保障服務(wù)的穩(wěn)定、高效運(yùn)行。
ESB全面支持服務(wù)及服務(wù)常用形式Web Service,簡(jiǎn)化了服務(wù)的創(chuàng)建和封裝,并能夠靈活地編排服務(wù),以滿(mǎn)足敏捷響應(yīng)業(yè)務(wù)變化的需要。服務(wù)提供方負(fù)責(zé)處理本系統(tǒng)的業(yè)務(wù)邏輯,將業(yè)務(wù)處理進(jìn)行封裝,以webservice形式對(duì)外發(fā)布。本章節(jié)圍繞以服務(wù)為核心的服務(wù)接入規(guī)范、服務(wù)編碼規(guī)范、服務(wù)管控規(guī)范等環(huán)節(jié)進(jìn)行說(shuō)明,如下圖所示。
3章 ESB服務(wù)接入規(guī)范
ESB服務(wù)接入規(guī)范包括服務(wù)調(diào)用過(guò)程、服務(wù)描述、請(qǐng)求報(bào)文、響應(yīng)報(bào)文、確認(rèn)報(bào)文、異常報(bào)文、報(bào)文大小等內(nèi)容。
1、服務(wù)調(diào)用過(guò)程:描述同步服務(wù)調(diào)用和異步服務(wù)調(diào)用過(guò)程規(guī)范;
2、服務(wù)描述規(guī)范,說(shuō)明接口服務(wù)的描述形式,服務(wù)消費(fèi)者可以根據(jù)服務(wù)描述了解服務(wù)的技術(shù)實(shí)現(xiàn)形式、功能和輸入/輸出等信息。服務(wù)描述使用WSDL模式。
3、請(qǐng)求報(bào)文規(guī)范:服務(wù)消費(fèi)者運(yùn)行時(shí)需要使用SOAP報(bào)文與ESB上暴露的服務(wù)進(jìn)行交互。
4、響應(yīng)報(bào)文規(guī)范:服務(wù)提供者需要使用SOAP報(bào)文與ESB進(jìn)行交互。響應(yīng)報(bào)文的SOAP Body內(nèi)容由具體的服務(wù)描述文件WSDL來(lái)定義。
5、確認(rèn)報(bào)文規(guī)范:確認(rèn)報(bào)文主要使用在異步調(diào)用場(chǎng)景,報(bào)文的發(fā)送方確認(rèn)已經(jīng)正確收到報(bào)文。
6、異常報(bào)文規(guī)范:異常報(bào)文在同步、異常場(chǎng)景下都可以用到。在同步場(chǎng)景下作為異常響應(yīng)報(bào)文,在異步場(chǎng)景下作為異常確認(rèn)報(bào)文。服務(wù)提供者運(yùn)行時(shí)需要使用SOAP報(bào)文與ESB進(jìn)行交互。
7、報(bào)文大小規(guī)范:限制單次服務(wù)調(diào)用所攜帶的數(shù)據(jù)量大小,有助于降低服務(wù)總線(xiàn)的負(fù)載,提高服務(wù)總線(xiàn)的性能。
4章ESB服務(wù)編碼規(guī)范
1.應(yīng)用編碼規(guī)范
所有的業(yè)務(wù)支撐系統(tǒng)都需要進(jìn)行統(tǒng)一的編碼,該編碼全局唯一并統(tǒng)一管理。 應(yīng)用系統(tǒng)編碼規(guī)則參考:<系統(tǒng)域編碼>.<系統(tǒng)編碼> 。
2.服務(wù)編碼規(guī)范
服務(wù)規(guī)范化有助于開(kāi)發(fā)人員理解服務(wù)的業(yè)務(wù)意義。服務(wù)規(guī)范主要應(yīng)用于服務(wù)定義文件WSDL和ESB部署過(guò)程中。操作編碼規(guī)則參考:<應(yīng)用編碼>.<服務(wù)名稱(chēng)>
3.操作編碼規(guī)范
“操作”名稱(chēng)的規(guī)范有助于相關(guān)人員更直觀(guān)地理解某操作的業(yè)務(wù)功能。操作編碼規(guī)則參考:<動(dòng)賓短語(yǔ)>+SYN,使用動(dòng)賓短語(yǔ)表示某一操作的業(yè)務(wù)功能,該短語(yǔ)不宜過(guò)長(zhǎng)。
4.異常編碼規(guī)范
規(guī)范化應(yīng)用系統(tǒng)對(duì)外暴露接口的異常信息,有助于相關(guān)人員在發(fā)現(xiàn)異常時(shí)進(jìn)行準(zhǔn)確的問(wèn)題定位和解決。異常編碼規(guī)則參考:<應(yīng)用編碼> - <9位編碼>。使用應(yīng)用編碼加9位編碼的方式可以方便地理解異常編碼所發(fā)生的應(yīng)用以及通過(guò)編碼表查看異常的原因 。
5.請(qǐng)求編碼規(guī)范
請(qǐng)求編碼全局唯一標(biāo)識(shí)了服務(wù)消費(fèi)者的服務(wù)請(qǐng)求,該編碼是服務(wù)消費(fèi)者每次調(diào)用服務(wù)時(shí)在請(qǐng)求消息的SOAP Header中設(shè)置的全局唯一的標(biāo)識(shí),供服務(wù)監(jiān)控系統(tǒng)進(jìn)行服務(wù)分析用。請(qǐng)求編碼規(guī)則參考:<應(yīng)用編碼> - <日期 yyyyMMdd> - <10位流水號(hào)>
6.版本編碼規(guī)范
版本是服務(wù)操作的版本,是為了服務(wù)提供者標(biāo)識(shí)某一操作的不同形式。版本編碼規(guī)則參考:v<大版本號(hào)>.<小版本號(hào)>。
5章服務(wù)管控技術(shù)規(guī)范
服務(wù)管控規(guī)范包括服務(wù)注冊(cè)、服務(wù)發(fā)布、服務(wù)訂閱、服務(wù)目錄等方面。
1、服務(wù)注冊(cè)規(guī)范:服務(wù)注冊(cè)包括服務(wù)的名稱(chēng)、地址、所屬應(yīng)用、所屬機(jī)構(gòu)、描述、創(chuàng)建人、注冊(cè)時(shí)間等屬性;
2、服務(wù)發(fā)布:服務(wù)在服務(wù)管理平臺(tái)注冊(cè)后,可以通過(guò)頁(yè)面操作將服務(wù)發(fā)布到ESB運(yùn)行平臺(tái),且相同的服務(wù)發(fā)布到不同環(huán)境盡量不需要考慮環(huán)境因素。ESB運(yùn)行環(huán)境與服務(wù)管理平臺(tái)分離,即服務(wù)發(fā)布后,即使服務(wù)管理平臺(tái)發(fā)生故障也不影響ESB平臺(tái)的正常運(yùn)行。
3、服務(wù)訂閱:服務(wù)總線(xiàn)可對(duì)注冊(cè)的服務(wù)進(jìn)行訂閱,當(dāng)服務(wù)發(fā)生變化時(shí),將變化信息推送給服務(wù)總線(xiàn)端。
4、服務(wù)目錄:服務(wù)目錄具備靈活的服務(wù)分類(lèi)功能;服務(wù)目錄維護(hù)功能;服務(wù)目錄定義功能;服務(wù)目錄權(quán)限控制功能。
6章 ESB服務(wù)的度量
企業(yè)利用ESB進(jìn)行服務(wù)化改造以后,如何度量服務(wù)的運(yùn)行情況呢?
我們可以通過(guò)監(jiān)控服務(wù)調(diào)用的成功率、服務(wù)響應(yīng)平均時(shí)間、調(diào)用違規(guī)次數(shù)等指標(biāo)來(lái)了解服務(wù)的運(yùn)行情況。可以通過(guò)服務(wù)調(diào)用頻次、服務(wù)調(diào)用排名,來(lái)了解哪些服務(wù)對(duì)企業(yè)來(lái)說(shuō)是重要的,需要升級(jí)的,哪些服務(wù)是不重要,需要降級(jí)以至于可以退役的,以此為依據(jù)進(jìn)行服務(wù)全生命周期管理。
制定標(biāo)準(zhǔn)和規(guī)范總體來(lái)說(shuō),有利于整個(gè)行業(yè)的集成能力提升。集成能力建立在公有標(biāo)準(zhǔn)而不是私有標(biāo)準(zhǔn)上,更有利于發(fā)揮行業(yè)合力。可以降低集成費(fèi)用,標(biāo)準(zhǔn)化的方式有利于分享傳承,提高開(kāi)發(fā)效率,也使得整體服務(wù)周期管理更加可預(yù)測(cè)。
想了解更多IT資訊,請(qǐng)?jiān)L問(wèn)中培偉業(yè)官網(wǎng):中培偉業(yè)