版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
Q/CSGICS
備案號:Q/CSGICS
備案號:Q/CSG11817-2010中國南方電網(wǎng)責(zé)任有限公司企業(yè)標(biāo)準(zhǔn)Q/CSG11817-2010中國南方電網(wǎng)責(zé)任有限公司企業(yè)標(biāo)準(zhǔn)中國南方電網(wǎng)責(zé)任有限公司發(fā)布2010-05中國南方電網(wǎng)責(zé)任有限公司發(fā)布20102010面向服務(wù)的信息技術(shù)架構(gòu)(SOA)框架規(guī)范目次TOC\o"1-4"\u前言 III1 范圍 12 規(guī)范性引用文件 13 術(shù)語與定義 13.1 面向服務(wù)的體系結(jié)構(gòu) 13.2 服務(wù) 13.3 企業(yè)服務(wù)總線 13.4 企業(yè)資源規(guī)劃 13.5 企業(yè)應(yīng)用集成 13.6 企業(yè)信息門戶 13.7 SOA項目 14 總則 14.1 持續(xù)發(fā)展原則 14.2 先進(jìn)性原則 24.3 實用性原則 24.4 操作性原則 25 SOA架構(gòu)模型 25.1 服務(wù)體系 25.1.1 服務(wù)體系設(shè)計依據(jù) 25.1.2 服務(wù)體系圖 25.1.3 服務(wù)體系各層定義 35.2 應(yīng)用體系 45.3 服務(wù)部署體系 55.4 技術(shù)標(biāo)準(zhǔn)規(guī)范體系 65.4.1 技術(shù)標(biāo)準(zhǔn)規(guī)范體系圖 65.4.2 服務(wù)開發(fā)技術(shù)標(biāo)準(zhǔn)規(guī)范 95.4.3 服務(wù)集成技術(shù)標(biāo)準(zhǔn)規(guī)范 135.5 SOA架構(gòu)模型特征 146 SOA服務(wù)設(shè)計與開發(fā) 146.1 服務(wù)識別 146.2 服務(wù)定義 146.3 服務(wù)設(shè)計 166.3.1 總體設(shè)計原則 166.3.2 訪問服務(wù) 166.3.3 數(shù)據(jù)服務(wù) 166.3.4 業(yè)務(wù)服務(wù) 176.3.5 流程服務(wù) 176.3.6 綜合服務(wù) 176.3.7 展現(xiàn)服務(wù) 176.4 服務(wù)實現(xiàn) 176.4.1 服務(wù)封裝原則 186.4.2 服務(wù)封裝方式 187 SOA服務(wù)集成 187.1 企業(yè)服務(wù)總線 187.2 服務(wù)描述 197.3 服務(wù)注冊/發(fā)布 197.4 服務(wù)發(fā)現(xiàn)/調(diào)用 197.5 服務(wù)編排 197.6 服務(wù)管理 197.6.1 管理內(nèi)容 197.6.2 參考流程 208 SOA項目管理 248.1 項目實施方法 248.2 項目實施策略 248.3 項目實施路線 258.4 項目實施步驟 268.4.1 項目準(zhǔn)備 268.4.2 項目需求分析 278.4.3 項目設(shè)計與實現(xiàn) 278.5 項目驗收 288.5.1 總體要求 288.5.2 驗收文檔規(guī)范 28前言隨著中國南方電網(wǎng)有限責(zé)任公司(以下簡稱為南方電網(wǎng)公司)企業(yè)信息化應(yīng)用的不斷發(fā)展和信息資源的不斷積累,公司在探討與實踐企業(yè)信息技術(shù)架構(gòu)時認(rèn)識到:多元化的信息技術(shù)架構(gòu)不利于企業(yè)信息化應(yīng)用的發(fā)展和企業(yè)信息資源的積累與共享。多年來信息化建設(shè)的實踐證明:不同信息技術(shù)架構(gòu)造成了技術(shù)體系復(fù)雜混亂、技術(shù)標(biāo)準(zhǔn)不兼容、IT系統(tǒng)間互操作性差、上下信息交換不通暢、IT管理不規(guī)范等弊端。企業(yè)的業(yè)務(wù)的不斷發(fā)展變化需要多套應(yīng)用系統(tǒng)同時支撐業(yè)務(wù)運行和管理,一個好的信息技術(shù)架構(gòu)不應(yīng)割裂IT與實際業(yè)務(wù)之間的聯(lián)系,而是應(yīng)更好、更快地適應(yīng)業(yè)務(wù)的變化。通過前期對“ERP套裝軟件”、專業(yè)開發(fā)+應(yīng)用集成/信息門戶”、及“面向服務(wù)的架構(gòu)(SOA)”三種具有代表性的應(yīng)用系統(tǒng)建設(shè)模式進(jìn)行分析表明:SOA代表了應(yīng)用系統(tǒng)建設(shè)模式及信息技術(shù)架構(gòu)的發(fā)展方向,無論是ERP廠商還是應(yīng)用集成/信息門戶(EAI/EIP)平臺廠商,都在逐步采用SOA的理念和技術(shù)。SOA使得IT能夠更好地提供業(yè)務(wù)價值,更靈活、更易于重用。因此,南方電網(wǎng)公司選擇SOA架構(gòu)作為未來信息化建設(shè)統(tǒng)一的技術(shù)路線。本規(guī)范立足于南方電網(wǎng)公司“十一五”信息化規(guī)劃的戰(zhàn)略發(fā)展高度,定義統(tǒng)一、先進(jìn)與實用的面向服務(wù)的信息技術(shù)架構(gòu)(以下簡稱:SOA架構(gòu))框架規(guī)范,以實現(xiàn)南方電網(wǎng)公司信息一體化體系中“構(gòu)建南方電網(wǎng)公司開放的、集成的、一體化的信息化應(yīng)用環(huán)境”的目標(biāo),健全南方電網(wǎng)公司信息化標(biāo)準(zhǔn)體系。本規(guī)范旨在為南方電網(wǎng)公司統(tǒng)一實施SOA架構(gòu)提供通用性的指導(dǎo),各分、子公司可根據(jù)各自應(yīng)用系統(tǒng)建設(shè)的實際需求,在不違背本規(guī)范原則的前提下,對其進(jìn)行不同深度與廣度的擴(kuò)展。本標(biāo)準(zhǔn)由中國南方電網(wǎng)公司信息中心提出、歸口并解釋。本標(biāo)準(zhǔn)主要起草單位:南網(wǎng)信息中心、超高壓公司、調(diào)峰調(diào)頻公司、廣東電網(wǎng)公司、廣西電網(wǎng)公司、云南電網(wǎng)公司、貴州電網(wǎng)公司、海南電網(wǎng)公司。本標(biāo)準(zhǔn)主要起草人:王志英、張建民、張詩軍、蔡徽、徐兵元、蕭展輝、解文艷、劉杰、朱永虎、汪浩、郭瑋、陳俊、朱金所、王波、翁小云、曹建海、李小福、朱震宇本標(biāo)準(zhǔn)由中國南方電網(wǎng)有限責(zé)任公司標(biāo)準(zhǔn)化委員會批準(zhǔn)。本標(biāo)準(zhǔn)自頒發(fā)之日起實施。面向服務(wù)的信息技術(shù)架構(gòu)(SOA)框架規(guī)范范圍本規(guī)范適用于南方電網(wǎng)公司基于SOA架構(gòu)的應(yīng)用系統(tǒng)開發(fā)和企業(yè)應(yīng)用集成、SOA項目咨詢以及SOA項目監(jiān)理。規(guī)范性引用文件下列文件中的條款通過本標(biāo)準(zhǔn)的引用而構(gòu)成為本標(biāo)準(zhǔn)的條款。凡是注日期的引用文件,其隨后所有的修改單(不包括勘誤的內(nèi)容)或修訂版均不適用于本標(biāo)準(zhǔn),但鼓勵根據(jù)本標(biāo)準(zhǔn)達(dá)成協(xié)議的各方研究是否可使用這些文件的最新版本。凡是不注日期的引用文件,其最新版本適用于本標(biāo)準(zhǔn)?!吨袊戏诫娋W(wǎng)公司“十一五”信息化規(guī)劃》《中國南方電網(wǎng)公司信息分類與編碼標(biāo)準(zhǔn)》《中國南方電網(wǎng)公司信息分類與編碼標(biāo)準(zhǔn)》術(shù)語與定義面向服務(wù)的體系結(jié)構(gòu)面向服務(wù)的體系結(jié)構(gòu)(Service-OrientedArchitecture),即SOA是包含運行環(huán)境、編程模型、架構(gòu)風(fēng)格和相關(guān)方法論等在內(nèi)的一整套新的分布式軟件系統(tǒng)構(gòu)造方法和環(huán)境,涵蓋服務(wù)的整個生命周期。SOA以服務(wù)為核心,來實現(xiàn)的IT系統(tǒng)更靈活、更易于重用、更好(也更快)地應(yīng)對變化。服務(wù)在SOA架構(gòu)中,服務(wù)是最核心的抽象手段,它具有明確的功能,通常封裝著業(yè)務(wù)功能或者數(shù)據(jù)。一個服務(wù)包括接口(Interface)、契約(Contract)和實現(xiàn)(Implementation)三個部分。服務(wù)的接口和契約采用中立、基于標(biāo)準(zhǔn)的方式進(jìn)行定義,它獨立于實現(xiàn)服務(wù)的硬件平臺、操作系統(tǒng)和編程語言,這使得構(gòu)建在不同系統(tǒng)中的服務(wù)可以以一種統(tǒng)一的和通用的方式進(jìn)行交互。企業(yè)服務(wù)總線企業(yè)服務(wù)總線(EnterpriseServiceBus),以下簡稱ESB,是一種在松散耦合的服務(wù)和應(yīng)用之間標(biāo)準(zhǔn)的集成方式,提供簡單、快速、基于標(biāo)準(zhǔn)的多點集成,類似硬件中的總線結(jié)構(gòu)。企業(yè)資源規(guī)劃企業(yè)資源規(guī)劃(EnterpriseResourcePlanning),即ERP是指建立在信息技術(shù)基礎(chǔ)上,以系統(tǒng)化的管理思想,為企業(yè)決策層及員工提供決策運行手段的管理平臺。狹義的ERP僅僅局限在制造業(yè)的企業(yè)資源規(guī)劃方面,廣義的ERP隨著供需鏈管理(SCM)和企業(yè)業(yè)務(wù)流程重組(BPR)等管理理論的引入,實現(xiàn)了企業(yè)人、財、物、信息等所有的資源和產(chǎn)、供銷等所有業(yè)務(wù)。企業(yè)應(yīng)用集成企業(yè)應(yīng)用集成(EnterpriseApplicationIntegration),即EAI是將基于各種不同平臺、用不同方案建立的異構(gòu)應(yīng)用集成的一種方法和技術(shù)。EAI通過建立底層結(jié)構(gòu),來聯(lián)系橫貫整個企業(yè)的異構(gòu)系統(tǒng)、應(yīng)用、數(shù)據(jù)源等,完成在企業(yè)內(nèi)部的ERP、CRM、SCM、數(shù)據(jù)庫、數(shù)據(jù)倉庫,以及其它重要的內(nèi)部系統(tǒng)之間無縫地共享和交換數(shù)據(jù)的需要。企業(yè)信息門戶企業(yè)信息門戶(EnterpriseInformationPortal),即EIP是一個應(yīng)用系統(tǒng),它使企業(yè)能夠釋放存儲在內(nèi)部和外部的各種信息,讓用戶能夠從單一的渠道訪問其所需的個性化信息。SOA項目本規(guī)范中的SOA項目是指南方電網(wǎng)公司基于SOA架構(gòu)的應(yīng)用系統(tǒng)建設(shè)或集成項目??倓t信息技術(shù)架構(gòu)是指導(dǎo)信息化建設(shè)的技術(shù)框架,信息化應(yīng)用項目的建設(shè)必須遵從這個框架的要求,以促進(jìn)信息化應(yīng)用項目建設(shè)的高效率、高質(zhì)量、高標(biāo)準(zhǔn)和可持續(xù)發(fā)展。南方電網(wǎng)公司SOA架構(gòu)設(shè)計遵循下述原則:持續(xù)發(fā)展原則基于目前南方電網(wǎng)公司信息技術(shù)架構(gòu)模型的現(xiàn)狀,站在南方電網(wǎng)公司企業(yè)發(fā)展以及信息化發(fā)展的戰(zhàn)略高度,統(tǒng)一南方電網(wǎng)公司信息技術(shù)架構(gòu)模型,以實現(xiàn)信息化建設(shè)的高效率、高質(zhì)量、高標(biāo)準(zhǔn)和可持續(xù)發(fā)展為原則。先進(jìn)性原則必須堅持與世界先進(jìn)技術(shù)發(fā)展水平同步,遵循相關(guān)的技術(shù)規(guī)范及標(biāo)準(zhǔn),保證能滿足目前與未來信息化建設(shè)的需求。實用性原則以重用、協(xié)作和資源共享為基礎(chǔ),確立信息技術(shù)架構(gòu)模型和技術(shù)部署的最佳實踐,為實施信息技術(shù)架構(gòu)模型制定策略與方法,以利于引導(dǎo)信息化建設(shè)項目的實施。操作性原則綜合考慮目前南方電網(wǎng)公司信息化建設(shè)的實際,使多元化的信息技術(shù)架構(gòu)模型能逐步過渡到統(tǒng)一的信息技術(shù)架構(gòu)模型。SOA架構(gòu)模型參考國際結(jié)構(gòu)化信息標(biāo)準(zhǔn)促進(jìn)組織(OASIS)發(fā)布的SOA參考模型,結(jié)合南方電網(wǎng)公司信息化建設(shè)的實際,在上述總體設(shè)計原則的指導(dǎo)下,本章定義了南方電網(wǎng)公司SOA架構(gòu)模型,以下從四個不同的角度描述的子模型進(jìn)行說明。服務(wù)體系服務(wù)體系設(shè)計依據(jù)(一)SOA架構(gòu)的核心理念是打破傳統(tǒng)面向各個業(yè)務(wù)領(lǐng)域的、僵化的垂直應(yīng)用構(gòu)建模式,將應(yīng)用分解為可重用、松耦合、互操作的服務(wù)體系結(jié)構(gòu),通過服務(wù)的編排組合來實現(xiàn)業(yè)務(wù)的組合,通過服務(wù)的松耦合來滿足業(yè)務(wù)變化和調(diào)整,通過服務(wù)的重用來降低軟件開發(fā)的成本。(二)南方電網(wǎng)公司SOA架構(gòu)之服務(wù)體系采用組件化的分層結(jié)構(gòu)設(shè)計思想,使其具有預(yù)制性、封裝性、透明性、互操作性、通用性等特征,便于快速地組裝新的應(yīng)用。上層的服務(wù)依賴于下層的服務(wù)來實現(xiàn),而不需要了解下層的實現(xiàn)邏輯,通過服務(wù)的分層,降低服務(wù)之間的耦合度,提高可重用性。服務(wù)體系圖南方電網(wǎng)公司SOA架構(gòu)之服務(wù)體系建立在企業(yè)的信息資源層之上,包括但不限于下述六層:訪問服務(wù)層、數(shù)據(jù)服務(wù)層、業(yè)務(wù)服務(wù)層、流程服務(wù)層、綜合服務(wù)層、展現(xiàn)服務(wù)層。信息資源層為上層提供應(yīng)用資源(應(yīng)用系統(tǒng)模塊)與數(shù)據(jù)資源,它包括傳統(tǒng)的封閉的應(yīng)用系統(tǒng)、已經(jīng)打包好的應(yīng)用程序、業(yè)務(wù)系統(tǒng)數(shù)據(jù)庫、數(shù)據(jù)倉庫、非結(jié)構(gòu)化數(shù)據(jù)等。。圖5.1SOA服務(wù)體系圖南方電網(wǎng)公司基于SOA架構(gòu)的應(yīng)用至少應(yīng)包括數(shù)據(jù)服務(wù)層和業(yè)務(wù)服務(wù)層,為了更好地實現(xiàn)個性化和靈活的表現(xiàn)形式,通常還應(yīng)包括展現(xiàn)服務(wù)層。針對某些具體的應(yīng)用,可以根據(jù)實際情況對六層服務(wù)體系架構(gòu)進(jìn)行簡化與合并,例如:當(dāng)只需要訪問關(guān)系型數(shù)據(jù)庫時,可以考慮將訪問服務(wù)層與數(shù)據(jù)服務(wù)層合并;當(dāng)應(yīng)用系統(tǒng)比較簡單時,可能不需要流程服務(wù)層及綜合服務(wù)層。服務(wù)體系各層定義(一)訪問服務(wù)層:訪問服務(wù)層實現(xiàn)與底層數(shù)據(jù)資源、應(yīng)用資源的通信功能,使用通用標(biāo)準(zhǔn)接口,定義整合企業(yè)信息資源(數(shù)據(jù)資源與應(yīng)用資源)的各種訪問服務(wù),例如:不同類型的適配器以及專用的API等等。訪問服務(wù)屏蔽了企業(yè)信息資源(現(xiàn)在的或未來的)的技術(shù)和實現(xiàn)方式,訪問服務(wù)層之上的開發(fā)者無需知道數(shù)據(jù)的位置、類型以及應(yīng)用程序的編程語言等。(二)數(shù)據(jù)服務(wù)層:數(shù)據(jù)服務(wù)層定義的服務(wù)支持把異構(gòu)的、孤立的企業(yè)數(shù)據(jù)轉(zhuǎn)變成集成的、雙向的、可重復(fù)使用的信息資源。數(shù)據(jù)服務(wù)通過訪問服務(wù)層以統(tǒng)一的方式訪問企業(yè)的所有數(shù)據(jù),數(shù)據(jù)服務(wù)層之上的開發(fā)者可以集中精力處理數(shù)據(jù)的加工問題,而不必關(guān)注訪問不同來源的數(shù)據(jù)的實現(xiàn)細(xì)節(jié)。(三)業(yè)務(wù)服務(wù)層:業(yè)務(wù)服務(wù)層定義那些可重用的業(yè)務(wù)處理過程,用于支持復(fù)合的業(yè)務(wù)處理需求。這層定義的業(yè)務(wù)處理過程服務(wù)可能是單個原子事務(wù)的無狀態(tài)處理操作服務(wù),也可能是多個業(yè)務(wù)應(yīng)用或異步服務(wù)之間交互的有狀態(tài)處理操作服務(wù)。業(yè)務(wù)服務(wù)層之上的開發(fā)者無需知道具體某項業(yè)務(wù)的邏輯處理過程。(四)流程服務(wù)層:業(yè)務(wù)流程是一組服務(wù)的集合,服務(wù)按照特定的順序并使用一組特定的規(guī)則進(jìn)行調(diào)用,其本身也可視為服務(wù)。流程服務(wù)層定義有狀態(tài)的(長期運行或需要人工參與)、完整的業(yè)務(wù)流程。流程服務(wù)通過對下層的數(shù)據(jù)服務(wù)、業(yè)務(wù)服務(wù)的編排來實現(xiàn),流程編排的規(guī)則在該層內(nèi)定義。(五)綜合服務(wù)層:綜合服務(wù)層以提升企業(yè)綜合管理職能、優(yōu)化企業(yè)價值鏈為出發(fā)點,規(guī)劃跨系統(tǒng)、跨業(yè)務(wù)管理職能域、跨單位的服務(wù)。綜合服務(wù)層定義的服務(wù)是由下層的訪問服務(wù)、數(shù)據(jù)服務(wù)、業(yè)務(wù)服務(wù)、流程服務(wù)組合而成的服務(wù),目的是通過服務(wù)的簡單編排就可以快速搭建出新的業(yè)務(wù)應(yīng)用系統(tǒng)。(六)展現(xiàn)服務(wù)層,展現(xiàn)服務(wù)層定義企業(yè)信息門戶(EIP)中可配置、可重用的門戶組件(Portlets),用于支持門戶應(yīng)用的開發(fā);以及人機交互組件、網(wǎng)頁組件、報表組件實現(xiàn)對不同客戶接入方式的支持,并提供豐富的客戶端展現(xiàn)方式。應(yīng)用體系基于SOA架構(gòu)的應(yīng)用系統(tǒng)由服務(wù)庫中的各類服務(wù),通過ESB組合而成。服務(wù)庫中的服務(wù)既包括新開發(fā)的服務(wù),也包括將已有的應(yīng)用系統(tǒng)資源中需要共享的內(nèi)容封裝而成的服務(wù)。1、通過ESB對SOA服務(wù)庫的各類“服務(wù)”的定義、注冊、使用、維護(hù)、棄用與退役實現(xiàn)全生命周期的規(guī)范管理。2、ESB接入的數(shù)據(jù)源類型包括:關(guān)系型數(shù)據(jù)庫、Web服務(wù)、XML文件、文本文件、JAVA函數(shù)等。業(yè)務(wù)系統(tǒng)數(shù)據(jù)可直接抽取到數(shù)據(jù)中心,數(shù)據(jù)中心本身也可以作為一個數(shù)據(jù)源接入到ESB,供業(yè)務(wù)系統(tǒng)共享使用。3、對于生產(chǎn)系統(tǒng)中的自動化控制類等對性能要求較高的實時應(yīng)用系統(tǒng),建議采用傳統(tǒng)的技術(shù)路線包括:直接訪問業(yè)務(wù)系統(tǒng)數(shù)據(jù)庫、文件或者網(wǎng)頁的方式,但其中某些業(yè)務(wù)功能也允許被封裝為業(yè)務(wù)服務(wù)供其它應(yīng)用集成者調(diào)用。圖5.2SOA應(yīng)用體系視圖服務(wù)部署體系(一)服務(wù)部署架構(gòu):在還未全部實現(xiàn)應(yīng)用系統(tǒng)省級大集中的情況下,允許按“南網(wǎng)總部—省公司—地市供電局”的三級管理體系部署服務(wù),并依據(jù)“服務(wù)資產(chǎn)”的歸屬權(quán)、共享范圍以及維護(hù)責(zé)任分別部署在各自的服務(wù)目錄與服務(wù)庫中。最終目標(biāo)是要實現(xiàn)按“南網(wǎng)總部省公司”的兩級服務(wù)部署。ESB是實現(xiàn)服務(wù)集成與管理的樞紐,調(diào)用者只能看到總線提供的代理服務(wù),總線后臺真正的服務(wù)對調(diào)用者來說是透明的。(二)服務(wù)部署與調(diào)用策略規(guī)范如下:1、在應(yīng)用系統(tǒng)省級大集中情況下:服務(wù)目錄、服務(wù)庫和ESB分別部署在南方電網(wǎng)公司總部、省公司(或分公司)兩級;在未實現(xiàn)應(yīng)用系統(tǒng)省級大集中的情況下:服務(wù)目錄、服務(wù)庫和ESB分別部署在南方電網(wǎng)公司總部、省公司(或分公司)及地市供電局三級。2、無論是南方電網(wǎng)公司總部、省公司(或分公司)還是地市供電局,對本地服務(wù)的調(diào)用只須經(jīng)過本地的ESB。3、南方電網(wǎng)公司總部開發(fā)的、經(jīng)過審批的服務(wù)登記到總部的服務(wù)目錄中,對這些服務(wù)的調(diào)用都必須經(jīng)過南方電網(wǎng)公司總部的ESB。4、省公司(或分公司)開發(fā)的全南網(wǎng)范圍內(nèi)共享的服務(wù),在經(jīng)過南方電網(wǎng)公司審批后也被登記到南方電網(wǎng)公司總部的服務(wù)目錄中,省公司(或分公司)的ESB通過訪問南方電網(wǎng)公司總部的服務(wù)目錄查找全網(wǎng)范圍內(nèi)共享的服務(wù)。5、省公司(或分公司)之間服務(wù)的異地調(diào)用,必須經(jīng)過南方電網(wǎng)公司總部的ESB實現(xiàn)。6、省公司(或分公司)開發(fā)的、經(jīng)過審批的、提供給自己及下屬單位調(diào)用的服務(wù)登記到省公司(或分公司)的服務(wù)目錄中,對這些服務(wù)的調(diào)用都必須經(jīng)過省公司(或分公司)的ESB。7、地市供電局開發(fā)的全省網(wǎng)范圍內(nèi)共享的服務(wù),在經(jīng)過省公司審批后也被登記到省公司的服務(wù)目錄中,各地市供電局的ESB通過訪問省公司的服務(wù)目錄查找全省范圍內(nèi)共享的服務(wù)。8、地市供電局的服務(wù)目錄只登記本地市開發(fā)的、經(jīng)過審批的、提供給自己調(diào)用的服務(wù)。9、地市供電局之間服務(wù)的異地調(diào)用,必須經(jīng)過省公司的ESB實現(xiàn)。圖5.3SOA服務(wù)部署視圖技術(shù)標(biāo)準(zhǔn)規(guī)范體系(一)本節(jié)從IT技術(shù)實現(xiàn)的角度,定義了SOA服務(wù)開發(fā)與集成必須遵循的標(biāo)準(zhǔn)或規(guī)范,以保證南網(wǎng)電網(wǎng)公司內(nèi)部共享服務(wù)的一致性和可重用性。各分子公司可結(jié)合各自現(xiàn)有應(yīng)用系統(tǒng)建設(shè)情況和集成需求,制定相關(guān)的數(shù)據(jù)集成、流程集成、服務(wù)集成等建設(shè)規(guī)范。(二)SOA服務(wù)開發(fā)與集成技術(shù)標(biāo)準(zhǔn)規(guī)范的選擇必須滿足但不限于下述指導(dǎo)原則:1、以WebService技術(shù)作為SOA服務(wù)開發(fā)技術(shù)的首選技術(shù),并要求遵循WS-IBasicProfile1.0的有關(guān)指引;2、以Java技術(shù)作為WebService開發(fā)的優(yōu)先選擇技術(shù);3、為了最大限度地復(fù)用現(xiàn)有應(yīng)用系統(tǒng)的業(yè)務(wù)功能,在選擇SOA技術(shù)標(biāo)準(zhǔn)規(guī)范時,必須考慮現(xiàn)有業(yè)務(wù)功能封裝對技術(shù)標(biāo)準(zhǔn)規(guī)范的支持能力;4、在選擇SOA技術(shù)標(biāo)準(zhǔn)規(guī)范時,應(yīng)重點定義“服務(wù)接口”和消息協(xié)議標(biāo)準(zhǔn)或規(guī)范,對服務(wù)內(nèi)部功能實現(xiàn)所采用的技術(shù)標(biāo)準(zhǔn)規(guī)范可不加限制;5、凡與SOA重用性密切相關(guān)的組件,如服務(wù)接口,必須采用成熟的技術(shù)標(biāo)準(zhǔn)規(guī)范;6、對還沒有最后定案的事實標(biāo)準(zhǔn)或規(guī)范(這類標(biāo)準(zhǔn)通常不是被所有軟件平臺和開發(fā)商支持,或者還不是很成熟,或者產(chǎn)品的支持與產(chǎn)品之間的兼容性差),作為可選技術(shù)參考使用;7、為了充分利用企業(yè)現(xiàn)有的IT資產(chǎn),降低開發(fā)難度和成本,可以考慮采用現(xiàn)有系統(tǒng)已經(jīng)支持或采用的技術(shù)標(biāo)準(zhǔn)規(guī)范;8、IT部門員工目前熟悉并掌握的技術(shù)標(biāo)準(zhǔn)規(guī)范也可作為選用依據(jù)之一,SOA服務(wù)的實現(xiàn)通常不限制采用何種技術(shù),因此,服務(wù)的“實現(xiàn)”可采用IT部門員工目前熟悉的技術(shù)或規(guī)范開發(fā)。技術(shù)標(biāo)準(zhǔn)規(guī)范體系圖(一)SOA架構(gòu)之服務(wù)體系各層以及層與層之間必須遵循相關(guān)的技術(shù)標(biāo)準(zhǔn)規(guī)范,這些標(biāo)準(zhǔn)規(guī)范包括:訪問服務(wù)、數(shù)據(jù)服務(wù)、業(yè)務(wù)服務(wù)、流程服務(wù)、展現(xiàn)服務(wù)的技術(shù)標(biāo)準(zhǔn)規(guī)范,以及貫穿各層之間的消息交換、消息傳輸、安全管理、服務(wù)描述、注冊與發(fā)現(xiàn)等技術(shù)標(biāo)準(zhǔn)規(guī)范。(二)SOA架構(gòu)技術(shù)標(biāo)準(zhǔn)規(guī)范體系如下圖所示:圖5.4SOA技術(shù)標(biāo)準(zhǔn)規(guī)范體系圖(三)SOA架構(gòu)技術(shù)標(biāo)準(zhǔn)規(guī)范體系內(nèi)容:1、訪問服務(wù)JCA(JavaConnectorArchitecture):JCA定義了一套標(biāo)準(zhǔn)的接口,用于讓連接器把兼容的應(yīng)用程序服務(wù)器無縫地整合起來,以及提供標(biāo)準(zhǔn)接口允許客戶(或者應(yīng)用程序服務(wù)器的應(yīng)用程序主機)用一種統(tǒng)一的方法使用連接器。JDBC(JavaDataBaseConnectivity,java數(shù)據(jù)庫連接):JDBC是一種用于執(zhí)行SQL語句的JavaAPI,可以為多種關(guān)系數(shù)據(jù)庫提供統(tǒng)一訪問,它由一組用Java語言編寫的類和接口組成。JDBC為程序開發(fā)提供標(biāo)準(zhǔn)的接口,并為數(shù)據(jù)庫廠商及第三方中間件廠商實現(xiàn)與數(shù)據(jù)庫的連接提供了標(biāo)準(zhǔn)方法。專用API(ApplicationProgrammingInterface):專用API是針對某個具體軟件產(chǎn)品(例如:LoutsNotes、SAP)提供的編程接口。2、數(shù)據(jù)服務(wù)XQuery(XMLQuery):XQuery是W3C所制定的一套標(biāo)準(zhǔn),用來從類XML文檔中提取信息,類XML文檔可以理解成一切符合XML數(shù)據(jù)模型和接口的實體,他們可能是文件或關(guān)系型數(shù)據(jù)庫。3、業(yè)務(wù)服務(wù)SCA(ServiceComponentArchitecture):SCA即服務(wù)組件架構(gòu),它提供了一種編程模型,可以支持基于SOA的應(yīng)用程序?qū)崿F(xiàn)。SCA支持實現(xiàn)服務(wù)組件的各種技術(shù)及連接服務(wù)組件的各種存取方法。EJB(EnterpriseJavaBean):EJB是一個可重用的,可移植的J2EE組件。EJB由封裝了業(yè)務(wù)邏輯的多個方法組成。EJB運行在一個容器里,多個遠(yuǎn)程和本地客戶端可以調(diào)用這個方法,允許開發(fā)者只關(guān)注與bean中的業(yè)務(wù)邏輯而不用考慮事務(wù)支持、安全性和遠(yuǎn)程對象訪問等復(fù)雜和容易出錯的事情。4、流程服務(wù)BPMN(BusinessProcessModelingNotation):BPMN是一個業(yè)務(wù)流程建模和Web服務(wù)標(biāo)準(zhǔn),其首要目標(biāo)是提供一個通俗易懂的標(biāo)注體系,另外一個重要目標(biāo)是提供內(nèi)部模型,便于下一代XML語言對業(yè)務(wù)流程的執(zhí)行。BPEL(BusinessProcessExecutionLanguage):BPEL也被稱為BPELWS或BPEL4WS(Web服務(wù)業(yè)務(wù)流程執(zhí)行語言)。它是一種可執(zhí)行語言,能夠與各種業(yè)務(wù)流程自動化的軟件系統(tǒng)相兼容,通過說明性的方式(而不是編程的方式)表達(dá)了進(jìn)行Web服務(wù)合成的需求。此標(biāo)準(zhǔn)主要用于組織內(nèi)部的業(yè)務(wù)流程管理及服務(wù)編排,BPM產(chǎn)品基于此規(guī)范實現(xiàn)。WS-CDL(WebServicesChoreographyDefinitionLanguage):WS-CDL即Web服務(wù)編排定義語言,它定義為在多個交易伙伴之間建立形式化關(guān)系,它不要求所有被集成的端點(endpoints)都有Web服務(wù)基礎(chǔ)設(shè)施。此規(guī)范更多地用于組織之外的服務(wù)與流程編排。5、展現(xiàn)服務(wù)JSR168(JavaSpecificationRequest168):JSR168是java規(guī)范要求,主要應(yīng)用在Portal軟件的開發(fā)。它為創(chuàng)建Portlet建立標(biāo)準(zhǔn)的api,它是為實現(xiàn)porltet、基于java的門戶服務(wù)器和其它web應(yīng)用程序之間的互操作性而設(shè)計的。WSRP(WebServicesforRemotePortlets):WSRP定義了如何利用基于SOAP的Web服務(wù)在門戶應(yīng)用程序中生成標(biāo)記片斷的規(guī)范。通過定義一組公共接口,WSRP允許門戶在它們的頁面中顯示遠(yuǎn)程運行的Portlet,而不需要門戶開發(fā)人員進(jìn)行任何編程。WSRP是由OASIS組織制定的。HTML(HyperTextMark-upLanguage):HTML即超文本標(biāo)記語言或超文本鏈接標(biāo)示語言,是WWW的描述語言。JSP(JavaServerPages):JSP是一種動態(tài)網(wǎng)頁技術(shù)標(biāo)準(zhǔn),JSP將網(wǎng)頁邏輯與網(wǎng)頁設(shè)計和顯示分離,由HTML代碼和嵌入其中的Java代碼所組成,支持可重用的基于組件的設(shè)計。JSP頁面是跨平臺的,即能在Windows下運行,也能在Linux等其它操作系統(tǒng)上運行。AJAX(AsynchronousJavaScriptandXML):AJAX是一種創(chuàng)建交互式網(wǎng)頁應(yīng)用的網(wǎng)頁開發(fā)技術(shù)。AJAX僅向服務(wù)器發(fā)送并取回必需的數(shù)據(jù),它使用SOAP或其它一些基于XML的webservice接口,并在客戶端采用JavaScript處理來自服務(wù)器的響應(yīng)。6、消息傳輸HTTP(HypertextTransferProtocol):HTTP即超文本傳輸協(xié)議是用于從Web服務(wù)器傳輸超文本到本地瀏覽器的傳送協(xié)議。HTTPS(SecureHypertextTransferProtocol),又稱安全超文本傳輸協(xié)議,其安全基礎(chǔ)是SSL,使用40位關(guān)鍵字作為RC4流加密算法。RMI(RemoteMethodInvocation):RMI即遠(yuǎn)程對象訪問傳輸協(xié)議,用于JAVAEJB對象之間通信。JMS(JavaMessagingService):JMS是Java平臺上有關(guān)面向消息中間件的技術(shù)規(guī)范,用于和面向消息的中間件相互通信的應(yīng)用程序接口。FTP(FileTransferProtocol):FTP是文件傳輸協(xié)議的簡稱,用于Internet上的文件的雙向傳輸。7、消息交換XML(ExtensibleMarkupLanguage):XML即擴(kuò)展標(biāo)識語言。是通用標(biāo)識語言標(biāo)準(zhǔn)(SGML)的一個子集,是描述網(wǎng)絡(luò)上的數(shù)據(jù)內(nèi)容和結(jié)構(gòu)的標(biāo)準(zhǔn)。XMLSchema:XMLSchema為XML文檔提供明確的語義限制,確保每一個XML文檔都是結(jié)構(gòu)完整、語義合法、內(nèi)容有效的。SOAP(SimpleObjectAccessProtocol):SOAP即簡單對象訪問協(xié)議,是基于XML的在分布式的環(huán)境中交換信息的簡單的協(xié)議。SDO(ServiceDataObject):SDO即服務(wù)數(shù)據(jù)對象,是一種針對在不同的數(shù)據(jù)源之間使用統(tǒng)一的數(shù)據(jù)編程模型的規(guī)范說明。它統(tǒng)一和簡化了應(yīng)用程序處理數(shù)據(jù)的方式,是服務(wù)及組件之間傳輸?shù)臉?biāo)準(zhǔn)數(shù)據(jù)格式。使用SDO,應(yīng)用編程人員可以用一致的方法操作異構(gòu)數(shù)據(jù)源,包括關(guān)系型數(shù)據(jù)庫,XML數(shù)據(jù)源,Webservices和企業(yè)信息系統(tǒng)。WS-Addressing:WS-Addressing規(guī)范定義了一種將消息尋址信息綜合到Webservices消息中的標(biāo)準(zhǔn)。WS-Addressing為以同步和/或異步方式傳輸?shù)腟OAP消息提供了一種統(tǒng)一的尋址方法。此外,它還提供了尋址功能來幫助Webservice開發(fā)人員在請求和響應(yīng)的典型交換之外,圍繞各種消息傳遞模式構(gòu)建應(yīng)用程序。WS-ReliableMessaging:WS-ReliableMessaging規(guī)范定義了一種協(xié)議和一套機制,使Web服務(wù)的開發(fā)人員能夠確保在兩個端點之間可靠地傳遞消息,該規(guī)范還具有各種傳遞保證和健壯性特征。8、安全管理WSDM(WebServicesDistributedManagement):WSDM即分布式Web服務(wù)管理標(biāo)準(zhǔn)。WSDM由兩個不同的標(biāo)準(zhǔn)組成的:使用Web服務(wù)的管理(WSDM-MUWS)與Web服務(wù)的管理(WSDM-MOWS)。WSDM-MUWS提供了如何表示和訪問MUWS資源的接口的定義。例如,MUWS標(biāo)準(zhǔn)提供了用于公布服務(wù)、服務(wù)功能所必需的結(jié)構(gòu)、以及管理資源所需要提供和接收的信息。WSDM-MOWS提供了管理Web服務(wù)的定義。MOWS使用了許多由MUWS標(biāo)準(zhǔn)定義的概念和系統(tǒng),同時也添加了管理Web服務(wù)特別需要的資源和功能。MOWS組件提供了支持遠(yuǎn)程管理Web服務(wù)的方法和系統(tǒng)。WS-Management:WS-Management定義了企業(yè)級SOA平臺統(tǒng)一的管理接口,讓不同企業(yè)級SOA平臺可以被任何符合標(biāo)準(zhǔn)的管理界面操作。WS-Security:WS-Security描述通過消息完整性、消息機密性和單獨消息認(rèn)證,提供保護(hù)質(zhì)量的SOAP消息傳遞增強。這些機制可以用于提供多種安全模型和加密技術(shù)。它是構(gòu)建在現(xiàn)有安全技術(shù)的基礎(chǔ)之上的,提供一種工業(yè)標(biāo)準(zhǔn)來保證Webservices消息的安全性。WS-Policy(WebServicesPolicyFramework):Web服務(wù)策略框架規(guī)范提供了一種靈活、可擴(kuò)展的語法,用于表示基于XMLWebservices的系統(tǒng)中實體的能力、要求和一般特性。WS-Policy定義了一個框架和一個模型,將這些特性表示為策略。WS-PolicyAttachment:WS-PolicyAttachment為通過現(xiàn)有的XMLWeb服務(wù)技術(shù)使用策略表達(dá)式指定了三個特定的附件機制。包括:如何從WSDL定義中引用策略;如何將策略與部署的Web服務(wù)端點關(guān)聯(lián)起來;如何將策略與UDDI實體關(guān)聯(lián)起來。WS-Trust:WS-Trust使用WS-Security安全的消息傳遞機制為安全性令牌交換定義額外的原語和擴(kuò)展,以使得憑證能夠在不同的信任域中簽發(fā)和傳播。SSL/TLS:SSL/TLS利用密鑰算法在互聯(lián)網(wǎng)上提供端點身份認(rèn)證與通訊保密,其基礎(chǔ)是公鑰基礎(chǔ)設(shè)施(PKI)。9、服務(wù)描述、注冊與發(fā)現(xiàn)WSDL(WebServicesDescriptionLanguage):WSDL即Web服務(wù)描述語言,它從句法層面對Web服務(wù)的功能進(jìn)行描述,包括4個不同的粒度:數(shù)據(jù)類型(Datatype)、消息(Message)、方法(Operation)和訪問端口(PortType)。WSDL只提供了Web服務(wù)的接口描述,對服務(wù)的行為約束和屬性描述缺乏進(jìn)一步的支持。UDDI(UniversalDescriptionDiscoveryandIntegration):UDDI注冊內(nèi)容包括Web服務(wù)的技術(shù)模型和業(yè)務(wù)模型,本身可擴(kuò)展,目前主要用于Web服務(wù)的注冊和查找。(四)SOA架構(gòu)技術(shù)標(biāo)準(zhǔn)規(guī)范按技術(shù)的成熟度區(qū)分為:必須,已經(jīng)獲得相關(guān)國際組織批準(zhǔn),而必須遵循的標(biāo)準(zhǔn);推薦,雖未獲得相關(guān)國際組織批準(zhǔn),但已經(jīng)是成熟的標(biāo)準(zhǔn);可選,處在標(biāo)準(zhǔn)草案階段,在主流平臺產(chǎn)品中沒有得到廣泛的應(yīng)用,但在SOA中有其技術(shù)優(yōu)勢,在特定情況下才可采用。服務(wù)開發(fā)技術(shù)標(biāo)準(zhǔn)規(guī)范SOA服務(wù)各層的開發(fā)技術(shù)必須遵循但不限于下表列出的技術(shù)規(guī)范:分類標(biāo)準(zhǔn)/規(guī)范必要性用法訪問服務(wù)JCA1.5或以上版本可選用于集成現(xiàn)有J2EE應(yīng)用系統(tǒng),在不能提供基于Webservice的適配器的情況下,可考慮采用JCA。JDBC2.0或以上版本推薦用于后臺數(shù)據(jù)庫的訪問。數(shù)據(jù)服務(wù)JDBC2.0或以上版本推薦數(shù)據(jù)服務(wù)可以向消費者提供JDBC和Webservice兩種形式的接口。JDBC應(yīng)局限于和BI應(yīng)用系統(tǒng)進(jìn)行互聯(lián)的數(shù)據(jù)服務(wù)接口。XQuery1.0或以上版本必須用于查詢以XML形式表達(dá)的數(shù)據(jù)。業(yè)務(wù)服務(wù)SCA1.0或以上版本推薦用于服務(wù)封裝與組裝。SCA提供了一種統(tǒng)一的面向服務(wù)組件的調(diào)用方式,從而使得客戶可以把不同的軟件模塊通過服務(wù)組件的標(biāo)準(zhǔn)化而統(tǒng)一地封裝起來和被調(diào)用訪問。EJB3.0或以上版本可選在Webservice接口不能滿足業(yè)務(wù)要求的情況下,對于J2EE平臺,EJB是一種可選方案。流程服務(wù)BPMN2.0或以上版本推薦用于流程設(shè)計,它提供了設(shè)計和繪制業(yè)務(wù)流程圖所需的標(biāo)準(zhǔn)符號。提供業(yè)務(wù)流程設(shè)計環(huán)境的流程建模工具,應(yīng)支持該標(biāo)準(zhǔn)。WS-BPEL2.0或以上版本推薦用于流程引擎。綜合服務(wù)BPMN2.0或以上版本推薦用于流程設(shè)計,它提供了設(shè)計和繪制業(yè)務(wù)流程圖所需的標(biāo)準(zhǔn)符號。提供業(yè)務(wù)流程設(shè)計環(huán)境的流程建模工具,應(yīng)支持該標(biāo)準(zhǔn)。WS-BPEL2.0或以上版本推薦用于流程引擎。WS-CDL1.0或以上版本可選用于跨多個(三個及以上)單位間的流程服務(wù)編排展現(xiàn)服務(wù)WSRP1.0或以上版本推薦在Web門戶中用于訪問和顯示駐留在遠(yuǎn)程服務(wù)器上的Portlet的技術(shù)標(biāo)準(zhǔn)。它是唯一成熟的用于展現(xiàn)服務(wù)的技術(shù)協(xié)議,同時也被業(yè)界廣泛支持。JSR168推薦用于門戶Portlet開發(fā)。HTML推薦用于靜態(tài)WEB頁面。JSP推薦用于動態(tài)WEB頁面。AJAX推薦用于WEB頁面交互。服務(wù)描述、注冊與發(fā)現(xiàn)UDDI2.0或以上版本必須該標(biāo)準(zhǔn)描述了服務(wù)注冊的數(shù)據(jù)模型以及訪問模型的API。它不僅僅用于Webservice,也可以用于其它類型的服務(wù)。UDDI是服務(wù)注冊這一領(lǐng)域目前唯一成熟并被廣泛支持的技術(shù)標(biāo)準(zhǔn)。WSDL1.1或以上版本必須WSDL用于描述Webservice接口。它是唯一成熟的,并受到廣泛支持的Webservice接口標(biāo)準(zhǔn)。在使用SOAP-basedWebservice時,必須使用這一標(biāo)準(zhǔn)。消息交換XML1.1或以上版本必須由于SOAP是基于XML的,所以在Webservice采用XML是最自然的選擇。在其它形式的數(shù)據(jù)交換場合,它也是最適宜的。XMLSchema1.1或以上版本必須由于SOAP本身是使用XMLSchema定義的,并且SOAP中任何的類型的定義也是使用XMLSchema的,所以采用XMLSchema是最合理的選擇。在其它形式的數(shù)據(jù)交換場合,它也是最適宜的。SOAP1.1或以上版本
(“Document/Literal”style)必須SOAP是Webservice調(diào)用過程中的標(biāo)準(zhǔn)編碼協(xié)議。它被業(yè)界絕大多數(shù)主流廠商和工具所支持,也被不同的平臺支持。當(dāng)然,考慮到兼容性,SOAP消息不應(yīng)采用RPC-oriented和SOAPencoding,WSDL內(nèi)的SOAP綁定只可以采用document/literalstyle。當(dāng)采用HTTP協(xié)議作SOAP的傳輸時,SOAP錯誤消息應(yīng)采用HTTP500狀態(tài)返回。WS-Addressing1.0或以上版本可選用于Webservice的傳輸透明尋址能力。它規(guī)定了如何在SOAPheader中定義各種類型的地址。WS-ReliableMessaging1.0或以上版本可選該標(biāo)準(zhǔn)用于保證在webservice的消費者和提供者之間“可靠地”進(jìn)行數(shù)據(jù)交換。WS-ReliableMessaging雖然現(xiàn)在還不完全是一個成熟的標(biāo)準(zhǔn),但它對消息傳遞的可靠性作出了一個全面的支持架構(gòu),當(dāng)中包括了「最少一次」(At-least-once),「最多一次」(At-most-once),「只能一次」(Exactly-once)的語義。SDO2.1或以上版本推薦用于定義服務(wù)及組件之間傳輸?shù)臉?biāo)準(zhǔn)數(shù)據(jù)格式。SDO則作為一種數(shù)據(jù)編程架構(gòu)和API,它統(tǒng)一了不同數(shù)據(jù)源類型的數(shù)據(jù)編程,讓開發(fā)人員可以以統(tǒng)一的方式訪問和操作不同的數(shù)據(jù)源。EJB3.0或以上版本可選在Webservice接口不能滿足業(yè)務(wù)要求的情況下,對于J2EE平臺,EJB是一種可選方案。消息傳輸HTTP/S必須同步模式下,WebService使用HTTP/S作為指定的傳輸協(xié)議。當(dāng)采用HTTP協(xié)議作SOAP的傳輸時,應(yīng)采用HTTPPOST方法;JMS可選在異步模式下,可采用JMS為標(biāo)準(zhǔn)RMI可選在使用EJB的情況下,可以使用RMI-JRMP或RMI-IIOP。FTP可選在傳輸大文件時,考慮到執(zhí)行效率,可以采用FTP。安全管理WSDM1.1或以上版本可選WSDM標(biāo)準(zhǔn)實際上是由兩個不同的標(biāo)準(zhǔn)組成的:使用Web服務(wù)的管理(WSDM-MUWS);Web服務(wù)的管理(WSDM-MOWS)。WSDM-MUWS提供了如何表示和訪問MUWS資源的接口的定義。例如,MUWS標(biāo)準(zhǔn)提供了用于公布服務(wù)、服務(wù)功能所必需的結(jié)構(gòu)、以及管理資源所需要提供和接收的信息。WSDM-MOWS提供了管理Web服務(wù)的定義。MOWS使用了許多由MUWS標(biāo)準(zhǔn)定義的概念和系統(tǒng),同時也添加了管理Web服務(wù)特別需要的資源和功能。MOWS組件提供了支持遠(yuǎn)程管理Web服務(wù)的方法和系統(tǒng)。SSL3.0/TLS1.0或以上版本必須用于保障HTTP通信安全的協(xié)議。它可保證兩端點間通信的保密性和完整性。它可以用于SOAPoverHTTP通信安全和其它HTTP-based通信安全。目前還沒有其它更為合適的用于傳輸層安全的協(xié)議。WS-Security1.1或以上版本必須在Webservice調(diào)用過程中,該標(biāo)準(zhǔn)是保證信息層安全的最佳選擇.它描述如何強化SOAP消息,以提供消息的完整性和機密性。同時,它還提供了將安全令牌與消息內(nèi)容相關(guān)聯(lián)的機制。消息層安全比傳輸層安全提供了更多的安全選擇。加密與簽名等安全措施可以被應(yīng)用于任意的消息元素,消息層安全可以提供真正的“端到端”安全。WS-Policy1.2或以上版本推薦在描述和溝通webservice安全規(guī)則時,該標(biāo)準(zhǔn)提供了通用的目的模型和相應(yīng)的語法。它是在定義webservice安全需求時可用的唯一成熟標(biāo)準(zhǔn).。WS-PolicyAttachment1.2或以上版本推薦它提供了將主體以及應(yīng)用其上的安全規(guī)則進(jìn)行關(guān)聯(lián)的機制,同時它也提供了將WS-Policy與WSDLandUDDI描述相關(guān)聯(lián)的機制。如果希望使用WS-Policy定義一個SOAP-basedWebservice的安全需求,應(yīng)使用該標(biāo)準(zhǔn)。WS-Trust1.3或以上版本推薦用于SOAP-basedWebservice的消息層安全。它是WS-Security的擴(kuò)展,定義了一個用于請求和發(fā)布安全令牌的框架,并可以代理信任關(guān)系。它是此領(lǐng)域唯一成熟的標(biāo)準(zhǔn)。表5.1SOA服務(wù)開發(fā)技術(shù)標(biāo)準(zhǔn)規(guī)范服務(wù)集成技術(shù)標(biāo)準(zhǔn)規(guī)范SOA各服務(wù)層之間的相互調(diào)用必須遵循但不限于下述的技術(shù)標(biāo)準(zhǔn)規(guī)范:服務(wù)層標(biāo)準(zhǔn)/規(guī)范必要性用法訪問服務(wù)SOAP-basedWebServices推薦Webservice是首選接口,并支持WSDL1.1。即使是異步服務(wù),也應(yīng)選擇使用Webservice,此時它返回空結(jié)果。EJB可選在webservices不能滿足業(yè)務(wù)要求時使用。當(dāng)后端系統(tǒng)已經(jīng)給消費者提供了EJB服務(wù),并且證明使用web-service封裝會嚴(yán)重?fù)p害性能,此時,可以使用EJB。JMS可選如果服務(wù)是異步調(diào)用的,首選是使用WebServices的異步模式(即不立即返回結(jié)果)。如果評估WebServices不能滿足業(yè)務(wù)要求,則考慮使用JMS。當(dāng)后端系統(tǒng)已經(jīng)給消費者提供了JMS服務(wù),此時,可以直接使用JMS。FTP可選傳輸大文件時使用數(shù)據(jù)服務(wù)JDBC推薦:用于BI應(yīng)用訪問數(shù)據(jù)服務(wù)應(yīng)支持通過JDBC接口查詢數(shù)據(jù),主要的消費對象是BI應(yīng)用。SOAP-basedWebServices推薦數(shù)據(jù)服務(wù)首先應(yīng)提供SOAP-basedWebServices接口,并支持WSDL1.1。業(yè)務(wù)服務(wù)SOAP-basedWebServices推薦如果服務(wù)是同步調(diào)用的,它應(yīng)該提供WebServices接口,并支持WSDL1.1。JMS推薦如果服務(wù)是異步調(diào)用的,首選是使用WebServices的異步模式(即不立即返回結(jié)果)。如果評估WebServices不能滿足業(yè)務(wù)要求,則考慮使用JMS。流程服務(wù)BPMN推薦業(yè)務(wù)流程設(shè)計工具應(yīng)當(dāng)支持BPMN標(biāo)準(zhǔn),用于描述業(yè)務(wù)流程。WS-BPEL推薦流程服務(wù)的實現(xiàn)是在流程引擎上完成的,所以以BPEL標(biāo)準(zhǔn)輸入流程定義是首選方案。綜合服務(wù)BPMN推薦業(yè)務(wù)流程設(shè)計工具應(yīng)當(dāng)支持BPMN標(biāo)準(zhǔn),用于描述業(yè)務(wù)流程。WS-BPEL推薦流程服務(wù)的實現(xiàn)是在流程引擎上完成的,所以以BPEL標(biāo)準(zhǔn)輸入流程定義是首選方案。WS-CDL可選跨單位的流程服務(wù)編排。展現(xiàn)服務(wù)WSRP推薦遠(yuǎn)程Portlet開放的接口應(yīng)遵循WSRP標(biāo)準(zhǔn)。表5.2SOA服務(wù)集成技術(shù)標(biāo)準(zhǔn)規(guī)范SOA架構(gòu)模型特征南方電網(wǎng)公司SOA架構(gòu)模型的特征可以概括為以下三點:1、 應(yīng)用系統(tǒng)開發(fā)以“服務(wù)”為核心,服務(wù)體系分為:訪問服務(wù)層、數(shù)據(jù)服務(wù)層、業(yè)務(wù)服務(wù)層、流程服務(wù)層、綜合服務(wù)層以及展現(xiàn)服務(wù)層等六個層次;2、 以ESB作為集成“服務(wù)”的紐帶,實現(xiàn)“服務(wù)”的全生命周期管理;并通過ESB提供的服務(wù)組合與編排方式實現(xiàn)應(yīng)用系統(tǒng)的開發(fā);3、 通過ESB互連,實現(xiàn)“南網(wǎng)總部省公司本部地市供電局”的“服務(wù)”靈活部署,以及全網(wǎng)范圍內(nèi)的“服務(wù)”資源共享。SOA服務(wù)設(shè)計與開發(fā)服務(wù)識別(一)服務(wù)識別是指對業(yè)務(wù)進(jìn)行分析和梳理,抽象出業(yè)務(wù)實現(xiàn)所需的服務(wù),并按照南方電網(wǎng)公司SOA服務(wù)體系對服務(wù)進(jìn)行合理劃分。(二)服務(wù)識別必須分析與業(yè)務(wù)功能或業(yè)務(wù)數(shù)據(jù)相關(guān)的接口以及約束該接口的契約,接口和契約采用中立、基于標(biāo)準(zhǔn)的方式進(jìn)行定義,它獨立于實現(xiàn)服務(wù)的硬件平臺、操作系統(tǒng)和編程語言。(三)服務(wù)識別基于應(yīng)用需求來表達(dá)服務(wù)的需求,服務(wù)識別應(yīng)包含但不限于下述考慮因素:1、服務(wù)功能:滿足企業(yè)當(dāng)前及未來業(yè)務(wù)發(fā)展需求的業(yè)務(wù)處理與管理功能。2、共享范圍:跨企業(yè)級、企業(yè)級、業(yè)務(wù)職能域級或應(yīng)用程序級;3、可重用度:長期可重用、短期可重用或不可重用;4、敏捷性:適應(yīng)戰(zhàn)略發(fā)展需求、適應(yīng)業(yè)務(wù)發(fā)展需求;5、可操作性:全部、部分功能已在應(yīng)用系統(tǒng)中實現(xiàn)或需要重新開發(fā);6、開發(fā)技術(shù):全部掌握、部分掌握或未掌握現(xiàn)有技術(shù);7、工具支持:現(xiàn)有工具全面支持、部分支持或不能支持;8、項目規(guī)模:大規(guī)模、中等規(guī)模或小規(guī)模;9、服務(wù)質(zhì)量:容易實現(xiàn)或難以實現(xiàn)。(四)服務(wù)識別應(yīng)從業(yè)務(wù)的角度出發(fā),包括但不限于下述切入點:1、業(yè)務(wù)流程切入點:通過梳理、優(yōu)化企業(yè)業(yè)務(wù)流程,將業(yè)務(wù)流程轉(zhuǎn)化為可重用、更具有靈活性的流程服務(wù)。2、信息資源切入點:通過梳理企業(yè)的數(shù)據(jù)資源環(huán)境,實現(xiàn)企業(yè)級數(shù)據(jù)交換與共享,為管理者提供各類企業(yè)經(jīng)營管理信息。3、用戶體驗切入點:關(guān)注客戶體驗需求,為終端用戶提供增值、個性化、多渠道的服務(wù),并據(jù)此來優(yōu)化整合內(nèi)部的應(yīng)用和流程。服務(wù)定義(一)服務(wù)定義是在服務(wù)識別的基礎(chǔ)上定義服務(wù)的各項屬性,描述服務(wù)的信息。(二)服務(wù)的屬性包括:基本屬性、技術(shù)屬性、安全屬性、配置屬性。服務(wù)的各項屬性定義必須分階段進(jìn)行、逐步細(xì)化。服務(wù)識別階段定義服務(wù)的基本屬性;服務(wù)設(shè)計階段定義服務(wù)的技術(shù)屬性與安全屬性;服務(wù)的部署階段定義服務(wù)的配置屬性。(三)服務(wù)的基本屬性包括但不限于下述信息:序號屬性說明取值說明1服務(wù)編碼標(biāo)識服務(wù)的唯一編碼詳見《中國南方電網(wǎng)公司信息分類與編碼標(biāo)準(zhǔn)-公共編碼》(另行下發(fā))2服務(wù)英文名稱服務(wù)的英文概要名稱,描述應(yīng)簡潔準(zhǔn)確如:CreateCustomer3服務(wù)中文名稱服務(wù)的中文概要名稱,描述應(yīng)簡潔準(zhǔn)確如:新建用電戶檔案4服務(wù)性質(zhì)編碼描述服務(wù)的特性如:關(guān)鍵任務(wù)服務(wù)、機密任務(wù)服務(wù)、高容量服務(wù)、高水平服務(wù)、標(biāo)準(zhǔn)服務(wù),詳見《中國南方電網(wǎng)公司信息分類與編碼標(biāo)準(zhǔn)-公共編碼》(另行下發(fā))5服務(wù)功能描述對服務(wù)功能規(guī)格的詳細(xì)描述。如:創(chuàng)建一個新的用電戶檔案信息。6服務(wù)開發(fā)單位實現(xiàn)服務(wù)的開發(fā)廠家云電云電同方表6.1服務(wù)基本屬性(四)服務(wù)的技術(shù)屬性包括但不限于下述信息:序號屬性說明取值說明1版本號服務(wù)的版本號如:V1.02注冊時間服務(wù)的正式注冊時間如:2009-01-0110:003依賴的服務(wù)本服務(wù)需要調(diào)用的其它服務(wù)的編號列表如:服務(wù)編碼1;服務(wù)編碼2;4實現(xiàn)方式具體技術(shù)實現(xiàn)方式如:.NET5服務(wù)類型屬于服務(wù)體系中的哪種類型如:訪問服務(wù)、數(shù)據(jù)服務(wù)、業(yè)務(wù)服務(wù)、流程服務(wù)、綜合服務(wù)、展現(xiàn)服務(wù),詳見《中國南方電網(wǎng)公司信息分類與編碼標(biāo)準(zhǔn)-公共編碼》(另行下發(fā))6交互屬性是否需要人工交互是/否7服務(wù)調(diào)用方式客戶端調(diào)用服務(wù)的具體方式如:服務(wù)同步調(diào)用、服務(wù)異步無返回調(diào)用、服務(wù)異步有返回調(diào)用,詳見《中國南方電網(wǎng)公司信息分類與編碼標(biāo)準(zhǔn)-公共編碼》(另行下發(fā))8接口方法服務(wù)提供的接口方法列表如:Create()9接口協(xié)議調(diào)用服務(wù)的通訊協(xié)議如:http10服務(wù)啟用時間服務(wù)的正式啟動時間2009-01-108:0011服務(wù)停用時間服務(wù)的正式停用時間2009-12-3118:00表6.2服務(wù)技術(shù)屬性(五) 服務(wù)的安全屬性包括但不限于下述信息:序號屬性說明取值說明1安全要求調(diào)用服務(wù)時,是否需要進(jìn)行安全認(rèn)證是/否2允許調(diào)用的角色允許調(diào)用該服務(wù)的角色列表如:Operator;Manager3服務(wù)自行安全認(rèn)證服務(wù)被調(diào)用時,是否還進(jìn)行自身的安全認(rèn)證是/否表6.3服務(wù)安全屬性(六) 服務(wù)的配置屬性包括但不限于下述信息:序號屬性說明取值說明1服務(wù)部署IP地址提供服務(wù)功能的網(wǎng)絡(luò)IP地址如:2服務(wù)接口定義文件描述服務(wù)接口定義的文件路徑如:http://webserver/CreateCustomer.wsdl3可以使用的時間可以使用該服務(wù)的時間段如:0:00-24:004是否支持重試服務(wù)調(diào)用失敗后,是否支持重發(fā)調(diào)用是/否表6.4服務(wù)配置屬性服務(wù)設(shè)計總體設(shè)計原則(一)無論是新建、改造或擴(kuò)建的SOA應(yīng)用系統(tǒng),服務(wù)設(shè)計原則上應(yīng)遵循本規(guī)范定義的六層服務(wù)體系結(jié)構(gòu),可根據(jù)實際情況對SOA服務(wù)體系進(jìn)行合并或簡化。(二)無論是新建、改造或擴(kuò)建的SOA應(yīng)用系統(tǒng),服務(wù)設(shè)計應(yīng)遵循“可重用、松耦合與互操作”的原則,以便于實現(xiàn)跨平臺的集成應(yīng)用。(三)服務(wù)的安全性應(yīng)從傳輸級安全性、消息級安全性、應(yīng)用程序級安全性等三個方面來考慮:1、傳輸級安全性是指在客戶端和服務(wù)器之間的傳輸通道提供點對點的安全性,Web服務(wù)傳輸級安全應(yīng)采用SSL協(xié)議保證消息的完整性和機密性。2、消息級安全性是指不依賴于傳輸協(xié)議,保證消息的完整性、機密性、不可否認(rèn)性以及消息身份驗證,Web服務(wù)消息級安全應(yīng)遵循WS-Security規(guī)范。3、應(yīng)用程序級安全性是指應(yīng)用程序負(fù)責(zé)提供安全性并使用自定義的安全功能。例如:當(dāng)需要利用在現(xiàn)有應(yīng)用程序中的用戶權(quán)限體系,可以使用自定義的SOAPheader傳遞用戶憑證,以便根據(jù)每個Web服務(wù)請求對用戶進(jìn)行身份驗證;或者應(yīng)用程序可以有選擇地加密消息的一部分,而不是整個消息。(四)服務(wù)的調(diào)用方式可分為:同步調(diào)用、異步無返回調(diào)用、異步有返回調(diào)用。如果業(yè)務(wù)上要求必須阻塞進(jìn)程同步等待返回結(jié)果,則采用同步調(diào)用方式;否則應(yīng)采用異步調(diào)用方式,避免因并發(fā)數(shù)太多而導(dǎo)致服務(wù)調(diào)用阻塞。同步調(diào)用方式對服務(wù)的性能有一定的要求,應(yīng)避免長時間的等待。訪問服務(wù)(一)訪問服務(wù)用于提供訪問各種數(shù)據(jù)資源以及套裝軟件、定制軟件和遺留應(yīng)用系統(tǒng)的手段。訪問服務(wù)設(shè)計原則包括但不限于:1、訪問服務(wù)為數(shù)據(jù)服務(wù)提供訪問相關(guān)系統(tǒng)數(shù)據(jù)資源的通用功能;2、訪問服務(wù)必須是無狀態(tài)的;3、訪問服務(wù)允許轉(zhuǎn)換數(shù)據(jù)的表示方式,如在XML和非XML格式之間的轉(zhuǎn)換;但不應(yīng)進(jìn)行基于業(yè)務(wù)規(guī)則的轉(zhuǎn)換,或者對多個數(shù)據(jù)源進(jìn)行操作;4、訪問服務(wù)不允許包含業(yè)務(wù)邏輯;5、訪問服務(wù)一般采用異步通信機制。(二)訪問服務(wù)必須適應(yīng)調(diào)用者的應(yīng)用(這些應(yīng)用可以是基于Java的、非Java的、基于集成開發(fā)環(huán)境的或基于JDBC/ODBC的),可選的訪問機制包括但不限于:1、JavaAPI訪問:允許調(diào)用者調(diào)用訪問服務(wù)的讀和寫函數(shù);2、控件訪問:允許調(diào)用者在IDE(集成開發(fā)環(huán)境)中開發(fā)Web應(yīng)用、門戶、工作流和Web服務(wù)時使用訪問服務(wù)控件;3、Web服務(wù)訪問:允許訪問服務(wù)作為Web服務(wù)進(jìn)行發(fā)布,以便于被任何使用標(biāo)準(zhǔn)WSDL和SOAP接口的調(diào)用者訪問;4、SQL/JDBC訪問:通過SQL/JDBC接口,訪問服務(wù)以關(guān)系數(shù)據(jù)庫表的形式被訪問,參數(shù)化的訪問服務(wù)以存儲過程的形式被訪問。數(shù)據(jù)服務(wù)(一)數(shù)據(jù)服務(wù)通過調(diào)用訪問服務(wù)訪問企業(yè)的各種數(shù)據(jù)資源。(二)數(shù)據(jù)服務(wù)設(shè)計原則包括但不限于:1、數(shù)據(jù)訪問和業(yè)務(wù)邏輯處理必須清晰地分離,數(shù)據(jù)服務(wù)通過訪問服務(wù)從各種數(shù)據(jù)源收集和返回相關(guān)的數(shù)據(jù);2、數(shù)據(jù)在企業(yè)范圍內(nèi)流動與共享,其準(zhǔn)確性、一致性、完整性應(yīng)由數(shù)據(jù)的生成者保證;3、數(shù)據(jù)服務(wù)應(yīng)與南方電網(wǎng)企業(yè)信息資源規(guī)劃定義的數(shù)據(jù)模型保持一致,使得數(shù)據(jù)在應(yīng)用層面具有語義標(biāo)準(zhǔn)化的特性,便于復(fù)用;并保證數(shù)據(jù)使用者與生成者的松耦合,使得數(shù)據(jù)源模型變化不會影響到數(shù)據(jù)的使用者;4、當(dāng)需要進(jìn)行大批量的數(shù)據(jù)復(fù)制、移動或轉(zhuǎn)換時,允許將批處理作業(yè)的控制操作發(fā)布成一個數(shù)據(jù)服務(wù),而大量數(shù)據(jù)的批處理操作仍然采用ETL或?qū)S媒涌诘刃矢叩姆绞絹韺崿F(xiàn);5、當(dāng)數(shù)據(jù)服務(wù)需要交換大量數(shù)據(jù)時,允許通過FTP或消息中間件(可提供數(shù)據(jù)壓縮、傳輸安全、分組傳輸、緩存等高級功能)以附件的形式進(jìn)行交換。業(yè)務(wù)服務(wù)(一)業(yè)務(wù)服務(wù)是指滿足特定業(yè)務(wù)處理需求的服務(wù),業(yè)務(wù)服務(wù)包含一個或多個業(yè)務(wù)處理功能,業(yè)務(wù)服務(wù)包含的業(yè)務(wù)功能數(shù)目決定了業(yè)務(wù)服務(wù)的“粒度”以及可重用性。業(yè)務(wù)服務(wù)的“粒度”大,則服務(wù)集成成本低,但業(yè)務(wù)服務(wù)的可重用性也低;業(yè)務(wù)服務(wù)的“粒度”小,則服務(wù)集成成本高,但業(yè)務(wù)服務(wù)的可重用性也高。業(yè)務(wù)服務(wù)的“粒度”應(yīng)該在服務(wù)集成成本與服務(wù)可重用性之間取得合理的平衡。(二)業(yè)務(wù)服務(wù)設(shè)計要求遵循但不限于下述原則:1、業(yè)務(wù)服務(wù)操作是非長時間的動作;2、業(yè)務(wù)服務(wù)表達(dá)一定的業(yè)務(wù)邏輯和業(yè)務(wù)規(guī)則,并具有完整業(yè)務(wù)事務(wù)處理的功能;3、業(yè)務(wù)服務(wù)安全的認(rèn)證和授權(quán)等控制邏輯必須與業(yè)務(wù)邏輯分開;4、事務(wù)處理必須在服務(wù)內(nèi)部完成,事務(wù)不能跨越服務(wù)的邊界;5、業(yè)務(wù)服務(wù)的操作重復(fù)執(zhí)行時其結(jié)果是相同的。(三)業(yè)務(wù)服務(wù)是管理與決策應(yīng)用功能的基礎(chǔ),業(yè)務(wù)服務(wù)設(shè)計應(yīng)保證業(yè)務(wù)服務(wù)能力的高可用與高性能等質(zhì)量要求。(四)業(yè)務(wù)服務(wù)除了滿足其所在的業(yè)務(wù)職能域的業(yè)務(wù)處理功能外,還應(yīng)同時考慮便于滿足集成跨業(yè)務(wù)職能域的業(yè)務(wù)處理功能的需求。流程服務(wù)(一)流程服務(wù)封裝完整的業(yè)務(wù)流程或獨立定義的子流程,流程服務(wù)設(shè)計要求遵循但不限于下述原則:1、所有需要保存服務(wù)調(diào)用之前的狀態(tài)和調(diào)用結(jié)束之后的狀態(tài),并最終向客戶應(yīng)答的服務(wù),都應(yīng)該設(shè)計為流程服務(wù);2、流程服務(wù)的狀態(tài)在任何一個時間點都應(yīng)該是能夠監(jiān)控的;3、流程服務(wù)可以長期處于運行狀態(tài),可涉及到人工工作流,并包含多個原子事務(wù);4、流程服務(wù)遵循BPEL,BPMN等規(guī)范。綜合服務(wù)綜合服務(wù)分為兩大類:(一)以提升企業(yè)綜合管理職能為導(dǎo)向的、基于業(yè)務(wù)系統(tǒng)的跨系統(tǒng)、跨業(yè)務(wù)管理職能域、跨單位的組合服務(wù),這類綜合服務(wù)可由訪問服務(wù)、數(shù)據(jù)服務(wù)、業(yè)務(wù)服務(wù)及流程服務(wù)組合而成。(二)以企業(yè)價值鏈為導(dǎo)向的、基于數(shù)據(jù)倉庫綜合分析功能而封裝的跨業(yè)務(wù)管理職能域、跨時間過程域的服務(wù),這類綜合服務(wù)一般由各類綜合分析模型功能封裝而成。展現(xiàn)服務(wù)(一)展現(xiàn)服務(wù)處理應(yīng)用信息的表示,服務(wù)體系所有底層的服務(wù)都可以通過展現(xiàn)服務(wù)暴露給最終用戶使用。(二)展現(xiàn)服務(wù)必須將數(shù)據(jù)和其表現(xiàn)格式區(qū)分開。(三)展現(xiàn)服務(wù)包括:企業(yè)信息門戶中可配置、可重用的門戶組件,用于支持門戶應(yīng)用的開發(fā);以及人機交互組件、網(wǎng)頁組件、報表組件等,以實現(xiàn)對不同客戶接入方式的支持。(四)展現(xiàn)服務(wù)可以集成商品化的前端展現(xiàn)工具,以滿足豐富、靈活的客戶端展現(xiàn)需求。服務(wù)實現(xiàn)服務(wù)封裝原則(一)服務(wù)封裝是SOA服務(wù)實現(xiàn)的手段,服務(wù)封裝將應(yīng)用系統(tǒng)可重用的功能或數(shù)據(jù)“剝離”出來,對外以相關(guān)的接口方式以及約束這個接口的契約提供給消費者調(diào)用。接口和契約的定義是中立的及基于標(biāo)準(zhǔn)的,并獨立于實現(xiàn)服務(wù)的硬件平臺、操作系統(tǒng)與編程語言。(二)服務(wù)封裝必須遵循包括但不限于下述原則:1、無狀態(tài)原則:最大限度減少服務(wù)管理的狀態(tài)信息的內(nèi)容以及狀態(tài)的期限;2、單一實例原則:避免功能冗余;3、接口定義原則:使用WSDL定義服務(wù)接口,使用WS-Policy描述服務(wù)契約,使用XML模式(Schema)定義服務(wù)交換的消息格式(即服務(wù)的公共數(shù)據(jù))。服務(wù)消費者依賴服務(wù)契約調(diào)用服務(wù)。服務(wù)定義必須相對穩(wěn)定,修改必須通過審核批準(zhǔn);4、自包含和模塊化原則:服務(wù)封裝的是那些在業(yè)務(wù)上穩(wěn)定的、重復(fù)出現(xiàn)的活動和組件,組成服務(wù)的功能實體是完全獨立自主的,可以獨立進(jìn)行部署、版本控制、自管理和恢復(fù);5、粗粒度原則:服務(wù)粒度指抽象級別或者服務(wù)包含的功能。確定服務(wù)粒度時需要考慮性能需求,以及未來可能進(jìn)行的更改對服務(wù)實現(xiàn)的影響。應(yīng)盡可能使用粗粒度模式隱藏其中的細(xì)粒度服務(wù),這樣有利于將服務(wù)與其實現(xiàn)的更改隔離開來。服務(wù)數(shù)量太多會帶來服務(wù)管理的復(fù)雜性;6、松耦合性原則:服務(wù)消費者使用服務(wù)接口調(diào)用服務(wù),服務(wù)的位置、實現(xiàn)技術(shù)、當(dāng)前狀態(tài)以及服務(wù)的私有數(shù)據(jù)對服務(wù)消費者是透明的;7、可重用原則:服務(wù)是可重用的;8、策略聲明原則:應(yīng)利用策略聲明描述對服務(wù)的期望,例如:安全性方面的要求、與業(yè)務(wù)有關(guān)的語義方面的要求以及服務(wù)級別方面的要求等。服務(wù)封裝方式(一)對于技術(shù)實現(xiàn)方式和接口不能滿足或難以滿足本規(guī)范服務(wù)定義與服務(wù)封裝要求的現(xiàn)有應(yīng)用系統(tǒng),建議通過適配器對現(xiàn)有應(yīng)用系統(tǒng)進(jìn)行集成,利用適配器對外提供的各類接口的方式實現(xiàn)服務(wù)封裝。(二)對于采用J2EE或.NET等支持Web服務(wù)開發(fā)的現(xiàn)有應(yīng)用系統(tǒng),可以在不改變現(xiàn)有應(yīng)用系統(tǒng)的技術(shù)實現(xiàn)方式與現(xiàn)有接口的前提下,通過增加對外接口以支持標(biāo)準(zhǔn)的服務(wù)接口協(xié)議的方式,直接實現(xiàn)現(xiàn)有應(yīng)用系統(tǒng)功能模塊的服務(wù)封裝。(三)對于新建的應(yīng)用系統(tǒng),必須按本規(guī)范的服務(wù)定義與服務(wù)封裝的要求,直接采用支持SOA的開發(fā)工具進(jìn)行服務(wù)封裝。SOA服務(wù)集成企業(yè)服務(wù)總線(一)ESB提供了一種開放的,基于標(biāo)準(zhǔn)的消息機制,通過標(biāo)準(zhǔn)的適配器和接口,來完成服務(wù)之間的互操作。ESB提供了多協(xié)議的服務(wù)調(diào)用接入、服務(wù)路由、服務(wù)訪問控制和服務(wù)適配器等核心功能。ESB是服務(wù)提供者和服務(wù)消費者之間的一個中介,避免了點對點的集成,是實現(xiàn)SOA服務(wù)松藕合的重要機制。例如:服務(wù)消費者可以不關(guān)心服務(wù)提供者的接口(消息格式的不同)、地域(服務(wù)部署位置的變化)、調(diào)用方式(同步/異步)、傳輸協(xié)議(服務(wù)提供者和消費者可以使用不同的通訊協(xié)議)、技術(shù)實現(xiàn)(編程語言/部署環(huán)境)等。ESB功能包括但不限于:1、服務(wù)接入:服務(wù)接入是調(diào)用服務(wù)的統(tǒng)一入口。包括:接收服務(wù)請求消息和調(diào)用者使用的通信協(xié)議與ESB內(nèi)部通信協(xié)議之間轉(zhuǎn)換功能。2、訪問控制:訪問控制包括:身份鑒別與權(quán)限控制。3、消息轉(zhuǎn)換:消息轉(zhuǎn)換提供不同格式的消息之間的轉(zhuǎn)換,包括輸入消息轉(zhuǎn)換和輸出消息轉(zhuǎn)換。4、服務(wù)路由:根據(jù)消息的內(nèi)容和預(yù)先配置好的規(guī)則,將服務(wù)請求傳遞給某個具體的服務(wù)處理。5、適配轉(zhuǎn)換:負(fù)責(zé)ESB內(nèi)部通信協(xié)議與被調(diào)用的服務(wù)使用的通信協(xié)議之間的轉(zhuǎn)換,并調(diào)用服務(wù),獲得服務(wù)返回結(jié)果。(二)ESB必須包括但不限于下述特性:1、與操作系統(tǒng)和編程語言無關(guān);并能在Java和.Net應(yīng)用程序之間工作;2、使用XML作為標(biāo)準(zhǔn)通信語言;3、支持Web服務(wù)標(biāo)準(zhǔn);4、支持多種傳輸協(xié)議,例如:HTTP(S)、JMS、RMI、FTP或其他消息中間件;5、支持多種消息傳遞方式,包括:同步、異步、點對點、發(fā)布-訂閱等;6、包含基于標(biāo)準(zhǔn)的適配器,例如:JCA、文件適配器、JDBC適配器等;7、包含基于內(nèi)容的智能路由功能;8、包含標(biāo)準(zhǔn)安全模型,用于ESB的認(rèn)證、授權(quán)和審計;9、包含消息轉(zhuǎn)換功能,使用可視化映射工具定義XSLT規(guī)則,在發(fā)送應(yīng)用和接收應(yīng)用之間能夠進(jìn)行格式轉(zhuǎn)換、語義轉(zhuǎn)換;10、包含基于模式(schema)的消息驗證;11、支持服務(wù)管理,比如服務(wù)的注冊、維護(hù)、報廢和版本管理;監(jiān)控服務(wù)的運行情況,包括時延、吞吐量、錯誤率等;12、提供對中文的全面支持,包括對GB2312/GBK/UTF8的完善支持;(三)ESB應(yīng)具有良好的可擴(kuò)展性,能夠充分利用硬件系統(tǒng)的資源,支持垂直擴(kuò)展和水平擴(kuò)展,支持負(fù)載均衡,滿足日益增長的服務(wù)數(shù)量的需求。服務(wù)描述(一)服務(wù)使用WSDL描述其使用的抽象消息操作、具體的網(wǎng)絡(luò)協(xié)議和端點地址。(二)服務(wù)使用XML模式(XMLSchema)描述其接收和發(fā)送的基于XML的消息的結(jié)構(gòu)和內(nèi)容。(三)服務(wù)使用Web服務(wù)策略(WebServicesPolicy)規(guī)范來描述Web服務(wù)的能力、需求和一般特征,包括但不限于安全性策略。服務(wù)注冊/發(fā)布(一)基于SOA松耦合特性,需要對各種服務(wù)進(jìn)行注冊,以方便服務(wù)提供者發(fā)布自己的服務(wù)、服務(wù)消費查找所需的服務(wù)。(二)服務(wù)注冊中心需要提供分類管理能力,實現(xiàn)對服務(wù)的搜索。(三)服務(wù)注冊應(yīng)該提供服務(wù)審批的功能,保證對敏感注冊數(shù)據(jù)的任何變動都能夠傳遞到適合的審批流程中。同時,還應(yīng)該提供服務(wù)變更管理功能,支持變更的通知和訂閱,能夠?qū)崿F(xiàn)將注冊數(shù)據(jù)的變動主動地通知到管理員或者相應(yīng)的流程。服務(wù)發(fā)現(xiàn)/調(diào)用(一)ESB應(yīng)具有自動發(fā)現(xiàn)服務(wù)的功能,ESB中可以通過圖形化界面及參數(shù)配置的方式調(diào)用服務(wù)。(二)Java客戶端應(yīng)用程序中使用UDDIAPI,以編程方式查找服務(wù)目錄,并調(diào)用服務(wù)。(三)SOA服務(wù)應(yīng)優(yōu)先采用Web服務(wù)方式實現(xiàn),并符合WS-I國際標(biāo)準(zhǔn)。(四)服務(wù)間互操作的協(xié)議為簡單對象訪問協(xié)議(SOAP)。(五)服務(wù)間數(shù)據(jù)交換的格式為可擴(kuò)展標(biāo)記語言(XML)。服務(wù)編排(一)復(fù)雜的服務(wù)需要通過若干個簡單的服務(wù)組合而成,這時候就需要對服務(wù)進(jìn)行編排。(二)輕量級服務(wù)編排在ESB中完成,通過ESB的服務(wù)路由、消息格式轉(zhuǎn)換功能,實現(xiàn)多個服務(wù)組合成一個更粗粒度的服務(wù)。(三)需要長期運行的業(yè)務(wù)流程,可利用BPM工具進(jìn)行服務(wù)編排。服務(wù)管理管理內(nèi)容(一)SOA服務(wù)管理貫穿于服務(wù)的全生命周期,包括:服務(wù)需求分析、服務(wù)識別、服務(wù)定義、服務(wù)設(shè)計、服務(wù)實現(xiàn)、服務(wù)測試、服務(wù)部署、服務(wù)使用、服務(wù)運維、服務(wù)退役等。(二)SOA服務(wù)管理包括:服務(wù)資產(chǎn)管理、服務(wù)運行監(jiān)控、版本管理、服務(wù)動態(tài)更新、服務(wù)質(zhì)量管理、服務(wù)水平管理、安全管理等,通常通過規(guī)則配置來應(yīng)用管理功能。(三)SOA服務(wù)管理應(yīng)按照服務(wù)體系的層次劃分進(jìn)行分類管理。(四)服務(wù)的資產(chǎn)管理由服務(wù)庫完成;服務(wù)庫存儲服務(wù)全生命周期過程的詳細(xì)元數(shù)據(jù),包括:服務(wù)的定義、服務(wù)的依賴關(guān)系、服務(wù)的文檔、實現(xiàn)代碼、服務(wù)的權(quán)限信息、服務(wù)運行質(zhì)量控制信息以及服務(wù)的治理規(guī)則和策略等。(五)服務(wù)目錄存儲服務(wù)運行時所關(guān)注的元數(shù)據(jù),是服務(wù)庫存儲的元數(shù)據(jù)的一個子集;主要用于服務(wù)部署時的服務(wù)注冊、發(fā)現(xiàn)和查找,以及提供變更通知功能。(六)無狀態(tài)的服務(wù)(例如:數(shù)據(jù)服務(wù)、業(yè)務(wù)服務(wù))通過ESB和服務(wù)目錄對其進(jìn)行運維管理,管理內(nèi)容包括但不限于:1、服務(wù)監(jiān)控:提供對服務(wù)運行指標(biāo)的監(jiān)控,包括服務(wù)節(jié)點的吞吐量和可用性等,以圖形化的方式來評估服務(wù)相關(guān)性和中斷造成的影響。監(jiān)控指標(biāo)包括但不限于:最小響應(yīng)時間、最大響應(yīng)時間、平均執(zhí)行時間、處理的總消息數(shù)和錯誤數(shù)、成功/錯誤率、違反安全的消息數(shù)、校驗錯誤的消息數(shù)等。2、服務(wù)水平管理:通過設(shè)置服務(wù)水平協(xié)議(SLA)提示,向服務(wù)運行管理團(tuán)隊通知服務(wù)運行的狀況,或提供與服務(wù)質(zhì)量有關(guān)的問題報告等。觸發(fā)提示時,服務(wù)管理平臺能按預(yù)先制定的策略通知服務(wù)運行管理團(tuán)隊的管理人員(通過電子郵件或短信息等)。3、服務(wù)自動發(fā)現(xiàn):通過自動發(fā)現(xiàn)實際運行的服務(wù)或查找新部署的服務(wù),減少配置管理中的人工操作,還可以通過發(fā)現(xiàn)其它隱藏或惡意的服務(wù)來應(yīng)用更加嚴(yán)格的監(jiān)管策略。4、服務(wù)異常管理:跟蹤、檢測分布式或異構(gòu)系統(tǒng)間服務(wù)的消息流異常情況。5、服務(wù)策略實施:通過將系統(tǒng)的行為作為策略指定(而非過程代碼),系統(tǒng)的適應(yīng)性將更強。例如,如果改變用戶的身份驗證方式,從原有的輸入用戶名和密碼更改為提供一個證書驗證,在基于策略的管理模式下,安全性策略與應(yīng)用程序彼此分離,可以通過聲明的方式來描述這種更改,并動態(tài)實施。(七)有狀態(tài)的服務(wù)(例如:流程服務(wù))除了上一點無狀態(tài)的服務(wù)的管理內(nèi)容以外,還需要結(jié)合BPM工具對其過程進(jìn)行管理,管理內(nèi)容包括但不限于:1、圖形化業(yè)務(wù)流程建模。2、流程的終止、暫停、恢復(fù)、事務(wù)補償、回退等。3、允許與運行中的業(yè)務(wù)流程交互,以便處理流程異常、審批和狀態(tài)跟蹤。4、通過圖形化界面查看流程服務(wù)實例的狀態(tài)、執(zhí)行過程、節(jié)點信息或用戶設(shè)定的KPI指標(biāo)等實時數(shù)據(jù)。參考流程(一)服務(wù)的注冊流程規(guī)范如下:1、服務(wù)提供者向信息部門提出服務(wù)注冊申請。2、信息部門對申請進(jìn)行審批:如果審批通過,服務(wù)管理平臺的管理員將該服務(wù)注冊到服務(wù)目錄;如果審批不通過,向該服務(wù)提供者發(fā)送申請失敗的通知(包括審批意見),并結(jié)束流程。3、服務(wù)注冊成功后,向服務(wù)提供者及潛在的服務(wù)消費者發(fā)送注冊成功通知。4、服務(wù)提供者接收注冊成功通知后,根據(jù)實際情況,判斷是否不需要訂閱申請,而直接對潛在的服務(wù)消費者進(jìn)行授權(quán)。圖7.1服務(wù)注冊流程(二)服務(wù)的消費申請流程規(guī)范如下:1、服務(wù)消費者向服務(wù)提供者提出服務(wù)消費申請。2、服務(wù)提供者對申請進(jìn)行審批:如果審批通過,則給該服務(wù)申請者分配使用該服務(wù)的權(quán)限;如果審批不通過,則向該服務(wù)申請者發(fā)送申請失敗的通知(包括審批意見)。圖7.2服務(wù)消費申請流程(三)服務(wù)的維護(hù)流程規(guī)范如下:1、服務(wù)提供者向信息部門提出維護(hù)某項服務(wù)的申請及最新版本的服務(wù)。2、信息部門對申請進(jìn)行審批:如果審批通過,則向該服務(wù)的消費者發(fā)出服務(wù)維護(hù)通知;如果審批不通過,則向該服務(wù)申請者發(fā)送申請失敗的通知(包括審批意見),并結(jié)束流程。3、服務(wù)管理平臺的管理員進(jìn)行服務(wù)更新、維護(hù)操作。4、向該服務(wù)的消費者發(fā)出服務(wù)維護(hù)完成通知。圖7.3服務(wù)維護(hù)流程(四)服務(wù)的報廢流程規(guī)范如下:1、服務(wù)提供者向信息部門提出報廢某項服務(wù)的申請;2、信息部門對申請進(jìn)行審批:如果審批通過,則向該服務(wù)的消費者發(fā)出服務(wù)即將報廢的信息(提示消費者該服務(wù)將在什么時候報廢)。如果審批不通過,則向該服務(wù)申請者發(fā)送申請失敗的通知(包括審批意見),并結(jié)束流程。3、到了預(yù)定報廢時間,服務(wù)管理平臺取消該服務(wù)消費者的權(quán)限,向該服務(wù)消費者發(fā)出服務(wù)報廢通知,并在服務(wù)目錄中刪除該服務(wù)。圖7.4服務(wù)報廢流程SOA項目管理項目實施方法(一)自頂向下的實施方法:“自頂向下”是在企業(yè)發(fā)展戰(zhàn)略指導(dǎo)下實施SOA的方法,其核心思想就是從企業(yè)層面做SOA實施的整體規(guī)劃。它的好處是從企業(yè)整體進(jìn)行考慮,面向業(yè)務(wù),企業(yè)可以根據(jù)其業(yè)務(wù)的發(fā)展情況以及現(xiàn)有的IT水平做一個SOA實施的整體規(guī)劃。這樣做可以推動整個企業(yè)的標(biāo)準(zhǔn)化,所有的服務(wù)模塊都基于相同的標(biāo)準(zhǔn),方便今后的重用。但是它的風(fēng)險也不?。阂环矫媸欠懂牶w大,周期長,初期的投資大;另一方面是它要求企業(yè)有一套完整的組織架構(gòu)和管理流程,有比較高的紀(jì)律性和技能。(二)自底向上的實施方法:“自底向上”的實施辦法則是戰(zhàn)術(shù)性的,它強調(diào)從小處著手,從一個部門級應(yīng)用開始實施SOA。這種方式本質(zhì)上是鼓勵創(chuàng)建服務(wù)來實現(xiàn)以應(yīng)用為中心的需求。服務(wù)是建立在“按需”的基礎(chǔ)上的,并通過對應(yīng)用邏輯的封裝提供給SOA的解決方案使用。“集成”是“自底向上”的主要動力,通過簡單地添加遺留系統(tǒng)的封裝服務(wù)來滿足SOA開放式的需求。這種方法的好處是見效快,風(fēng)險小,初期的投資也不大。不過這種實施方式的彈性相對比較差,特別是當(dāng)企業(yè)需要在更大層面實施SOA時,可能會產(chǎn)生一些銜接問題。(三)中間相交的實施方法:“中間相交”又稱為“混合方法”或“敏捷方法”,它是指SOA的實施中結(jié)合“自頂向下”和“自底向上”的方法,尋求兩者之間的最佳結(jié)合點,最有效和成功地實施SOA。在應(yīng)用系統(tǒng)實施的初期,存在很多不確定性,包括業(yè)務(wù)需求和項目所選擇的開發(fā)技術(shù)、平臺等都存在不確定性。遵循“中間相交”的原則,業(yè)務(wù)人員和開發(fā)者都各自循序漸進(jìn)地做事,在過程中不斷溝通,這樣就能夠使得業(yè)務(wù)的改變得到最快的響應(yīng),并且不會影響開發(fā)效率,最終兩者能夠在某一點相遇,從而搭建起符合需求的系統(tǒng)。通俗地說,“中間相交”的原則就是我們常說的“大處著眼,小處著手”,在做項目時,并不僅僅把眼光局限在正在進(jìn)行的項目,同時也兼顧企業(yè)IT系統(tǒng)和業(yè)務(wù)發(fā)展的整體規(guī)劃。項目實施策略(一)實施SOA應(yīng)采用面向服務(wù)的集成策略,在SOA環(huán)境下應(yīng)用Web服務(wù)進(jìn)行集成,并逐步過渡到SOA架構(gòu)的實施技術(shù)路線。實施SOA并不鼓勵推倒重來,與構(gòu)建全新的面向服務(wù)的業(yè)務(wù)應(yīng)用系統(tǒng)相比,從構(gòu)建復(fù)合應(yīng)用入手實施SOA,能夠降低創(chuàng)新的風(fēng)險和構(gòu)建成本,使業(yè)務(wù)能迅速見到SOA的投資回報,有助于得到業(yè)務(wù)部門的支持。并且,隨著一個接一個應(yīng)用的成功交付,現(xiàn)有遺留應(yīng)用系統(tǒng)不斷服務(wù)化,SOA基礎(chǔ)架構(gòu)不斷擴(kuò)容,必將加速推動SOA從小規(guī)模試用到大規(guī)模普及。(二)實施SOA應(yīng)該根據(jù)應(yīng)用系統(tǒng)的實際情況靈活地把握,如果具有下述情形之一時,可考慮采用SOA架構(gòu)新建或改造應(yīng)用系統(tǒng):1、系統(tǒng)之間缺乏互聯(lián)互通,為了最大限度消滅或減少信息孤島,整合現(xiàn)有系統(tǒng),通過SOA幫助企業(yè)實現(xiàn)系統(tǒng)之間的互聯(lián)互通。2、面對市場的快速變化和激烈競爭,需要提高企業(yè)應(yīng)用的靈活性,通過SOA幫助企業(yè)實現(xiàn)業(yè)務(wù)流程的快速靈活變化。3、已建設(shè)了很多應(yīng)用系統(tǒng),但系統(tǒng)之間有很多共性,造成重復(fù)建設(shè),重復(fù)投資,通過SOA幫助企業(yè)把原來的IT資產(chǎn)整合起來,提高重用性。4、建設(shè)新的應(yīng)用系統(tǒng)時,要求具有很好的擴(kuò)展性,將上下游伙伴之間很好地整合在一起??梢灾苯永肧OA架構(gòu)來規(guī)劃和建設(shè)系統(tǒng),這對企業(yè)將來業(yè)務(wù)發(fā)展有很大幫助。5、既要整合信息孤島,又要很快讓新的應(yīng)用系統(tǒng)上線,通過SOA能夠很好地銜接新老系統(tǒng),順暢地提供各種業(yè)務(wù)服務(wù)。(三)如果應(yīng)用系統(tǒng)具有下述情形之一時,應(yīng)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 冀教版七年級數(shù)學(xué)上冊 1.6 有理數(shù)的減法 聽評課記錄
- 北師大版道德與法治七年級下冊10.2《積極面對競爭》聽課評課記錄
- 粵人版地理七年級下冊《第一節(jié) 非洲概述》聽課評課記錄
- 2025年天文測量儀器合作協(xié)議書
- 加盟合作框架協(xié)議書范本
- 臨時棄土場土地租用協(xié)議書范本
- 2025年度網(wǎng)紅蛋糕店品牌授權(quán)轉(zhuǎn)讓合同
- 二零二五年度離婚協(xié)議書涉及子女醫(yī)療費用承擔(dān)合同
- 2025年度農(nóng)業(yè)旅游租賃田地合同
- 2025年度期刊訂閱用戶信息保護(hù)合同
- 前牙即刻種植的臨床應(yīng)用
- 2024-2025學(xué)年初中七年級上學(xué)期數(shù)學(xué)期末綜合卷(人教版)含答案
- 體育活動策劃與組織課件
- 公司違規(guī)違紀(jì)連帶處罰制度模版(2篇)
- 2025屆高考物理二輪總復(fù)習(xí)第一編專題2能量與動量第1講動能定理機械能守恒定律功能關(guān)系的應(yīng)用課件
- T型引流管常見并發(fā)癥的預(yù)防及處理
- 2024-2025學(xué)年人教新版九年級(上)化學(xué)寒假作業(yè)(九)
- 內(nèi)業(yè)資料承包合同個人與公司的承包合同
- 【履職清單】2024版安全生產(chǎn)責(zé)任體系重點崗位履職清單
- 2022年全國醫(yī)學(xué)博士英語統(tǒng)一考試試題
- 《工業(yè)自動化技術(shù)》課件
評論
0/150
提交評論