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

下載本文檔

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

文檔簡介

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

24、需要進行的工作包括項目管理、需求分析、版本控制以及文檔管理等。n 設計平臺及工具協助相關人員完成整個系統的設計工作。具體的平臺及工具應該包括“業務建?!保P突髽I的業務)、“流程建?!保ò褬I務整理成流程)、“服務組裝”(按照一定規則組裝流程形成服務或應用)、“服務建?!保P突沓鰜淼姆沼糜诜丈桑?。這個階段的平臺及工具與傳統的開發方法所需的平臺與工具有較大區別,體現的是SOA的思想。n 開發平臺及工具用于實施SOA系統的開發,所采用的開發語言及開發平臺沒有限制。n 測試平臺及工具用于實施SOA系統的測試。傳統的測試平臺及測試工具在SOA系統的測試工作中同樣可以采用。n 注冊部署平臺及

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

溫馨提示

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

評論

0/150

提交評論