SOA項目設計文檔_第1頁
SOA項目設計文檔_第2頁
SOA項目設計文檔_第3頁
SOA項目設計文檔_第4頁
SOA項目設計文檔_第5頁
已閱讀5頁,還剩31頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

1、SOA項目設計文檔目 錄1SOA概念31.1與傳統(tǒng)的建設方法不同41.2與傳統(tǒng)的建設過程不同42SOA特點52.1以業(yè)務為中心52.2靈活適應變化52.3重用IT資源,提升開發(fā)效率52.4更強調(diào)標準53SOA效益及適用場景63.1SOA效益63.2SOA適用場景74SOA技術概述84.1SOA技術體系84.2SOA標準體系124.3面向服務方法與傳統(tǒng)方法的區(qū)別145SOA 項目實施簡介155.1SOA項目需求來源155.2服務生命周期(以服務為中心的實施過程)16實施過程關系圖16業(yè)務與IT規(guī)劃18需求規(guī)劃19服務規(guī)劃及設計20服務開發(fā)及測試20服務部署21服務發(fā)布21服務運維及監(jiān)控22治理過

2、程225.3SOA項目階段實施過程的關鍵點23規(guī)劃階段23分析階段25設計階段26實現(xiàn)、調(diào)試和部署階段27運維階段285.4SOA項目實施要素29用戶原有IT資源29SOA項目實施組織29SOA項目實施支撐平臺30SOA項目實施指導文檔體系30用戶信息化要求305.5用戶在實施過程中的職責305.6產(chǎn)品選型建議325.7SOA項目實施與傳統(tǒng)項目實施的比較331 SOA概念隨著我國各行業(yè)信息化建設的不斷深入,企事業(yè)單位和政府部門逐步建立起的大批計算機信息系統(tǒng)和各類數(shù)據(jù)信息因缺乏有效銜接,導致信息資源共享難、“信息孤島”現(xiàn)象普遍存在。與此同時,對于企事業(yè)單位,隨著經(jīng)濟全球化大環(huán)境下的市場競爭日益激

3、烈,企業(yè)正在通過加快管理轉型、技術創(chuàng)新、新產(chǎn)品研發(fā)以及業(yè)務策略調(diào)整等方式來提升自己的核心競爭力、持續(xù)占有并擴大市場份額。對于各級政府部門,在以“大部制”為核心的政府行政管理體制改革的驅動下,以“管理”導向的政府職能正在向“服務”導向轉變。企事業(yè)單位和政府部門的這些轉型方式及過程的有效實施,一方面更需要信息技術和信息化的手段來支撐,另一方面,這些業(yè)務需求也對信息技術和信息化建設本身提出了更高要求:IT系統(tǒng)(通常也稱為“信息系統(tǒng)”、“應用系統(tǒng)”或“軟件系統(tǒng)”等)要能快速響應用戶業(yè)務發(fā)展和變化的需求,新系統(tǒng)必須能在充分利用用戶原有IT資源基礎上快速構建出來,同時要實現(xiàn)跨平臺、跨組織的數(shù)據(jù)共享和業(yè)務協(xié)

4、同。SOA(Service Oriented Architecture,面向服務的體系架構)是近年來軟件規(guī)劃和構建的一種新方法,其概念最早由國際咨詢機構Gartner公司于1996年首次提出。由于其本身特性非常符合上述信息化需求和問題的解決思路,因此在2003年以后成為我國軟件產(chǎn)業(yè)界和各行業(yè)用戶的關注焦點,并在2006年逐步開始在多個行業(yè)信息化建設中被選擇和應用。SOA概念自被提出之后,不少國內(nèi)外機構、企業(yè)均對SOA進行了定義和闡釋,但目前還未形成權威、統(tǒng)一的定義。本書作為國內(nèi)首部從用戶角度對SOA概念和應用進行客觀介紹的書籍,在全書中將對SOA做如下定義和說明,以便于用戶從應用角度對SOA有

5、直觀理解:SOA不是一種技術,而是一種IT系統(tǒng)和軟件的構建方法和過程,貫穿IT系統(tǒng)規(guī)劃、設計、構建、運維的各個階段。SOA與傳統(tǒng)的IT系統(tǒng)建設方法和過程有較大區(qū)別,簡要說明如下:1.1 與傳統(tǒng)的建設方法不同基于SOA的IT系統(tǒng)建設更強調(diào)基于統(tǒng)一標準的快速開發(fā)和靈活組合?!胺铡笔荢OA的核心元素,它對應于某個業(yè)務流程、業(yè)務功能或數(shù)據(jù)資源,按照統(tǒng)一的規(guī)格來組成信息系統(tǒng)?;凇胺铡?,SOA能顯著縮小用戶業(yè)務需求與IT支持能力之間的鴻溝,指導IT團隊開發(fā)出具有良好移植性、擴展性和兼容性的應用系統(tǒng)。SOA不僅僅站在單個信息系統(tǒng)或集成項目的角度,而是更強調(diào)站在用戶IT建設全局或行業(yè)內(nèi)信息化建設全局,從

6、而規(guī)劃并逐步建成統(tǒng)一的IT系統(tǒng)架構模式,并積累可重復使用的信息系統(tǒng)資源庫,以實現(xiàn)用戶組織內(nèi)或全行業(yè)內(nèi)的信息資源共享、信息系統(tǒng)協(xié)同、新系統(tǒng)的快速構建以及系統(tǒng)對業(yè)務變化的快速應變能力。1.2 與傳統(tǒng)的建設過程不同SOA建設過程的重點是基于“服務”的IT系統(tǒng)規(guī)劃和設計階段,業(yè)務人員將不僅僅是提出需求,而是深入?yún)⑴c各類“服務”的規(guī)劃和設計?!胺铡遍g相互獨立,所有“服務”的信息可被匯集到統(tǒng)一的服務資源庫中,使得用戶、其他系統(tǒng)以及其他“服務”可通過服務資源庫來訪問和使用。SOA系統(tǒng)的具體開發(fā)階段則是由技術人員依據(jù)每個“服務”的功能和范圍要求來具體實現(xiàn)或選擇已有可用服務,并進行合成與裝配。在SOA系統(tǒng)的運

7、維過程中,業(yè)務人員可以自行調(diào)整相應的服務,以使IT系統(tǒng)能滿足新的業(yè)務規(guī)則和需求。此外,與SOA密切相關的還有一個概念業(yè)務流程管理(BPM,Business Process Management)。BPM來源于業(yè)務流程變革領域,如業(yè)務流程再造(BPR)、業(yè)務流程建模以及業(yè)務流程集成等。在技術方面,業(yè)務流程管理融合了許多相關技術,如流程建模、工作流技術、流程自動化以及業(yè)務流程監(jiān)控等。借助BPM,通過對業(yè)務流程的監(jiān)控,用戶可以及時發(fā)現(xiàn)問題,并對業(yè)務流程進行不斷創(chuàng)新和優(yōu)化。而SOA使得這種流程變化更加便捷,從而大大提高了業(yè)務的靈活性。因此,當前SOA系統(tǒng)中大多都包含了BPM的功能和可供用戶來開發(fā)和管理

8、的技術平臺。近年來,隨著SOA技術實現(xiàn)手段、特別是基于標準的互聯(lián)網(wǎng)技術(如Web服務和XML)不斷成熟,SOA發(fā)展勢頭迅猛。從2006年至今,SOA已經(jīng)逐漸成為影響中國IT系統(tǒng)構建的主導方法和過程,在我國金融、電信、煙草、電子政務、醫(yī)療衛(wèi)生、企業(yè)信息化、B2B、物流以及鋼鐵制造等行業(yè)和領域開始得到應用,關于各行業(yè)或領域的SOA應用情況,可參閱本書的第二篇相關內(nèi)容。2 SOA特點基于SOA來構建的IT系統(tǒng)具備如下特點:2.1 以業(yè)務為中心SOA更多關注于用戶業(yè)務,通過業(yè)務人員參與SOA系統(tǒng)的規(guī)劃、設計和管理,使得IT系統(tǒng)能在對業(yè)務的深刻理解的基礎上進行構建,實現(xiàn)IT系統(tǒng)與用戶業(yè)務的密切結合。在具

9、體實施中,通過把完成實際業(yè)務流程中的一項任務所需的IT資源組織為服務進行封裝,從而達到以業(yè)務為核心,通過業(yè)務選擇技術,避免技術制約業(yè)務的問題。2.2 靈活適應變化IT系統(tǒng)圍繞用戶業(yè)務構建,用戶業(yè)務在實現(xiàn)層通過表現(xiàn)為一系列松散耦合的“服務”來實現(xiàn),這些服務可以根據(jù)用戶需求隨需組合,使得IT系統(tǒng)對于業(yè)務的適應能力明顯提高。2.3 重用IT資源,提升開發(fā)效率SOA強調(diào)對“服務”的重用,對原有IT資源的重用度提升是SOA帶來的關鍵效果之一,大量具有高重用的服務資源,為快速構建新的業(yè)務功能和業(yè)務系統(tǒng)奠定基礎,使得IT系統(tǒng)的開發(fā)和軟件生產(chǎn)效率得到提升。同時,重用過程有利于保護用戶前期的信息化投資和IT資產(chǎn)

10、積累,節(jié)省IT系統(tǒng)開發(fā)成本,實現(xiàn)用戶信息化的可持續(xù)性建設與發(fā)展。2.4 更強調(diào)標準SOA的實現(xiàn)強調(diào)基于統(tǒng)一的標準,SOA系統(tǒng)建立在大量的開放標準和協(xié)議之上,以實現(xiàn)系統(tǒng)及信息的互聯(lián)互通和互操作。因此,SOA系統(tǒng)從規(guī)劃到實施,標準都至關重要。3 SOA效益及適用場景3.1 SOA效益SOA效益主要體現(xiàn)在如下幾個方面:1) 提高業(yè)務效率和用戶滿意度目前,我國企事業(yè)單位及政府部門都在強調(diào)“服務”能力,各類組織對如何提高服務水平并使IT系統(tǒng)快速響應新業(yè)務需求的要求,已經(jīng)超過了對于IT系統(tǒng)開發(fā)效率的要求。依托“服務”的松耦合性和重用性,通過現(xiàn)有“服務”和IT資產(chǎn)的組裝,SOA減少了新業(yè)務應用開發(fā)的時間,提

11、高了產(chǎn)品和服務的上市速度和開發(fā)效率,使得SOA系統(tǒng)中的“服務”和IT資產(chǎn)以更靈活的配置適應新的需求變化,提高了業(yè)務效率。SOA通過創(chuàng)建與具體技術和最終用戶設備無關的服務,應用于各種用戶服務渠道,以保證一致的用戶體驗,提高用戶的滿意度。2) 有利于整合IT資源,提高IT系統(tǒng)的對外協(xié)作能力不少行業(yè)的企事業(yè)單位實施了很多應用系統(tǒng),比如金融、電信行業(yè)以及一些集團企業(yè),如何在不同省市的子公司、分公司和多元化下屬單位整合原有系統(tǒng)和信息資源,都是目前面臨的主要系統(tǒng)建設需求。SOA不僅僅是技術層面,同時提供了系統(tǒng)集成開發(fā)的主要方法及策略。SOA倡導遵循開放標準,并獨立于廠商多樣性的環(huán)境,為基于互聯(lián)網(wǎng)的組織內(nèi)和

12、組織間的系統(tǒng)通信協(xié)作和資源共享提供了良好的互操作性和可用性。3) 提高投資回報率采用SOA的企業(yè)、機關部門,將基于服務規(guī)則和要求,構建下層IT架構,具有技術中立的特性,降低了對廠商的依賴和轉換成本;其次,SOA系統(tǒng)以“服務”為中心,梳理和重組業(yè)務流程,使各個業(yè)務系統(tǒng)能夠互聯(lián)互通和資源共享,這種服務的松耦合及平臺中立為機構降低了集成成本,松耦合和模塊化簡化了維護工作,降低了維護成本;因此,總體而言,SOA可以保護原有IT投資,提高現(xiàn)有IT資產(chǎn)的投資回報率。單個企業(yè)或單位的力量是有限的,只有某個行業(yè)內(nèi)或供應鏈上的多家企業(yè)和單位聯(lián)合,共享“服務”資源,才能推動SOA的開發(fā)模式進程,收到良好效益。在推

13、進SOA的同時,相應的標準化工作必須先行,用統(tǒng)一標準指導各家的服務開發(fā)、接口定義、通用數(shù)據(jù)格式定義、資源存儲、服務注冊與查詢等SOA實踐工作。3.2 SOA適用場景上述章節(jié)提到了SOA的特點以及能帶來的效益,但是,SOA并不是在所有的情況和場景下都適用,只有在適宜SOA特性的場景下,并采用合適的實施策略來保障,才有可能逐步得到SOA帶來的各項效益。從SOA特點來看,SOA在一些場景中能發(fā)揮其作用和優(yōu)勢,如:n 企事業(yè)單位或者政府部門內(nèi)部IT系統(tǒng)的整合由于業(yè)務重組、并購或者內(nèi)部機制調(diào)整,而需要實現(xiàn)組織內(nèi)的統(tǒng)一管理、協(xié)作和信息共享。需要對多個異構的IT系統(tǒng)進行整合,提高組織的整體決策、監(jiān)控能力或業(yè)

14、務流程效率。n 企事業(yè)單位和政府部門之間IT資源的共享和協(xié)同為了在業(yè)務和市場上合作,需要依賴業(yè)務合作伙伴提供其IT系統(tǒng)的非核心業(yè)務功能或信息。某項服務能力,需要多個組織和單位的IT系統(tǒng)需要共享信息,并聯(lián)合處理,比如電子政務中的“一站式審批”服務、各級政務資源共享交換平臺等。n 從頭開始開發(fā)的新應用系統(tǒng)SOA將是未來IT新系統(tǒng)構建的主導方法,因此考慮到未來的擴展和重用能力,用戶在業(yè)務允許的條件范圍內(nèi)、可選擇基于SOA來構建新應用系統(tǒng)。n 基于互聯(lián)網(wǎng)的一些新的應用模式基于互聯(lián)網(wǎng)的軟件服務化平臺,如SaaS等模式。在信息化建設中,除自己的IT系統(tǒng)之外,也同時希望集成互聯(lián)網(wǎng)上的一些軟件工具或Web服務

15、的企事業(yè)單位,如采用“軟件+服務”策略的單位。但是,也有一些應用場景不適合用SOA來實現(xiàn),此時采用傳統(tǒng)的技術、方法和過程來實施更為妥當,比如下述一些場景:n 用戶業(yè)務涉及效率敏感及實時性要求較高的系統(tǒng),如工業(yè)控制、核心交易系統(tǒng)。n 事務及安全性要求較高的業(yè)務系統(tǒng)。n 用戶的業(yè)務系統(tǒng)沒有集成的需求。n 當前的IT系統(tǒng)基于統(tǒng)一的平臺和編程方法。對于大多數(shù)企事業(yè)單位和政府部門來說,如果采納了SOA,還需要注意如下事項:n 考慮SOA產(chǎn)品選型,重視業(yè)務流程的管理,使SOA成為其全面業(yè)務轉型的實現(xiàn)手段。n 企事業(yè)單位和政府部門在進行業(yè)務規(guī)劃時,應基于自身實際,不要盲從。n 采用SOA要從全局慎重規(guī)劃,以

16、循序漸進、逐步推進為宜。具體的規(guī)劃和實施建議,可參見本書后續(xù)章節(jié)的相關內(nèi)容。4 SOA技術概述4.1 SOA技術體系從技術層面來看,SOA并不是一項技術創(chuàng)新,傳統(tǒng)的技術在構建SOA系統(tǒng)時同樣能派上用場。實際上,在采用SOA進行系統(tǒng)整合的項目中很多被整合的系統(tǒng)本身就是基于傳統(tǒng)技術開發(fā)的,但與傳統(tǒng)構建系統(tǒng)的方法比較,SOA更強調(diào)標準化應用,更加重視系統(tǒng)的層次架構。SOA特性之一的互聯(lián)互通性就體現(xiàn)在系統(tǒng)中任一個服務能被其他服務甚至是其他系統(tǒng)的服務準確無誤地發(fā)現(xiàn)及理解,而滿足這種特性最直接的方式就是每個服務都遵循一系列統(tǒng)一標準。因此,只要在開發(fā)過程中遵循SOA的理念,采用統(tǒng)一的標準,任何現(xiàn)有技術都能用

17、來開發(fā)SOA系統(tǒng)。SOA與傳統(tǒng)技術體系的區(qū)別在于系統(tǒng)均是基于“服務”構造,“服務”之間的交互和組合采用了一種基于“服務中介平臺”的方式實現(xiàn)了松耦合,圖1-1是“服務”被提供和使用過程的示意圖。SOA系統(tǒng)中服務交互示意圖在圖1-1中,服務提供者是一個可以通過網(wǎng)絡尋址到的實體,它提供的“服務”是基于IT系統(tǒng)的某個功能或流程;服務請求者調(diào)用和使用服務提供者提供的“服務”;服務中介平臺類似代理的角色,以目錄方式存儲了大量“服務”資源,一方面可以接受服務提供者提供的各類“服務”信息,另一方面可以通過協(xié)調(diào)機制把“服務”的請求分配給服務提供者。這樣為服務請求者和服務提供者建立了中立的溝通渠道。上述對服務交互

18、圖的描述是為了解釋SOA的核心元素“服務”的運行機制。便于對技術有興趣的用戶IT人員了解。下述內(nèi)容將圍繞SOA系統(tǒng)的整體技術體系來進行說明。在具體的項目中,SOA系統(tǒng)構建沒有完全統(tǒng)一的模式,系統(tǒng)的體系架構需要根據(jù)用戶現(xiàn)狀進行分析設計。但在層次和內(nèi)容上,SOA系統(tǒng)存在一些共性的特征。通常而言,SOA系統(tǒng)的技術體系包含如下幾個層次及內(nèi)容,如圖1-2所示。SOA系統(tǒng)基本技術體系1) 基礎設施層既包括服務器、網(wǎng)絡設備等硬件設施,也包括操作系統(tǒng)、數(shù)據(jù)庫系統(tǒng)等基礎軟件,作為整個SOA系統(tǒng)運行的基礎平臺。2) 已有資源層指用戶當前所擁有的IT資源。“已有應用系統(tǒng)資源”和“已有信息或數(shù)據(jù)資源”是指用戶當前運行

19、的應用系統(tǒng)及數(shù)據(jù)系統(tǒng)中,若干適合抽取出來作為為上層系統(tǒng)提供服務支持的資源。被抽取出來的資源可以是某個系統(tǒng)(指應用系統(tǒng)或數(shù)據(jù)系統(tǒng))中的某個模塊,可以是某個系統(tǒng),可以是若干系統(tǒng)的合并及組合,也可以是各類格式的數(shù)據(jù)資源;“已有的組件/構件資源”即包括原先采用組件/構件系統(tǒng)的用戶所擁有的組件/構件資源,例如基于COM/COM+、JavaBean/EJB或者是CORBA開發(fā)的技術功能組件或業(yè)務功能組件,也包括已有的Web Services服務組件。“基礎設施層”與“已有資源層”是服務的具體技術實現(xiàn)層,上層應用使用的服務最終都由這兩層提供。3) 服務提供層本層主要職責是封裝下面兩層的資源,并以服務的形式展

20、現(xiàn)出來,從而構建整體的應用系統(tǒng)。這是SOA系統(tǒng)最關鍵的一層,也是SOA系統(tǒng)設計最難的部分,難點在于服務的規(guī)劃與設計該如何劃分服務及服務的粒度。服務的規(guī)劃與設計不僅直接影響到SOA系統(tǒng)的性能,也間接影響到SOA系統(tǒng)的擴展能力。但這不僅僅是技術問題,需要從企業(yè)戰(zhàn)略目標的層次上考慮服務的劃分,業(yè)務人員的參與也是設計出適合企業(yè)使用的服務的關鍵。具體方法和原則可參見本書第一篇第3章3.2節(jié)的相關內(nèi)容。本層主要由三部分組成服務、企業(yè)服務總線(ESB)、服務資源庫,各部分內(nèi)容說明如下:n 服務主要是與業(yè)務需求對齊的各類“業(yè)務服務”(與用戶業(yè)務相關的、實現(xiàn)特定業(yè)務功能)、“流程服務”(與用戶實際業(yè)務流程相關、

21、包含人員與IT系統(tǒng)參與的一個處理過程)、“信息服務”(用于共享的各類數(shù)據(jù)和信息)、“交互服務”(為最終用戶、其他IT系統(tǒng)或服務提供多渠道統(tǒng)一訪問入口的服務)以及“其他服務”(包括實現(xiàn)安全規(guī)則、管理機制、質(zhì)量策略等各類構建用戶IT系統(tǒng)所需的服務)。n 企業(yè)服務總線(ESB)為服務之間間接和動態(tài)交互提供支持。ESB具體的功能包括:消息尋址路由(根據(jù)請求對服務的描述以及服務在服務資源庫中的注冊信息,定位具體的服務)、消息驗證(檢驗服務發(fā)送的消息是否滿足格式要求)、消息格式轉換(把消息從一種格式轉成另外一種格式)、消息操作(包括增加或刪除字符,或把消息中的特定字符進行轉換的操作)等。ESB包含了傳統(tǒng)消

22、息中間件的“消息代理”(MessageBroker)功能,但其增強了服務的動態(tài)路由和交換功能。通過把服務接入ESB,由ESB負責服務消息的流通,用戶就可以把注意力全部集中在服務的構建上。此外,由于消息的發(fā)送不再在服務間點對點地進行傳送,消息原先的直接交換就變成了現(xiàn)在的間接交換,實現(xiàn)了松耦合。n 服務資源庫服務資源庫里儲存的是已注冊的服務的描述信息及相關服務元數(shù)據(jù)描述信息。已注冊的服務可以分成兩大類,一類是可以直接被使用的、實現(xiàn)具體功能的服務,另一類是在運行時才進行組裝的服務。服務的描述信息記錄了服務實現(xiàn)的功能、服務該如何調(diào)用、服務具體實體所在地以及服務在策略方面作出的規(guī)定等。4) 應用接入層用

23、戶在這一層里可以部署各種應用,例如圖1-2中所示的在政府、金融、電信等行業(yè)的應用。應用依據(jù)業(yè)務流程,主要由業(yè)務人員設計,IT技術人員輔助。應用依靠下層提供的服務及服務的組合具體實現(xiàn)。5) 標準體系標準體系貫穿SOA系統(tǒng)從最底層到最上層全部四層結構,內(nèi)容上由若干行業(yè)內(nèi)公認的標準組成,是每層系統(tǒng)規(guī)劃設計時建議采用的規(guī)范,為SOA系統(tǒng)的標準化實施確定了邊界,同時便于實現(xiàn)SOA系統(tǒng)間的互操作。6) 開發(fā)平臺及各類工具集用于對SOA系統(tǒng)進行規(guī)劃設計、實施測試、運維管理的軟件平臺及工具集,涵蓋系統(tǒng)各個層次。從系統(tǒng)生命周期角度出發(fā),可劃分為如下平臺及工具:n 規(guī)劃平臺及工具主要用于做出整個系統(tǒng)的分析與規(guī)劃,

24、需要進行的工作包括項目管理、需求分析、版本控制以及文檔管理等。n 設計平臺及工具協(xié)助相關人員完成整個系統(tǒng)的設計工作。具體的平臺及工具應該包括“業(yè)務建?!保P突髽I(yè)的業(yè)務)、“流程建?!保ò褬I(yè)務整理成流程)、“服務組裝”(按照一定規(guī)則組裝流程形成服務或應用)、“服務建模”(模型化整理出來的服務用于服務生成)。這個階段的平臺及工具與傳統(tǒng)的開發(fā)方法所需的平臺與工具有較大區(qū)別,體現(xiàn)的是SOA的思想。n 開發(fā)平臺及工具用于實施SOA系統(tǒng)的開發(fā),所采用的開發(fā)語言及開發(fā)平臺沒有限制。n 測試平臺及工具用于實施SOA系統(tǒng)的測試。傳統(tǒng)的測試平臺及測試工具在SOA系統(tǒng)的測試工作中同樣可以采用。n 注冊部署平臺及

25、工具用于實施服務的注冊發(fā)布以及SOA系統(tǒng)的部署。n 監(jiān)控管理平臺及工具用于SOA系統(tǒng)整個生命周期的監(jiān)控及管理。這類平臺及工具貫穿系統(tǒng)的規(guī)劃、設計、開發(fā)、測試及部署的各個階段,監(jiān)測各個階段SOA系統(tǒng)的實施進展,便于用戶及早對意外情況做出反應。以上是通用的SOA系統(tǒng)技術體系,可用于指導SOA項目的實施。各廠商在實際項目實施中可根據(jù)用戶需求及產(chǎn)品選型情況,在此技術體系基礎上提供個性化的解決方案。4.2 SOA標準體系SOA標準體系是指SOA領域內(nèi)多種類、多層次的SOA標準所組成的相互聯(lián)系的有機整體。這套體系對統(tǒng)一用戶與企業(yè)對SOA的理解,加快SOA項目實施的規(guī)范化,以及增強SOA系統(tǒng)間的互操作能力等

26、方面具有重要意義。目前國際上尚未有被廣泛認可與接受的SOA標準體系。一些國際標準協(xié)會組織(如W3C、OASIS、OMG、WS-I等)及國際主流企業(yè)發(fā)布了若干用于構建SOA系統(tǒng)的規(guī)范及標準(常見的是基于Web Services技術的一系列WS-*規(guī)范及標準),但這些規(guī)范及標準僅在各個標準化協(xié)會或企業(yè)內(nèi)形成初步的體系,而且不同組織發(fā)布的規(guī)范及標準間存在重復甚至沖突的現(xiàn)象,因此,國際上統(tǒng)一的SOA標準體系短時間內(nèi)還不能成型。為讓用戶了解目前國際上各類規(guī)范及標準的研制與使用情況,使用戶在做系統(tǒng)開發(fā)決策時有一定參考依據(jù),同時抱著建設適合國內(nèi)用戶使用的SOA標準體系的目標,ISOL梳理了各個國際標準協(xié)會組

27、織及國際主流企業(yè)發(fā)布的主流規(guī)范及標準,整理出84項關于SOA與Web Services的規(guī)范及標準,經(jīng)過體系化分析,劃分出14個標準域(見圖1-3),形成當前主流SOA與Web Services規(guī)范及標準的全集,最終形成國際SOA標準體系研究報告的白皮書SOA標準體系V1.0(已發(fā)布在“中國SOA標準服務網(wǎng)”www.soa-上,詳細論述可參閱該文檔)。SOA及Web Services規(guī)范及標準域目前,我國正在基于國內(nèi)產(chǎn)業(yè)和用戶需求,建立我國的SOA國家和行業(yè)標準體系,此工作已于2007年開始,目前已初步規(guī)劃出我國SOA國家標準體系,如圖1-4所示。此標準體系會在我國標準化專業(yè)機構、軟件產(chǎn)業(yè)界、

28、學術界以及用戶的共同合作下進行細化及具體研制。中國SOA標準體系全景圖我國SOA標準體系工作將圍繞4個層次標準的研制工作展開:n SOA基礎標準是支撐SOA系統(tǒng)實現(xiàn)的通用性基礎標準,包括SOA術語、SOA總體技術要求、SOA標準化指南以及SOA集成開發(fā)標準,這一層次的標準將為SOA系統(tǒng)或產(chǎn)品的基本功能、性能作出限定,并為用戶和軟件廠商提供使用指導。n SOA支撐技術標準是SOA系統(tǒng)相關的基礎技術標準,在圖1-4所示11個標準域的若干標準中,我國將對國外已有的相關成熟技術標準(如部分WS-*標準)進行裁剪和修改,并采納為我國相應的國家標準,部分國內(nèi)有特殊需求的標準將采取自主研制的方式來制定。n

29、SOA測評標準包括兩類:一類對SOA相關的產(chǎn)品對于SOA標準的符合性及互操作性進行評測,第二類為用戶提供SOA建設成熟度評估的評測規(guī)范,包括相關評測方法和指標。上述標準規(guī)范將作為相應的SOA測評工具和平臺的基本依據(jù)。n SOA行業(yè)/領域標準將根據(jù)行業(yè)或領域特征及信息化現(xiàn)狀來研究制定適合本行業(yè)或本領域的SOA標準體系。此部分標準的研制工作將由我國各行業(yè)相關標準化委員會或行業(yè)協(xié)會來主導制定。目前所列出的幾個領域為部分有代表性的行業(yè)或領域,其他行業(yè)或領域也會逐步擴展進來。目前,中國SOA標準體系正逐步形成之中:基于XML的Web服務描述語言(20030146-T-339)與基于XML的簡單對象訪問協(xié)

30、議(20030147-T-339)兩項國家標準已完成制定并發(fā)布;Web服務可靠消息傳遞(20080478-T-469)與Web服務互操作框架(20080477-T-469)已開始研制;SOA術語、SOA總體技術要求、SOA標準化指南與Web服務管理標準4個標準處于國家標準公示階段;Web服務業(yè)務流程規(guī)范等兩個標準處于申報階段;金融行業(yè)SOA標準化指南等處于計劃階段。4.3 面向服務方法與傳統(tǒng)方法的區(qū)別軟件開發(fā)方法歷經(jīng)數(shù)次變革,從結構化分析方法開始,經(jīng)面向對象方法、面向構件方法,到現(xiàn)在的面向服務方法,這些變革都是為滿足客戶需求的根本改變,以適應應用領域不斷增加的復雜程度而提出的。1結構化分析方法

31、結構化分析方法在20世紀70年代逐步形成,以算法為中心,按照逐層分解、逐步求精的原則,給出一組幫助系統(tǒng)分析人員產(chǎn)生功能規(guī)約的原理與技術,方法簡單、清晰,符合人們認識世界、改造世界的一般規(guī)律,從而大大降低了求解問題的復雜程度。但其對需求變更的適應能力很差,所需文檔數(shù)據(jù)資料極大,也不適合用于解決復雜的大規(guī)模問題。2面向對象方法面向對象方法產(chǎn)生于20世紀80年代,以對象(對象=數(shù)據(jù)+算法)為中心,為軟件工業(yè)實現(xiàn)工程化提供了強有力的支持。面向對象方法具有封裝性、多態(tài)性和繼承性,與人類習慣的思維方法一致,加強了人們對問題域的理解,增強了適應需求變化的能力,且利于用戶的參與和各類人員的交流。但其需要依賴具

32、體的編程語言,與業(yè)務存在鴻溝;封裝粒度小,耦合度高,難于實現(xiàn)大規(guī)模、高層次的重用。3面向構件方法面向構件方法以粗粒度、松耦合的構件封裝可重用的功能單元。企業(yè)業(yè)務被映射成系統(tǒng)構件,從整個企業(yè)的視角出發(fā)構思、設計系統(tǒng),是面向對象方法更高一級的抽象,比面向對象方法更切合企業(yè)的實際應用,重用度也進一步提高。但與開發(fā)語言緊密聯(lián)系,導致接口標準不統(tǒng)一,不同開發(fā)語言實現(xiàn)的系統(tǒng)之間很難實現(xiàn)互操作。4面向服務方法面向服務方法是在面向對象方法的基礎上擴展的構建系統(tǒng)的思想和方法。面向服務方法關注的是企業(yè)業(yè)務,它直接映射到業(yè)務,強調(diào)IT與業(yè)務的對齊,以服務為核心元素來封裝企業(yè)的業(yè)務流程和企業(yè)已有應用系統(tǒng)。服務的粒度更

33、大,更加匹配企業(yè)級應用中的業(yè)務,可以實現(xiàn)更高級別的重用。但目前存在相關標準未統(tǒng)一、應用案例較少等一些問題。上述各類系統(tǒng)構建方法的比較如表1-1所示。 名稱 概述 優(yōu)點缺點結構化方法以算法為中心,又稱為結構化分析體現(xiàn)了逐層分解、逐步求精的原則,有嚴格的規(guī)則難于檢驗分析結果的正確與否;對需求變更的適應能力很差;系統(tǒng)設計人員對分析結果的理解存在障礙面向對象方法以對象(對象=數(shù)據(jù)算法)為中心,實現(xiàn)了對數(shù)據(jù)和算法的封裝和繼承加強了對應用領域的理解,改進了溝通和交流;適應需求變化的能力較強;支持分析和設計結果的復用純技術導向,存在與業(yè)務的鴻溝;復雜度高,抽象程度低,難以實現(xiàn)大規(guī)模和高層次的重用面

34、向構件方法以組件或構件封裝可重用的功能單元重用度進一步提高,提高了軟件企業(yè)的開發(fā)效率和質(zhì)量組件或構件封裝方法和接口標準不統(tǒng)一,很難實現(xiàn)與外部應用系統(tǒng)之間的互操作面向服務方法以服務封裝業(yè)務流程和應用系統(tǒng)業(yè)務驅動技術,以開放標準實現(xiàn)應用系統(tǒng)之間服務的相互訪問,乃至復合應用的組裝,實現(xiàn)了更高級別重用處在概念導入期末尾,相關標準尚未統(tǒng)一,應用案例及工程實踐剛起步5 SOA 項目實施過程5.1 SOA項目需求來源當前SOA項目的建設,需求來源主要分為兩大類:系統(tǒng)整合驅動和新系統(tǒng)建設驅動,下面分別介紹之。1系統(tǒng)整合驅動電信、金融、政府等以服務為導向的企業(yè)或組織中,為了更好地滿足客戶或公眾需求,必須提供一站

35、式以及隨需應變的服務能力。不僅要對企業(yè)或組織內(nèi)部系統(tǒng)進行整合,同時要與相關的企業(yè)及組織進行信息系統(tǒng)協(xié)同,因此在整合及協(xié)同為主要需求推動下,基于SOA的IT系統(tǒng)整體架構成為選擇熱潮?;赟OA的整合范圍包括3類:應用系統(tǒng)之間的數(shù)據(jù)整合、功能整合和流程整合。整合的方式是通過對原有數(shù)據(jù)及IT系統(tǒng)資源進行服務化的包裝,從而使得各系統(tǒng)以統(tǒng)一的、標準化的方式進行數(shù)據(jù)共享和業(yè)務協(xié)同。2新系統(tǒng)建設驅動隨著信息化建設的進步一開展,部分企業(yè)的原有系統(tǒng)已經(jīng)較龐大而復雜,面臨新的業(yè)務需求,原有系統(tǒng)已遠遠不能滿足這些新的業(yè)務需求?,F(xiàn)有IT系統(tǒng)的相對剛性使很多CIO在面對頻繁的業(yè)務變化時步履維艱、痛苦不堪。從技術層面來說

36、,許多軟件系統(tǒng)基本采用手工編碼的方式,總體架構設計的缺乏注定無法全面適應系統(tǒng)需求變更的需要。因此許多單位在建設新的系統(tǒng)時,以柔性化敏捷化的業(yè)務應用系統(tǒng)為目標,希望能持續(xù)地支撐業(yè)務應用的變化及發(fā)展。SOA在基礎架構上基于業(yè)務服務、標準化、平臺無關的特性,使其成為這些新系統(tǒng)構建的首選。需要指出的是,上述兩種需求來源均不是孤立的,在各行業(yè)的項目建設中,系統(tǒng)整合往往與新系統(tǒng)建設相互融合,但各項目所解決的問題會對整合或新系統(tǒng)的建設各有偏重。5.2 服務生命周期(以服務為中心的實施過程) SOA既是對IT規(guī)劃設計和基礎設施方面的重大改革,也是應用開發(fā)和業(yè)務部門應用上的極大改進。SOA項目的實施不僅涉及IT

37、部門,而且涉及企業(yè)從上到下、從業(yè)務到IT的全面參與。在項目實施的過程中,必須首先由企業(yè)或組織的最高層做出決策,對IT系統(tǒng)及各項目實施路線做出整體規(guī)劃,然后由相關業(yè)務部門與IT部門深度合作并分步實施,逐步取得SOA項目的成功,并最終給企業(yè)帶來效益。5.2.1 實施過程關系圖SOA項目實施過程關系圖如圖3-1所示。SOA項目實施過程關系圖整體而言,企業(yè)的IT系統(tǒng)建設是逐步進行的,對于一個具體的SOA項目,其實施過程總體上由3個過程組成:1規(guī)劃過程規(guī)劃過程的目的是基于企業(yè)或組織的業(yè)務發(fā)展需求,確定信息IT系統(tǒng)建設的總體規(guī)劃,并明確即將啟動的具體SOA項目的范圍及目標。此過程分為兩個階段:業(yè)務與IT規(guī)

38、劃階段、需求規(guī)劃階段。具體各階段說明見后續(xù)章節(jié)相關內(nèi)容。2實施過程實施過程是SOA項目建設的執(zhí)行階段,此階段需要用戶的項目團隊與指定的軟件公司實施團隊共同合作推進,在實施階段應注意及時溝通,避免不必要的風險。如圖3-1所示,SOA實施過程為一個持續(xù)更迭的階段,包括:服務規(guī)劃及設計、服務開發(fā)及測試、服務部署、服務注冊發(fā)布、服務運維及監(jiān)控5個階段。具體各階段說明見后續(xù)章節(jié)相關內(nèi)容。3治理過程治理是貫穿規(guī)劃過程和實施過程的策略和工作指南,其過程在SOA項目中比在普通IT項目中更為重要。在SOA中,業(yè)務人、IT人員、服務使用者和服務提供者均處于不同環(huán)境中,由不同的部門開發(fā)和管理,無論從項目全過程中角度

39、,還是服務全生命周期角度,均需要進行大量的協(xié)調(diào)工作,并且所有的協(xié)調(diào)工作必須基于統(tǒng)一的管理策略、原則和機制來實現(xiàn)。關于上述內(nèi)容在后續(xù)章節(jié)中有詳細闡釋。5.2.2 業(yè)務與IT規(guī)劃業(yè)務規(guī)劃和IT規(guī)劃的目標是面向用戶的高層決策者、CIO和業(yè)務主管,在幫助其理解SOA的商業(yè)價值的基礎上,對于組織采納SOA來進行信息化建設的方向、目標、行動、任務、原則、策略、資源等進行綜合分析,最終就是否采用SOA來進行信息化建設做出宏觀決策,并建立SOA總體規(guī)劃藍圖,其關系圖如圖3-2所示。業(yè)務與IT規(guī)劃關系圖一方面,企事業(yè)單位或組織的決策部門和業(yè)務部門需要進行業(yè)務規(guī)劃,通過對企業(yè)愿景、內(nèi)外部環(huán)境、資源約束、風險等方面

40、的梳理和分析,確定企業(yè)的業(yè)務策略及需要解決的業(yè)務問題;另一方面,在業(yè)務規(guī)劃的驅動下,IT部門的CIO以及團隊需要從信息化的角度,對當前組織已有IT系統(tǒng)的功能、性能、問題、基礎架構、平臺、標準以及需要滿足的需求等各方面進行評估和規(guī)劃,確定IT整體的建設策略、建設路線以及組織結構。在業(yè)務和IT規(guī)劃過程中,在如下方面需要雙方依次進行研究和磋商:1是否要采納SOAn 業(yè)務當前問題和需求是什么,現(xiàn)階段是否有必要、有條件在信息化建設中采納SOA?n 采納SOA,到底可以解決什么關鍵問題?此處可參考本指南中的SOA效益及適用場景內(nèi)容。n 采納SOA,是否具備相應的基本條件?比如:高層決策者對SOA具有全面的

41、理解和一致的認識,具有采納SOA所需的預算,信息化建設水平較高,具有較高素質(zhì)的信息化專業(yè)隊伍等。2采納何種SOA策略n 到底應該在什么層次、什么級別上采納SOA?n 是在戰(zhàn)略級別上還是戰(zhàn)術級別上?是全面鋪開還是局部試點?n 具體而言什么業(yè)務單元需要SOA?如何排定需求優(yōu)先級?把哪個作為切入點和突破口?3需要如何投入資源n 采納SOA需要哪些資源投入?n 現(xiàn)有的資源條件是否滿足要求?n 采納SOA需要哪些政策、制度、指南、標準方面的配套?n 在此過程中,兩方面人員在規(guī)劃過程中經(jīng)過反復溝通和協(xié)商并達成一致后,最后決策出是否采納SOA以及總體采納思路。5.2.3 需求規(guī)劃需求規(guī)劃階段工作是:通過對業(yè)

42、務及IT的目標進行綜合分析,確定當前所要實施的SOA項目目標以及項目實施方案。SOA項目目標包括成果性目標和約束性目標兩大類,主要是需要在一定的成本及時間限度內(nèi)完成項目的建設內(nèi)容并達到預期目標,包括SOA系統(tǒng)、子系統(tǒng)的功能、非功能和用戶界面描述等。SOA項目實施方案主要包括項目的實施范圍、進度規(guī)劃、質(zhì)量控制方法、成本預算、團隊計劃、風險管理計劃、技術規(guī)劃和產(chǎn)品選型方案等。在IT系統(tǒng)規(guī)劃中需要考慮系統(tǒng)的規(guī)模,建議第一個SOA項目要限定項目大小,不要選擇太大,保證在一定時間內(nèi)可以順利實施完畢,確保項目的成功并使業(yè)務人員體會到SOA的特點和價值。通過項目經(jīng)驗的積累,為后續(xù)SOA項目開創(chuàng)一個良好的局面

43、和環(huán)境。SOA本身特點支持項目的遞進式實現(xiàn),可以采用不斷滾動改進的方式實施項目。同時需要強調(diào)的是,在SOA項目實施方案中需要特別考慮標準問題。SOA項目所涉及的標準包含兩方面:業(yè)務標準和技術標準。確定和采納合適的標準體系,將有利于保證IT系統(tǒng)的建設質(zhì)量,同時提升其持續(xù)利用與擴展能力。項目具體的實施包括兩方面內(nèi)容:一方面要建設基礎設施,另一方面圍繞服務采用不斷迭代的方式進行業(yè)務功能實現(xiàn)。由于SOA項目建設核心是“服務”,所以本書后續(xù)的階段重點圍繞第二方面進行介紹。 5.2.4 服務規(guī)劃及設計服務規(guī)劃及設計階段的工作是:進行業(yè)務的分析和梳理,使業(yè)務流程能夠映射到IT流程,并進行服務建模,以確定所需

44、要的服務集和服務實現(xiàn)策略。在業(yè)務分析層面,目的是對業(yè)務及業(yè)務流程進行清晰的建模,此階段具體實施中可依據(jù)一些國內(nèi)外知名的業(yè)務分析方法論來完成。在IT層面,需要用服務建模方法來指導如何將業(yè)務模型轉化為實現(xiàn) SOA 所需要的模型,通過發(fā)現(xiàn)和定義與業(yè)務對齊的“服務”,使“服務”成為業(yè)務與IT之間的橋梁,從而讓IT與業(yè)務能更好地互動。此過程中,需要用戶的業(yè)務人員參與進來,共同完成業(yè)務服務定義、業(yè)務流程定義、業(yè)務數(shù)據(jù)分析和組織架構確定等內(nèi)容。對于相應的服務及流程,需要基于實際情況確定是利用已有IT系統(tǒng)進行服務化封裝實現(xiàn)還是重新開發(fā)新的服務來實現(xiàn)。同時,用戶方還需要與專業(yè)實施團隊共同確定總體技術架構及所采用

45、的技術、標準、工具和產(chǎn)品。主要規(guī)劃和設計的內(nèi)容如下:n 組織結構、業(yè)務布局分析。n 相關業(yè)務部門功能及需求分析,業(yè)務流程分析以及業(yè)務建模。n 服務規(guī)劃,根據(jù)業(yè)務分析和建模結果,分析識別所需的服務,對服務的層級進行合理劃分,對服務的分類和聚合進行設計。識別和規(guī)劃服務過程中,基本原則是要確保基于標準的服務可以被重新組合和利用并成功地用于典型行業(yè)應用環(huán)境中的各種系統(tǒng)中。n 服務定義和描述,包含具體的服務名稱、服務的操作、輸入消息、輸出消息,業(yè)務目標、業(yè)務規(guī)則、業(yè)務事件,非功能性需求等服務的定義,服務之間關系的描述,服務之間的依賴關系和包含關系。n 服務實現(xiàn)策略,確定如何實現(xiàn)所需的服務,可以自行開發(fā)、

46、外部采購或者集成遺留IT資源。5.2.5 服務開發(fā)及測試SOA項目中的服務開發(fā)即服務實現(xiàn),其與傳統(tǒng)IT項目開發(fā)有較大差別?!胺铡笔荢OA項目開發(fā)階段的核心概念,包括單個功能的服務,也包括流程類的服務。服務開發(fā)是將業(yè)務服務的定義進行真正的技術實現(xiàn)。在傳統(tǒng)項目中幾乎所有的代碼都需要編寫實現(xiàn),而在SOA實現(xiàn)中,可以選擇自行開發(fā)和手工編碼,也可以調(diào)用或購買已有的內(nèi)外部服務,實現(xiàn)過程更多采用參數(shù)配置、組裝、流程定義等技術,代碼編程工作量會減少。在服務具體的技術定義、開發(fā)和組裝中,用戶可以基于現(xiàn)有基礎設施情況以及服務設計階段的業(yè)務服務定義,選擇采用Web Service、SCA/SDO技術或其他傳統(tǒng)技術

47、逐步實現(xiàn)單業(yè)務功能服務、組合類服務或流程類服務。服務測試是保證服務開發(fā)正確有效的手段,與服務開發(fā)交叉進行。服務測試包括對單個服務的單元測試,也包括對于組裝類服務或服務流程的集成測試。服務測試工作主要是基于服務定義和描述中的功能和性能指標,采用一定的測試工具、技術和標準規(guī)范,對服務進行質(zhì)量測試和評估,并根據(jù)測試的結果來決定服務的開發(fā)是否合格。在SOA項目中,服務的測試與傳統(tǒng)的測試也不同,為保證服務能與其他服務互聯(lián)互通,對服務的標準符合性測試及互操作性測試更為重要。5.2.6 服務部署此階段是根據(jù)SOA項目目標、通過部署工具將所開發(fā)的各類服務及流程部署至用戶的物理環(huán)境內(nèi),比如用戶的應用服務器、流程

48、服務器、門戶服務器等。對于單個服務,部署后的服務可以被終端用戶、其他IT系統(tǒng)或服務實際調(diào)用;對于多個基于服務的流程,部署后可形成完整應用系統(tǒng),從而為用戶業(yè)務提供相應的IT支持。服務部署包括靜態(tài)和動態(tài)兩種。靜態(tài)部署是指服務之間的調(diào)用關系在運行前已確定,動態(tài)部署是指在應用系統(tǒng)運行中需要通過動態(tài)路由后確定服務調(diào)用關系。這兩種部署類型需要在一定的基礎設施基礎之上進行。由于用戶物理環(huán)境往往是基于網(wǎng)絡的分布式環(huán)境,具體部署的類型需要根據(jù)SOA項目實施的狀況和需求來定。5.2.7 服務發(fā)布此階段需要將已開發(fā)完成的服務發(fā)布在服務注冊中心(或服務資源庫)內(nèi),以便被其他服務發(fā)現(xiàn)和調(diào)用。服務發(fā)布也被稱為服務注冊,兩

49、者含義相同,均指將已有的服務描述信息提交至公共的服務注冊中心(或服務資源庫)中。服務注冊中心(或服務資源庫)是各類服務的統(tǒng)一登錄目錄,其功能分為兩個方面:一方面,每個服務提供者可以發(fā)布其所提供的服務描述信息,供其他服務訪問;另一方面,服務請求者可以迅速查找其所需的服務,以充分利用已有的服務來實現(xiàn)其IT系統(tǒng)構建目標。服務注冊中心(或服務資源庫)可以在單個企業(yè)或組織內(nèi)部使用,可以供多個合作伙伴共享,也可以在整個行業(yè)內(nèi)部或特定區(qū)域內(nèi)部共享;此外,服務注冊中心(或服務資源庫)與服務本身的運行節(jié)點之間可以是聯(lián)機方式,也可以是脫機方式。具體的范圍和方式根據(jù)用戶的IT規(guī)劃目標和策略來確定。需特別說明的是,服

50、務的發(fā)布不一定在服務開發(fā)部署完成之后才進行,部分SOA項目實施過程中,服務在設計階段被定義出來之后就可以發(fā)布在服務注冊中心(或服務資源庫)中,但此時的服務僅供其他服務在設計中參考,而不能被實際調(diào)用,在后續(xù)實際開發(fā)部署完成之后,服務的狀態(tài)應改為真正的發(fā)布。這樣做的原因是可以減少服務設計中的重復,減少后續(xù)一些不必要的開發(fā)成本,但需要配合相應服務治理策略和工具來保證對它的有效訪問。5.2.8 服務運維及監(jiān)控此階段的運維監(jiān)控分為兩個方面,包括用戶方的業(yè)務人員對業(yè)務流程運行狀況和績效的監(jiān)控,也包括系統(tǒng)維護人員從IT層面對基于系統(tǒng)服務的管理和部署模型、對SOA系統(tǒng)運行狀態(tài)以及服務調(diào)用狀態(tài)進行整體管理、控制

51、和監(jiān)測,從而保障SOA系統(tǒng)穩(wěn)定可靠的運行。用戶可將此過程的服務運維及監(jiān)控結果與規(guī)劃階段的仿真情況進行對比,并對業(yè)務流程及服務進行功能和性能優(yōu)化。如果用戶的業(yè)務需求發(fā)生變化時,用戶的業(yè)務人員可在系統(tǒng)維護人員的協(xié)助下,對SOA系統(tǒng)的各類服務(包括流程服務)進行可視化調(diào)整。如果變化程度較大,原有服務及流程無法滿足時,則需要重新開發(fā)新的服務,并重復整個實施過程。但此過程主要涉及的工作量是新的服務或流程,因此并不影響原有的系統(tǒng)運行。5.2.9 治理過程SOA治理是基于傳統(tǒng)IT治理(IT Governance)的基礎之上,針對SOA所特有的服務生命周期定制的SOA治理管制。它通過制定人員和角色、管理流程及

52、決策,幫助企業(yè)管理整個SOA的生命周期。SOA治理需要采納相應的方法論和最佳實踐,通常需要有工具輔助企業(yè)最后定制并管治符合企業(yè)自身需要的治理決策。對于用戶而言,要實現(xiàn)SOA的效益,開展SOA治理非常關鍵。治理不同于管理。治理規(guī)劃需要制定什么決策,而管理是制定和實施決策的過程。治理重在建立決策,而管理重在貫徹執(zhí)行決策。SOA治理強調(diào)更多的是政策、方法和策略問題,而不是技術或業(yè)務問題。治理貫穿規(guī)劃和實施全過程,涉及的不僅僅是一個項目,而是更多的是從IT全局來看,橫跨多個應用系統(tǒng)、各類流程、信息及人力資源。因此需要用戶高層的重視。SOA治理主要包括如下內(nèi)容:n 高層的領導決策者指導組織建立滿足其目標

53、的策略,包括確定誰負責制定決策、需要制定什么決策以及使決策制定保持一致的決策。 n 建立SOA的組織機制以及授權機制,同時保證項目實施各階段按預定目標推進的有效控制機制。n 建立溝通計劃、流程或協(xié)議,保證各相關方都對服務獲得一致信息。比如,必須在服務提供者和服務使用者之間建立一個協(xié)議,告知使用者可以希望得到什么功能、提供者應該提供什么功能。n 涉及服務全生命周期,包括指導可重用資產(chǎn)的開發(fā),確立如何設計和開發(fā)服務,服務的版本和質(zhì)量管理,以及這些服務如何隨時間增長進行更改。n 建立評估SOA項目成熟度以及各項性能測試的評估方法,并在SOA項目實施過程中進行監(jiān)控和調(diào)整。5.3 SOA項目階段實施過程

54、的關鍵點SOA項目如同其他IT項目一樣,也有類似的實施過程,一個可能的實施過程如下圖所示:從表面的幾個過程看SOA項目的實施沒有什么特別的地方,能夠體現(xiàn)SOA特點的是在項目實施過程中的每一個具體環(huán)節(jié)中,如規(guī)劃階段對標準的考慮,分析階段對業(yè)務的詳細描述和定義,設計階段技術架構(包括邏輯架構和物理架構)的定義,實現(xiàn)階段更多依賴于定義而不是編碼,以及運維階段對服務運行情況的重點關注。下面介紹實施過程中的主要關鍵點。5.3.1 規(guī)劃階段在這一階段有許多重要的事情需要做,這將決定SOA項目實施的成敗。首先是需要確定目標,對于系統(tǒng)的功能目標應該是明確的,除此之外我們需要重點關注的是為什么要采用SOA思想,

55、是為了達到什么目的。在這時我們需要了解SOA能夠給我們帶來什么,我們希望得到什么,這兩者是否匹配;也需要了解SOA適合什么,不適合什么,我們建設項目與SOA適合是否適配。如果這些匹配一致我們就可以放心進行下一步驟了,否則就得考慮是否一定要采用SOA,是否采用其他的思想和技術架構也足以解決問題。在此我們再看一下SOA特點:強調(diào)業(yè)務服務的復用支持業(yè)務靈活重構強調(diào)松耦合強調(diào)標準的采用我們也需要了解SOA不適合的地方:開發(fā)簡單單個應用時,不要使用SOA構建高吞吐量應用或實時應用是,不要使用SOA如果網(wǎng)絡速度慢,網(wǎng)絡不可靠時,不要使用SOA當服務接口不確定時(即業(yè)務服務功能本身不穩(wěn)定時),不要使用SOA

56、當安全性極為重要時,暫時不要考慮SOA業(yè)務處理有嚴格的事務完整性要求時,建議暫時不用SOA其次需要考慮系統(tǒng)的規(guī)模,建議第一個SOA項目不要選擇太大,需要限定項目的大小,保證在不長的時間內(nèi)可以順利實施完畢,確保項目的成功。通過項目經(jīng)驗的積累,為后續(xù)SOA項目開創(chuàng)一個良好的局面和環(huán)境。SOA本身特點支持項目的遞進式實現(xiàn),可以采用不斷滾動改進的方式實施項目。接著是考慮標準問題,這里的標準包含兩方面:業(yè)務標準和技術標準。標準的確定是過程中一直需要考慮的問題,在分析和設計階段都需要對標準加以考慮,并最終確定項目需要采用和制定的標準。業(yè)務標準可以規(guī)范服務、流程和數(shù)據(jù);技術標準可以幫助確定技術架構,確定采用

57、的技術,可以確保服務/組件的復用、組裝和運行維護。最后是組建團隊,要實施好SOA項目,需要確保合理的團隊成員。首先領導的參與是項目成功的保證,SOA項目一般會涉及多個部門,或企業(yè)之間的協(xié)作,沒有領導的參與和重視,這類項目成功的可能性會非常的低。業(yè)務人員參與也是一個重要因素,SOA中強調(diào)的服務是業(yè)務的服務,而不是技術實現(xiàn)的服務。業(yè)務服務的定義、分類,業(yè)務流程的確定,業(yè)務數(shù)據(jù)的分析等,如果沒有業(yè)務人員參與,這些工作基本上是無法開展的。在現(xiàn)階段讓業(yè)務人員直接參與設計和實現(xiàn)還不是特別的現(xiàn)實,但隨著SOA技術和產(chǎn)品的成熟,業(yè)務人員一直參與到設計,甚至實現(xiàn)階段也是可能的,只有這樣才能更好保證SOA項目實施的成功,才能更好體現(xiàn)SOA的價值。5.3.2 分析階段分析階段主要進行業(yè)務的分析和梳理,包括:業(yè)務服務定義,業(yè)務流程定義、業(yè)務數(shù)據(jù)分析和組織架構。在這一階段需要確定

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論