版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、HENXU-SOA的業(yè)務(wù)規(guī)劃和建模方法_09(實(shí)踐案例介紹“汽車貸款”).txt54就讓昨日成流水,就讓往事隨風(fēng)飛,今日的杯中別再盛著昨日的殘痕;唯有珍惜現(xiàn)在,才能收獲明天。 本文由war007貢獻(xiàn) pdf文檔可能在WAP端瀏覽體驗(yàn)不佳。建議您優(yōu)先選擇TXT,或下載源文件到本機(jī)查看。 面向服務(wù)體系架構(gòu)的業(yè)務(wù)規(guī)劃和建模方法 實(shí)踐案例介紹汽車貸款 SOA架構(gòu)項(xiàng)目的模式 發(fā)現(xiàn) 構(gòu)建和測(cè)試 組合 流程整合 人員整合 信息整合和管理 收集需求 建模和仿真 設(shè)計(jì) 財(cái)務(wù)透明 商業(yè)/IT 調(diào)整 過程控制 應(yīng)用程序和服務(wù)管理 身份識(shí)別和權(quán)限管理 監(jiān)控商業(yè)標(biāo)準(zhǔn) 北京恒訊時(shí)代信息技術(shù)有限公司 2 SOA 實(shí)施步驟總
2、結(jié) 0. SOA采納步驟和價(jià)值分析 1. SOA監(jiān)管 2. 服務(wù)建模 3. 服務(wù)實(shí)現(xiàn)和架構(gòu)設(shè)計(jì) 4. 以服務(wù)為中心的開發(fā)和集成 5. 服務(wù)管理 北京恒訊時(shí)代信息技術(shù)有限公司 3 SOA采納步驟和價(jià)值分析-業(yè)務(wù)場(chǎng)景介紹 北京恒訊時(shí)代信息技術(shù)有限公司 4 SOA采納步驟和價(jià)值分析-業(yè)務(wù)場(chǎng)景介紹(續(xù)) 在業(yè)務(wù)流程中起到樞紐作用的信貸員,通過不同的方式訪問不同 的系統(tǒng),獲取申請(qǐng)人的相關(guān)信息,同時(shí)通過電子辦公系統(tǒng)向信貸 經(jīng)理提交貸款審批申請(qǐng).多樣化的人機(jī)界面既增加了對(duì)信貸員的 IT技能要求,也極大的降低了信貸員的工作效率. 北京恒訊時(shí)代信息技術(shù)有限公司 5 SOA采納步驟和價(jià)值分析-SOA 評(píng)估框架和
3、SOA 成 熟度模型簡(jiǎn)介 評(píng)估框架主要分析企業(yè)IT系統(tǒng)在如下四個(gè)方面的特性: 1. 組織和流程:企業(yè)是否有實(shí)施SOA的經(jīng)驗(yàn),實(shí)施SOA的范圍多大, 企業(yè)是否規(guī)劃過需要實(shí)現(xiàn)的SOA的能力,業(yè)務(wù)部門是否理解SOA實(shí)施的 價(jià)值和過程,特別是業(yè)務(wù)部門參與重要性,是否有系統(tǒng)的方法指導(dǎo)服 務(wù)的發(fā)現(xiàn)和設(shè)計(jì),業(yè)務(wù)部門在服務(wù)的發(fā)現(xiàn)和設(shè)計(jì)中參與的程度如何; 2. 應(yīng)用:目前應(yīng)用如何暴露可重用的邏輯?應(yīng)用間連通的實(shí)時(shí)和異 構(gòu)特性如何?企業(yè)開始在多大構(gòu)建復(fù)合應(yīng)用? 3. 架構(gòu):目前企業(yè)應(yīng)用集成現(xiàn)狀?企業(yè)應(yīng)用的組件化程度如何?是 否存在服務(wù)模型?范圍多大? 4. 基礎(chǔ)架構(gòu):基礎(chǔ)架構(gòu)如何保持可擴(kuò)展性和靈活性保證滿足業(yè)務(wù)部
4、 門的需要?基礎(chǔ)設(shè)施如何響應(yīng)業(yè)務(wù)流程性能的變化?是否存在統(tǒng)一的 安全架構(gòu)和規(guī)范? 北京恒訊時(shí)代信息技術(shù)有限公司 6 SOA采納步驟和價(jià)值分析-REVIEW:SOA成熟度模型將 SOA成熟度劃分為7個(gè)層次: L1. 孤立的:大多數(shù)為孤立應(yīng)用,存在集成也基本上以數(shù)據(jù)集成為主;當(dāng)需求 發(fā)生變化時(shí),需要大量的瑣碎的架構(gòu)調(diào)整; L2. 集成的:應(yīng)用間存在大量集成,但是以點(diǎn)到點(diǎn)的連接方式為主,應(yīng)用程序 的重構(gòu)主要通過數(shù)據(jù)集成完成; L3. 組件化的:將主要的或關(guān)鍵的應(yīng)用從功能角度進(jìn)行了組件劃分,原有的 J2EE/.Net等應(yīng)用通過重構(gòu)實(shí)現(xiàn)這些組件,組件間的集成通過組件接口和相互 間的契約完成; L4. 簡(jiǎn)
5、單服務(wù):存在業(yè)務(wù)部門內(nèi)的服務(wù)模型和構(gòu)建在服務(wù)上的業(yè)務(wù)流程集成; L5. 組合服務(wù):存在企業(yè)范圍內(nèi)和企業(yè)間的服務(wù)模型,已經(jīng)在服務(wù)模型基礎(chǔ)上 完成價(jià)值鏈集成; L6. 虛擬化服務(wù):基礎(chǔ)設(shè)施如服務(wù)器和存儲(chǔ)已經(jīng)完成虛擬化,服務(wù)運(yùn)行在這些 虛擬化的基礎(chǔ)設(shè)施之上;基礎(chǔ)設(shè)施,服務(wù)組件,服務(wù),業(yè)務(wù)流程被極大解耦; 通過對(duì)基礎(chǔ)設(shè)施的監(jiān)控和管理來保證服務(wù)質(zhì)量; L7. 動(dòng)態(tài)配置服務(wù):服務(wù)可以根據(jù)業(yè)務(wù)策略和IT策略進(jìn)行動(dòng)態(tài)組裝; 北京恒訊時(shí)代信息技術(shù)有限公司 7 SOA采納步驟和價(jià)值分析-示例場(chǎng)景的 SOA 現(xiàn)有成熟 度和目標(biāo)成熟度分析 1. 組織和流程:無論是在貸款業(yè)務(wù)部門,還是在其他業(yè)務(wù)部門,都沒有進(jìn)行 過SO
6、A的實(shí)施;業(yè)務(wù)人員普遍認(rèn)為SOA是技術(shù)層面的事情,是IT部門的事情,業(yè) 務(wù)部門在SOA實(shí)施中沒有任何責(zé)任; 2. 應(yīng)用:構(gòu)建在主機(jī)上的核心銀行系統(tǒng)業(yè)務(wù)邏輯體現(xiàn)為CICS的事務(wù),業(yè)務(wù)邏 輯劃分清晰,但是邏輯和表示緊耦合,而且其業(yè)務(wù)邏輯劃分和整體需求有一定 差距,該銀行已經(jīng)構(gòu)建EAI的基礎(chǔ)設(shè)施,核心銀行系統(tǒng)的業(yè)務(wù)邏輯可以通過EAI 中的消息總線訪問;房貸和車貸系統(tǒng)分布構(gòu)建在J2EE和.Net平臺(tái)之上,設(shè)計(jì)系 統(tǒng)時(shí)對(duì)組件化考慮的很充分,主要的業(yè)務(wù)邏輯都構(gòu)建在公共的組件基礎(chǔ)之上, 如果其他系統(tǒng)需要訪問房貸和車貸系統(tǒng),需要進(jìn)行點(diǎn)到點(diǎn)的集成;保險(xiǎn)公司擔(dān) 保網(wǎng)關(guān)是外部系統(tǒng),已經(jīng)服務(wù)化. 3. 架構(gòu):企業(yè)消息
7、總線可以連通除房貸和車貸系統(tǒng)以外的大部分系統(tǒng),但是 消息總線中介能力不強(qiáng),主要集中在消息轉(zhuǎn)換,對(duì)重復(fù)業(yè)務(wù)邏輯的訪問需要應(yīng) 用層處理; 4. 基礎(chǔ)架構(gòu):服務(wù)器,存儲(chǔ)和網(wǎng)絡(luò)設(shè)施異構(gòu)性很大,業(yè)務(wù)系統(tǒng)性能的調(diào)控相 當(dāng)剛性;已經(jīng)具有統(tǒng)一的安全架構(gòu),如認(rèn)證,授權(quán)和加密; 綜合分析可見,對(duì)于整體企業(yè)而言其SOA成熟度,位于L2和L3之間;房貸和車 貸系統(tǒng)SOA成熟度位于L3. 北京恒訊時(shí)代信息技術(shù)有限公司 8 SOA采納步驟和價(jià)值分析-示例場(chǎng)景的 SOA 采納步驟 和價(jià)值分析 第一步:以汽車貸款審批流程為中心進(jìn)行SOA試點(diǎn) ( L2/3 - L4 ) 第二步:重構(gòu)貸款系統(tǒng)以實(shí)現(xiàn)貸款部門的服務(wù)模型,并將業(yè)務(wù)流
8、程實(shí)現(xiàn)為 復(fù)合應(yīng)用 ( L2/3 - L4 ) 第三步:以消息總線的改造為中心,構(gòu)建SOA監(jiān)管組織和流程,并創(chuàng)建企業(yè) 服務(wù)模型和企業(yè)范圍內(nèi)SOA的基礎(chǔ)架構(gòu);( L4 - L5) 第四步:逐步遷移主要業(yè)務(wù)流程為復(fù)合應(yīng)用,并完善SOA監(jiān)管和服務(wù)模型; (L4-L5) 這一步主要是在前一步的建立的SOA基礎(chǔ)架構(gòu)之上逐步將應(yīng)用遷 移到復(fù)合應(yīng)用.實(shí)際上第三步和第四步應(yīng)該是融和在一起的; 第五步:圍繞價(jià)值鏈整合實(shí)現(xiàn)快速響應(yīng)IT系統(tǒng); (L5) 當(dāng)完成SOA基礎(chǔ)設(shè)施 建設(shè)和復(fù)合應(yīng)用遷移后,企業(yè)已經(jīng)具備條件進(jìn)行流程優(yōu)化和價(jià)值鏈整合. 這種條件下,無論是IT層面的調(diào)整,還是業(yè)務(wù)層面的調(diào)整,都可以通過服 務(wù)模型和
9、企業(yè)服務(wù)總線隔離變化,從而使用盡量小的代價(jià)完成對(duì)變化的適 應(yīng),也即達(dá)到快速響應(yīng)的IT. 北京恒訊時(shí)代信息技術(shù)有限公司 9 SOA 實(shí)施步驟總結(jié) 0. SOA采納步驟和價(jià)值分析 1. SOA監(jiān)管 2. 服務(wù)建模 3. 服務(wù)實(shí)現(xiàn)和架構(gòu)設(shè)計(jì) 4. 以服務(wù)為中心的開發(fā)和集成 5. 服務(wù)管理 北京恒訊時(shí)代信息技術(shù)有限公司 10 Review:服務(wù)建模方法論介紹 需要特別指出的是,SOMA的出現(xiàn)并不是要替代OOAD或者CBD,正如CBD 需要借助OOAD一樣,SOMA也要借助OOAD和CBD進(jìn)行實(shí)現(xiàn)層面的建模. 與OOAD和CBD相比較而言,SOMA貫穿整個(gè)IT建設(shè)的生命周期,在項(xiàng)目 規(guī)劃,設(shè)計(jì),實(shí)施,運(yùn)
10、行中都起到重要的作用.本項(xiàng)目就不展開闡述 了,相關(guān)信息可見參考資料. SOMA另外一個(gè)顯著的特點(diǎn)就是將IT與業(yè)務(wù)對(duì)齊.在具體的實(shí)施過程 中,SOMA將業(yè)務(wù)特性,如:業(yè)務(wù)目標(biāo),關(guān)鍵業(yè)務(wù)指標(biāo)等,延伸到IT的 分析和架構(gòu)決策過程,從而縮小業(yè)務(wù)與IT之間的差距.具體來看,業(yè) 務(wù)組件模型(或者類似業(yè)務(wù)分析方法論的結(jié)果),端到端的業(yè)務(wù)流程 以及關(guān)鍵業(yè)務(wù)指目標(biāo)是SOMA的三項(xiàng)主要輸入,SOA的實(shí)現(xiàn)則是SOA的輸 出,從這也可以看出SOMA的定位是在業(yè)務(wù)和IT之間. 北京恒訊時(shí)代信息技術(shù)有限公司 11 服務(wù)建模-Review:SOMA分為服務(wù)發(fā)現(xiàn),服務(wù)規(guī)約以 及服務(wù)實(shí)現(xiàn)三個(gè)階段(服務(wù)發(fā)現(xiàn)) 服務(wù)發(fā)現(xiàn):采用自上
11、而下,自下而上和中間對(duì)齊的方式,得到服務(wù) 的候選者. 自上而下 (業(yè)務(wù)領(lǐng)域分解)方式從業(yè)務(wù)著手進(jìn)行分析,將業(yè)務(wù)進(jìn)行領(lǐng) 域分解,流程分解,以及進(jìn)行變化分析. 自下而上(已有資產(chǎn)分析)方式的目的是利用已有資產(chǎn)來實(shí)現(xiàn)服務(wù),已 有資產(chǎn)包括:已有系統(tǒng),套裝或定制應(yīng)用,行業(yè)規(guī)范或業(yè)務(wù)模型等. 中間對(duì)齊(業(yè)務(wù)目標(biāo)建模)方式的目的是幫助發(fā)現(xiàn)與業(yè)務(wù)對(duì)齊的服務(wù), 并確保關(guān)鍵的服務(wù)在流程分解和已有資產(chǎn)分析的過程中沒有被遺漏. 北京恒訊時(shí)代信息技術(shù)有限公司 12 服務(wù)建模-Review:SOMA分為服務(wù)發(fā)現(xiàn),服務(wù)規(guī)約以 及服務(wù)實(shí)現(xiàn)三個(gè)階段(服務(wù)規(guī)范,服務(wù)的實(shí)現(xiàn)) 服務(wù)規(guī)約:定義實(shí)現(xiàn)服務(wù)的服務(wù)組件的細(xì)節(jié),包括,數(shù)據(jù),規(guī)
12、則,服務(wù),可配置概要,可能的 變更,同時(shí)還會(huì)涉及到消息,事件的定義和管理. 經(jīng)過服務(wù)發(fā)現(xiàn)的階段,得到候選服務(wù)目錄,接下來就需要決定暴露哪些服務(wù).理論上所有的服 務(wù)候選者都可以暴露為服務(wù),但是一旦暴露為服務(wù),該服務(wù)候選者就必須滿足附加的安全性, 性能等方面的要求,企業(yè)還必須為服務(wù)的規(guī)劃,設(shè)計(jì),開發(fā),維護(hù),監(jiān)管支付額外的開支,因 此會(huì)根據(jù)一定的規(guī)則來決定將哪些服務(wù)候選者暴露為服務(wù).這些規(guī)則包含以下幾個(gè)方面: 業(yè)務(wù)對(duì)齊:該服務(wù)候選者可以支持相關(guān)的業(yè)務(wù)流程和業(yè)務(wù)目標(biāo). 可組裝:該服務(wù)候選者滿足技術(shù)中立,自包含以及無狀態(tài)等特點(diǎn),同時(shí)還滿足復(fù)合應(yīng)用的相 關(guān)非功能性需求. 可重用:該服務(wù)候選者可以在不同的應(yīng)
13、用,流程中重用,從而減少重復(fù)的功能實(shí)現(xiàn),降低開 發(fā)和維護(hù)的成本. 基于企業(yè)應(yīng)用開發(fā)的經(jīng)驗(yàn),還可以有其他一些方面的考慮.在決定暴露特定的服務(wù)候選者為服 務(wù)以后,服務(wù)規(guī)約還需要定義服務(wù)的消息,非功能性需求以及服務(wù)之間的依賴關(guān)系,組合關(guān)系. 服務(wù)實(shí)現(xiàn):根據(jù)對(duì)業(yè)務(wù)領(lǐng)域的理解和現(xiàn)有IT系統(tǒng)的分析,將服務(wù)的實(shí)現(xiàn)分配到相應(yīng)的服務(wù)組 件,并決定服務(wù)的實(shí)現(xiàn)方式.具體的實(shí)現(xiàn)方式,可以由已有系統(tǒng)暴露相關(guān)功能為服務(wù),或者重 新開發(fā)相關(guān)功能提供服務(wù),也可以由合作伙伴來提供服務(wù).無論采用哪種方式,都需要對(duì)于關(guān) 鍵點(diǎn)進(jìn)行技術(shù)可行性的分析. 北京恒訊時(shí)代信息技術(shù)有限公司 13 服務(wù)建模-流程建模 定義和建模業(yè)務(wù)流程是提升業(yè)績(jī)
14、的關(guān)鍵因素.業(yè)務(wù)流程是一種可變的交互模 式,當(dāng)某個(gè)組織在實(shí)現(xiàn)特定的業(yè)務(wù)目標(biāo)時(shí),在該組織的組件及其環(huán)境之間發(fā)生 了這些交互.業(yè)務(wù)流程通常很復(fù)雜,因?yàn)樵趹?yīng)對(duì)獨(dú)特而瞬息萬變的環(huán)境時(shí),人 們會(huì)不斷進(jìn)行大量的更改.沒有正式的流程文檔和流程管理系統(tǒng)的話,這些流 程復(fù)雜性就會(huì)使組織遇到不必要的障礙和瓶頸.一個(gè)良好構(gòu)建的業(yè)務(wù)流程模型 可以幫助您定位和排除那些隱藏的低效,高成本以及帶來延遲的業(yè)務(wù)活動(dòng). 下面比較以下流程建模與服務(wù)建模的關(guān)系 首先,進(jìn)行著兩項(xiàng)活動(dòng)的角色有明顯的不同,流程建模一般由業(yè)務(wù)人員或者業(yè)務(wù)咨詢 專家進(jìn)行,而服務(wù)建模由SOA架構(gòu)師在業(yè)務(wù)專員的支持下進(jìn)行. 其次,兩項(xiàng)活動(dòng)看待研究對(duì)象的角度不同.
15、流程建模從組織結(jié)構(gòu),業(yè)務(wù)流程及相關(guān)資 源的角度來看待業(yè)務(wù),流程建模關(guān)注業(yè)務(wù)活動(dòng)之間的流動(dòng);服務(wù)建模則利用服務(wù) 業(yè)務(wù)與IT的契約來分析業(yè)務(wù),服務(wù)建模關(guān)注業(yè)務(wù)活動(dòng)之間的層次化和組合關(guān)系. 除了上面兩點(diǎn)不同以外,這兩項(xiàng)活動(dòng)還是相互依賴,迭代進(jìn)行的.粗粒度的流程模型 是服務(wù)建模的重要輸入之一,幫助SOA架構(gòu)師了解業(yè)務(wù)需求.服務(wù)建模的過程發(fā)現(xiàn)并 規(guī)約了服務(wù),產(chǎn)生的結(jié)果服務(wù)列表以及服務(wù)的主要業(yè)務(wù)屬性幫助業(yè)務(wù)人員準(zhǔn)確的 定義流程模型中的業(yè)務(wù)活動(dòng)和業(yè)務(wù)項(xiàng).但是服務(wù)建模中IT的成分如安全性,可靠性, 流程建模并不關(guān)注; 流程建模中的模擬運(yùn)行和優(yōu)化又和服務(wù)建模沒有直接的關(guān)系. 北京恒訊時(shí)代信息技術(shù)有限公司 14
16、服務(wù)建模-流程建模 北京恒訊時(shí)代信息技術(shù)有限公司 15 服務(wù)建模-實(shí)例分析:汽車貸款業(yè)務(wù)的相關(guān)組件 北京恒訊時(shí)代信息技術(shù)有限公司 16 服務(wù)建模-實(shí)例分析:汽車貸款業(yè)務(wù)工作流程 北京恒訊時(shí)代信息技術(shù)有限公司 17 服務(wù)建模-實(shí)例分析:服務(wù)發(fā)現(xiàn)(確定) 自上而下方式 通過對(duì)業(yè)務(wù)流程的分解,可以得到服務(wù)的候選者.每一個(gè)業(yè)務(wù)活動(dòng)的單元都是 服務(wù)的候選者. 中間對(duì)齊方式 通過與業(yè)務(wù)分析人員或業(yè)務(wù)咨詢顧問的協(xié)作,可以獲取服務(wù)建模的輸入業(yè) 務(wù)目標(biāo).在本示例中,業(yè)務(wù)指標(biāo)為降低成本和降低欺詐風(fēng)險(xiǎn),并且通過銷 售成本,自服務(wù)比例和壞賬率這三個(gè)關(guān)鍵業(yè)務(wù)指標(biāo)來度量業(yè)務(wù)目標(biāo)的實(shí)施情況. 部分服務(wù)候選者可以與關(guān)鍵業(yè)務(wù)指
17、標(biāo)聯(lián)系起來,例如:評(píng)估信用等級(jí)以及審批 等服務(wù)候選者可以降低壞賬率. 自下而上方式 通過對(duì)現(xiàn)有IT環(huán)境的分析,可以掌握現(xiàn)有系統(tǒng)的基本信息.了解到核心系統(tǒng)可 以提供獲取存,貸款記錄的功能. 根據(jù)與業(yè)務(wù)目標(biāo)的聯(lián)系,與現(xiàn)有系統(tǒng)功能的映射,可以驗(yàn)證自上而下分析方法 的結(jié)果,或者發(fā)現(xiàn)自上而下分析方法的遺漏.結(jié)合業(yè)務(wù)領(lǐng)域的分析,可以得到 服務(wù)候選者列表. 由于服務(wù)候選者比較多,可以采用領(lǐng)域分解的結(jié)果來將服務(wù)候選者進(jìn)行分類. 領(lǐng)域分解的工作通常由資深的業(yè)務(wù)專家來進(jìn)行,在本示例中,基于示范的目 的,確認(rèn)目標(biāo)業(yè)務(wù)流程所涉及的業(yè)務(wù)范圍包括客戶服務(wù)和風(fēng)險(xiǎn)控制,并將它們 作為分類的依據(jù),得到服務(wù)候選者目錄 北京恒訊時(shí)
18、代信息技術(shù)有限公司 18 服務(wù)建模-實(shí)例分析:流程分解 服務(wù) 1 汽車貸款流程 1.1 確認(rèn)購(gòu)車價(jià)格 1.2 評(píng)估信用等級(jí) 1.2.1 查詢存款記錄 1.2.2 查詢貸款記錄 1.2.3 計(jì)算信用等級(jí) 1.4 審批 1.6 擔(dān)保 1.7 發(fā)放貸款 業(yè)務(wù)對(duì)齊 Y Y Y Y Y Y Y Y Y 北京恒訊時(shí)代信息技術(shù)有限公司 可組裝 Y Y Y Y Y Y Y Y Y 可重用 Y Y Y Y Y Y Y 19 服務(wù)建模-服務(wù) 服務(wù) 1 汽車貸款流程 1.1 確認(rèn)購(gòu)車價(jià)格 1.2 評(píng)估信用等級(jí) 輸入 1 汽車貸款流程 carModel Applicant 輸出 Application carPric
19、e creditResult 業(yè)務(wù)事件 applyResult 信用等級(jí)報(bào)警 業(yè)務(wù)規(guī)則 非功能性需 求 基于存款,貸款記錄 的信用評(píng)估業(yè)務(wù) 規(guī)則 性能(略) 性能(略) 性能(略) 1.2.1 查詢存款記錄 1.2.2 查詢貸款記錄 1.2.3 計(jì)算信用等級(jí) Applicant Applicant applicant, depositHistory,l oanHistory Application Application loanRequest depositHistory loanHistory creditResult 1.4 審批 1.6 擔(dān)保 1.7 發(fā)放貸款 approveResul
20、t assureResult loanResult 審批結(jié)果通知 授權(quán)額度業(yè)務(wù)規(guī)則 可用性(略) 貸款發(fā)放通知 北京恒訊時(shí)代信息技術(shù)有限公司 20 服務(wù)建模-實(shí)例建模小結(jié) 實(shí)際項(xiàng)目中,服務(wù)規(guī)約會(huì)比較復(fù)雜,既包括具體的服務(wù)的操作,輸 入消息,輸出消息,也包括相關(guān)聯(lián)的業(yè)務(wù)目標(biāo),業(yè)務(wù)規(guī)則,業(yè)務(wù)事 件,此外,非功能性需求等方面也是需要在服務(wù)實(shí)現(xiàn)以前定義.上 表僅僅列舉幾個(gè)方面做簡(jiǎn)單的示意. 除了對(duì)單個(gè)的服務(wù)本身進(jìn)行規(guī)約,服務(wù)規(guī)約還包括服務(wù)之間關(guān)系的 描述,例如服務(wù)之間的依賴關(guān)系和包含關(guān)系. 在本示例中,汽車貸款流程由其他服務(wù)組裝而成,評(píng)估信用等級(jí)由 查詢存款記錄,查詢貸款記錄和計(jì)算信用等級(jí)組裝而成;執(zhí)
21、行審批 以前,必須先完成評(píng)估信用等級(jí),因此從業(yè)務(wù)的角度來看,審批服 務(wù)依賴于評(píng)估信用等級(jí). 北京恒訊時(shí)代信息技術(shù)有限公司 21 SOA 實(shí)施步驟總結(jié) 0. SOA采納步驟和價(jià)值分析 1. SOA監(jiān)管 2. 服務(wù)建模 3. 服務(wù)實(shí)現(xiàn)和架構(gòu)設(shè)計(jì) 4. 以服務(wù)為中心的開發(fā)和集成 5. 服務(wù)管理 北京恒訊時(shí)代信息技術(shù)有限公司 22 服務(wù)實(shí)現(xiàn)和架構(gòu)設(shè)計(jì)-SOA參考架構(gòu) 北京恒訊時(shí)代信息技術(shù)有限公司 23 服務(wù)實(shí)現(xiàn)和架構(gòu)設(shè)計(jì)-服務(wù)實(shí)現(xiàn) 無論怎樣進(jìn)行服務(wù)建模,服務(wù)最終都將由不同的服務(wù)組件來實(shí)現(xiàn). 因此服務(wù)實(shí)現(xiàn)是銜接服務(wù)建模和組件詳細(xì)設(shè)計(jì)的關(guān)鍵步驟.服務(wù)實(shí) 現(xiàn)首先將服務(wù)分配到相應(yīng)的服務(wù)組件,然后逐個(gè)分析服務(wù)實(shí)
22、現(xiàn)方式 并進(jìn)行技術(shù)可行性的驗(yàn)證. 在服務(wù)發(fā)現(xiàn)的過程中,根據(jù)業(yè)務(wù)領(lǐng)域的分析結(jié)果將服務(wù)按照業(yè)務(wù)范 圍進(jìn)行分類.在服務(wù)實(shí)現(xiàn)的過程中,將業(yè)務(wù)范圍直接映射到服務(wù)組 件,從而實(shí)現(xiàn)業(yè)務(wù)與IT的一致性. 客戶服務(wù)業(yè)務(wù)組件將實(shí)現(xiàn)貸款流程,查詢存貸款記錄,發(fā)放貸款 等服務(wù).風(fēng)險(xiǎn)管理業(yè)務(wù)組件將實(shí)現(xiàn)評(píng)估信用等級(jí),審批,擔(dān)保等 服務(wù). 北京恒訊時(shí)代信息技術(shù)有限公司 24 服務(wù)實(shí)現(xiàn)和架構(gòu)設(shè)計(jì)-實(shí)例分析 映射已有功能服務(wù):如查詢存款記錄,查詢貸款記錄和擔(dān)保.其好處非常明顯,就是重用已 有功能,保護(hù)企業(yè)的投資;避免重復(fù)功能的存在,降低維護(hù)成本.但是在選擇的過程中,需 要考慮傳輸協(xié)議,消息格式的差異,是否可以通過引入中介來彌合
23、服務(wù)調(diào)用者和實(shí)現(xiàn)者之間 的差距.需要特別提出的是擔(dān)保服務(wù),該服務(wù)由合作伙伴提供,通過中介將外部的服務(wù)進(jìn)行 映射(還需要重點(diǎn)考慮安全性相關(guān)的問題),在業(yè)務(wù)流程中就可以無縫的使用了. 新建流程服務(wù):如汽車貸款流程,評(píng)估信用等級(jí).前者是一個(gè)長(zhǎng)流程(Long Running),由 于有人工活動(dòng)的參與,使得長(zhǎng)流程的執(zhí)行不能在可預(yù)期的短時(shí)間(如:幾秒鐘)內(nèi)完成,需 要相關(guān)人員在完成自己的任務(wù)以后,流程才能進(jìn)入下一步,常常是幾天甚至幾個(gè)月才能完成 整個(gè)流程;后者是一個(gè)短流程(Micro Flow).在傳統(tǒng)的方案中,業(yè)務(wù)流程通常采用硬編碼 的方式將多個(gè)功能組裝起來;與之相對(duì),這里推薦采用工作流(如BPEL)的
24、方式將服務(wù)組裝起 來,從而達(dá)到靈活組裝,靈活應(yīng)對(duì)變化的目的. 新建人工服務(wù):如審批.人工服務(wù)是相對(duì)于自動(dòng)化服務(wù)而言.自動(dòng)化服務(wù)通常由IT系統(tǒng)來提 供,不用人為的干預(yù);人工服務(wù)則是由企業(yè)的員工,合作伙伴員工或者最終用戶來執(zhí)行,但 是它同樣具備完整的服務(wù)描述.采用統(tǒng)一的服務(wù)描述來定義人工服務(wù),可以將人工服務(wù)與自 動(dòng)化服務(wù)統(tǒng)一對(duì)待,除了可以在多個(gè)應(yīng)用之間重用人工服務(wù)以外,還可以在服務(wù)實(shí)現(xiàn)從人工 活動(dòng)遷移到IT系統(tǒng)的過程中保持系統(tǒng)的柔性. 新建業(yè)務(wù)規(guī)則服務(wù):如計(jì)算信用等級(jí).由于這部分功能不穩(wěn)定,會(huì)隨著國(guó)民經(jīng)濟(jì)的發(fā)展,物 價(jià)水平以及社會(huì)環(huán)境的變化而變化.將易于變化的這部分邏輯從穩(wěn)定的架構(gòu)中剝離出來,可
25、以增強(qiáng)IT應(yīng)對(duì)業(yè)務(wù)變化的能力.采用業(yè)務(wù)規(guī)則來實(shí)現(xiàn)相應(yīng)的服務(wù),可以相對(duì)靈活的進(jìn)行修改 來適應(yīng)業(yè)務(wù)的變化,業(yè)務(wù)規(guī)則引擎已經(jīng)在大量的行業(yè)得到廣泛的應(yīng)用. 新建功能服務(wù):如確認(rèn)購(gòu)車價(jià)格.針對(duì)以前沒有的功能,或者以前采用人工方式完成的功 能,現(xiàn)在可以引入自動(dòng)化服務(wù)來提高業(yè)務(wù)流程的運(yùn)行效率.在這里實(shí)現(xiàn)了新建功能服務(wù)以 后,也能在其他的應(yīng)用中逐步引入,從而達(dá)到在企業(yè)范圍內(nèi)重用的目的. 北京恒訊時(shí)代信息技術(shù)有限公司 25 服務(wù)實(shí)現(xiàn)和架構(gòu)設(shè)計(jì)-實(shí)例分析 北京恒訊時(shí)代信息技術(shù)有限公司 26 服務(wù)實(shí)現(xiàn)和架構(gòu)設(shè)計(jì)-架構(gòu)設(shè)計(jì)實(shí)例 北京恒訊時(shí)代信息技術(shù)有限公司 27 服務(wù)實(shí)現(xiàn)和架構(gòu)設(shè)計(jì)-技術(shù)性的選擇 ESB實(shí)現(xiàn)機(jī)制: 選
26、擇一:WebSphere Enterprise Service Bus 優(yōu)點(diǎn):內(nèi)置的轉(zhuǎn)換,路由中介,并且可以通 過客戶化中介擴(kuò)展;采用標(biāo)準(zhǔn)的編程模型(SCA, SDO). 選擇二:WebSphere Message Broker 優(yōu)點(diǎn):靈活的轉(zhuǎn)換,路由能力;對(duì)負(fù)載均衡,高可用性上有很好的支持;支持基于MQ的可 靠傳輸;支持多樣化的連接方式. 結(jié)論:此場(chǎng)景主要是業(yè)務(wù)部門級(jí)別應(yīng)用,涉及的應(yīng)用大多數(shù)都采用標(biāo)準(zhǔn)化技術(shù),如: XML,Web Service等,也沒有特別的分布式應(yīng)用的需求.因此采用選擇一,并利用 WebSphere Adapter for CICS將非標(biāo)準(zhǔn)化的CICS應(yīng)用連接到WebSp
27、here Enterprise Service Bus.在隨著企業(yè)向SOA全面轉(zhuǎn)型的以后,建議引入Message Broker作為企 業(yè)服務(wù)總線的骨干,當(dāng)前方案中的WebSphere Enterprise Bus作為一個(gè)業(yè)務(wù)部門級(jí) 別的節(jié)點(diǎn)接入骨干,形成整個(gè)企業(yè)的服務(wù)總線. 應(yīng)用服務(wù)的集成: 選擇一:Web Service 優(yōu)點(diǎn):支持分布式調(diào)用;跨平臺(tái);支持開放性標(biāo)準(zhǔn). 選擇二:EJB 優(yōu)點(diǎn):支持分布式調(diào)用;支持不同的J2EE中間件平臺(tái). 結(jié)論:企業(yè)服務(wù)總線是基于J2EE的實(shí)現(xiàn),采用EJB的方式暴露應(yīng)用服務(wù),具備更好的性能. 因此選擇方案二.即使將來希望采用Web Service方式,在Web
28、Sphere Application Server 上也能夠很方便的將EJB(Session Bean)暴露為Web Service. 北京恒訊時(shí)代信息技術(shù)有限公司 28 服務(wù)實(shí)現(xiàn)和架構(gòu)設(shè)計(jì)-技術(shù)產(chǎn)品的選擇 選擇一:通過Web Service訪問貸款系統(tǒng). 優(yōu)點(diǎn):支持開放性標(biāo)準(zhǔn). 選擇二:直接通過JDBC訪問貸款系統(tǒng)數(shù)據(jù)庫(kù). 優(yōu)點(diǎn):支持分布式調(diào)用;性能較高. 結(jié)論:通過Web Service 訪問貸款系統(tǒng),應(yīng)用層訪問的方式,保證業(yè) 務(wù)的完整性,隔離具體的業(yè)務(wù)實(shí)現(xiàn).同時(shí)避免直接訪問數(shù)據(jù)庫(kù)帶來的 安全策略等問題.因此采用選擇一. 北京恒訊時(shí)代信息技術(shù)有限公司 29 SOA 實(shí)施步驟總結(jié) 0. SO
29、A采納步驟和價(jià)值分析 1. SOA監(jiān)管 2. 服務(wù)建模 3. 服務(wù)實(shí)現(xiàn)和架構(gòu)設(shè)計(jì) 4. 以服務(wù)為中心的開發(fā)和集成 5. 服務(wù)管理 北京恒訊時(shí)代信息技術(shù)有限公司 30 服務(wù)實(shí)現(xiàn)和架構(gòu)設(shè)計(jì)-技術(shù)產(chǎn)品的選擇 保險(xiǎn)公司的多樣化支持 由于各家保險(xiǎn)公司的IT建設(shè)水平參差不齊,因此架構(gòu)需要能夠支持不同形式的接入. 對(duì)于能夠獨(dú)立提供服務(wù)網(wǎng)關(guān)的保險(xiǎn)公司,采用Web Service或者socket的方式通過ESB接入. 對(duì)于不能提供服務(wù)網(wǎng)關(guān)的保險(xiǎn)公司,可以實(shí)現(xiàn)一個(gè)人工服務(wù),該人工服務(wù)遵循與合作伙伴服務(wù)同 樣的服務(wù)規(guī)約.可以讓保險(xiǎn)公司的人員訪問該人工服務(wù),或者由銀行職員通過傳真,電話確認(rèn)信 息,然后訪問人工服務(wù).
30、上面這兩種形式的擔(dān)保服務(wù),對(duì)于業(yè)務(wù)流程是透明的,ESB會(huì)根據(jù)用戶選擇的保險(xiǎn)公司,將請(qǐng)求路 由到保險(xiǎn)公司的服務(wù)網(wǎng)關(guān)或者人工服務(wù).在保險(xiǎn)公司建立或者升級(jí)自己的服務(wù)網(wǎng)關(guān)的時(shí)候,系統(tǒng) 只需要配置或者修改ESB就可以滿足業(yè)務(wù)的需求. 評(píng)估信用等級(jí)的變化 現(xiàn)階段,國(guó)內(nèi)還沒有統(tǒng)一的信用評(píng)估方案,隨著相應(yīng)的業(yè)務(wù)環(huán)境變化導(dǎo)致對(duì)信用評(píng)估帶來的變 化,是可以預(yù)計(jì)到的. 短期的變化可能是信用評(píng)估的規(guī)則發(fā)生變化.由于每年各地的平均收入水平變化,信用評(píng)估的規(guī) 則可能相應(yīng)的調(diào)整.基于業(yè)務(wù)規(guī)則實(shí)現(xiàn)的計(jì)算信用等級(jí)服務(wù),可以靈活的進(jìn)行規(guī)則的修改. 長(zhǎng)期的變化可能是引入統(tǒng)一的信用評(píng)估平臺(tái).由國(guó)家或者第三方機(jī)構(gòu)提供一個(gè)全國(guó)范圍內(nèi)統(tǒng)一
31、的 信用評(píng)估平臺(tái).只需要將現(xiàn)有的評(píng)估信用等級(jí)業(yè)務(wù)子流程替換為外部的統(tǒng)一信用評(píng)估平臺(tái)提供的 合作伙伴服務(wù),通過ESB來彌合傳輸協(xié)議和消息格式的不同,整個(gè)業(yè)務(wù)流程依然保持不變. 通過對(duì)上述變化場(chǎng)景的簡(jiǎn)單分析,驗(yàn)證了架構(gòu)的可擴(kuò)展性.當(dāng)然這種可擴(kuò)展性只能是在一定的程 度上滿足業(yè)務(wù)的變化,也只有通過對(duì)業(yè)務(wù)變化的前瞻性分析,對(duì)系統(tǒng)架構(gòu)進(jìn)行修正,才能更好的 保證架構(gòu)的可擴(kuò)展性.這整個(gè)過程是一個(gè)迭代進(jìn)行的過程. 北京恒訊時(shí)代信息技術(shù)有限公司 31 以服務(wù)為中心的開發(fā)和集成-項(xiàng)目實(shí)施的準(zhǔn)備工作 已經(jīng)了解到,通過業(yè)務(wù)價(jià)值分析和服務(wù)建模,經(jīng)過服務(wù)架構(gòu)的分析 和設(shè)計(jì),我確定需要實(shí)現(xiàn)的服務(wù)接口和消息規(guī)約,以及服務(wù)之間的
32、 調(diào)用關(guān)系.現(xiàn)在的任務(wù)就是如何實(shí)現(xiàn)和構(gòu)建這樣一個(gè)以服務(wù)為中心 的應(yīng)用系統(tǒng). 實(shí)現(xiàn)相應(yīng)的集成模塊,由架構(gòu)組在整體層面上把握路線,建立集成 模型.后面將進(jìn)一步討論如何逐步實(shí)現(xiàn)服務(wù)和持續(xù)集成服務(wù). 首先簡(jiǎn)單分析一下項(xiàng)目的目標(biāo),此時(shí)能得到的輸入是前面的輸出 (服務(wù)規(guī)約,服務(wù)實(shí)現(xiàn)決策以及系統(tǒng)架構(gòu)), 目標(biāo)就是獲得相應(yīng)的輸出:一個(gè)以服務(wù)為中心的應(yīng)用系統(tǒng). 北京恒訊時(shí)代信息技術(shù)有限公司 32 以服務(wù)為中心的開發(fā)和集成-采取以下的基本步驟 來實(shí)現(xiàn)項(xiàng)目的目標(biāo) 1 項(xiàng)目準(zhǔn)備:準(zhǔn)備相關(guān)的軟件:硬 件環(huán)境和組件開發(fā)團(tuán)隊(duì). 2 在開發(fā)環(huán)境中定義服務(wù):使用 WID工具定義服務(wù)的基本元素. 3 決定服務(wù)之間的物理關(guān)系和服務(wù)
33、 集成模型:主要是得到服務(wù)集成的 順序和路徑. 4 逐步實(shí)現(xiàn)服務(wù):使用模擬服務(wù)的 方法快速實(shí)現(xiàn)服務(wù)和快速測(cè)試. 5 持續(xù)集成服務(wù):根據(jù)服務(wù)模型的 順序持續(xù)的集成服務(wù),構(gòu)建完整的 應(yīng)用系統(tǒng). 服務(wù)編號(hào) S0 S1 S2 S3 S4 S5 S6 S7 S8 服務(wù)名稱 汽車貸款流程服務(wù) 確認(rèn)購(gòu)車價(jià)格 查詢存款記錄 查詢貸款記錄 發(fā)放貸款 評(píng)估信用等級(jí) 計(jì)算信用等級(jí) 審批 擔(dān)保 確認(rèn)系統(tǒng)將要提供以上服務(wù): 北京恒訊時(shí)代信息技術(shù)有限公司 33 以服務(wù)為中心的開發(fā)和集成-產(chǎn)品支持 北京恒訊時(shí)代信息技術(shù)有限公司 34 以服務(wù)為中心的開發(fā)和集成-產(chǎn)品支持(續(xù)) 北京恒訊時(shí)代信息技術(shù)有限公司 35 以服務(wù)為中心
34、的開發(fā)和集成-團(tuán)隊(duì)組成 北京恒訊時(shí)代信息技術(shù)有限公司 36 以服務(wù)為中心的開發(fā)和集成-團(tuán)隊(duì)組成 通常項(xiàng)目團(tuán)隊(duì)的分組可能面臨兩種選擇: 一種是水平分組:按照應(yīng)用的水平層次進(jìn)行分組,如UI相關(guān),流程相關(guān),中介相關(guān), 服務(wù)實(shí)現(xiàn)后臺(tái)系統(tǒng)等. 一種是垂直分組:按業(yè)務(wù)功能劃分,以業(yè)務(wù)流程為中心,功能相關(guān)的UI,流程,模 塊,后臺(tái)系統(tǒng)為一組. 在以服務(wù)為中心的SOA項(xiàng)目中,推薦將項(xiàng)目以服務(wù)為中心分為2個(gè)大的Work Stream: 1 服務(wù)實(shí)現(xiàn): 包括新的服務(wù)和對(duì)現(xiàn)有服務(wù)的包裝,這樣實(shí)現(xiàn)的服務(wù)將作為基本的服務(wù)組件分 布在服務(wù)模塊中,等待互相調(diào)用和被流程等方式進(jìn)行編排. 2 服務(wù)集成 包括從UI到業(yè)務(wù)流程,或
35、者SCA之間的裝配. 這樣考慮主要是因?yàn)榉?wù)的實(shí)現(xiàn)是可以獨(dú)立的完成(強(qiáng)調(diào)SOA中的Service是粗粒度的 業(yè)務(wù)服務(wù)),而服務(wù)的集成主要體現(xiàn)在流程以及服務(wù)模塊之間的裝配,這樣的劃分對(duì) 于項(xiàng)目將來的持續(xù)集成有著非常重要的意義. 每個(gè)Work Stream之中,可能需要按業(yè)務(wù)或者技術(shù)側(cè)重分成若干小組,同時(shí)Work Stream之中,根據(jù)人員技能的不同,每個(gè)開發(fā)人員的角色會(huì)有側(cè)重.各Work Stream 之間需要保持相應(yīng)的交流,對(duì)于一些重要的技術(shù)人員或者領(lǐng)域?qū)<?可以在Work Stream之間實(shí)現(xiàn)共享, 北京恒訊時(shí)代信息技術(shù)有限公司 37 以服務(wù)為中心的開發(fā)和集成-人員技能要求 北京恒訊時(shí)代信息
36、技術(shù)有限公司 38 以服務(wù)為中心的開發(fā)和集成-服務(wù)消息規(guī)約示例 北京恒訊時(shí)代信息技術(shù)有限公司 39 以服務(wù)為中心的開發(fā)和集成-服務(wù)接口規(guī)約示例 北京恒訊時(shí)代信息技術(shù)有限公司 40 以服務(wù)為中心的開發(fā)和集成-業(yè)務(wù)對(duì)象設(shè)計(jì) 1 引用:在WID中,雖然在業(yè)務(wù)集成視圖提供了可視化的編輯BO的方式, 但仍然會(huì)不時(shí)的打開BO對(duì)應(yīng)的XSD定義文件,進(jìn)行一些手工的操作. 2 繼承:請(qǐng)注意WID支持BO之間的繼承關(guān)系,其實(shí)現(xiàn)是通過XSD的 extension來實(shí)現(xiàn)的,WSDL中的消息也是通過XSD來定義的,因此也支持繼 承.在一個(gè)復(fù)雜的系統(tǒng)中,業(yè)務(wù)對(duì)象不可能都是一個(gè)獨(dú)立的存在,因此在 定義BO的時(shí)候,可能需要考
37、慮繼承.并且,更關(guān)注模塊之間共享的BO,這 些BO作為消息線索,將串聯(lián)起主要的業(yè)務(wù)流程,具有非常明顯的業(yè)務(wù)含義. 3 映射:在更為復(fù)雜的情況下,WID 支持BO之間的Mapping和 Transformer ,從而支持接口之間的Mapping,當(dāng)然,也可以使用 Mediation模塊里面的XSLTTransform來實(shí)現(xiàn)消息的轉(zhuǎn)換. 北京恒訊時(shí)代信息技術(shù)有限公司 41 以服務(wù)為中心的開發(fā)和集成-服務(wù)接口 服務(wù)接口的定義在目前的WID中實(shí)際上支持兩種定義方式,WSDL和Java接 口,但一般情況下,模塊之間的接口使用WSDL,因?yàn)閃SDL擴(kuò)展性和通用 性都比較好.而模塊內(nèi)部,可能使用WSDL,也
38、可能使用Java.如果相應(yīng) 的一個(gè)Java服務(wù)組件不得不引用一個(gè)無狀態(tài)的SessionBean,就不得不使 用該SessioBean的接口來定義這個(gè)組件的接口.在使用WSDL接口定義的 時(shí)候,盡量不要過早的在Process中綁定接口,因?yàn)橐坏┙涌诘膮?shù)的數(shù) 據(jù)組織格式發(fā)生變化,Process的調(diào)用接口和分配變量部分會(huì)發(fā)生很大的 變化. 如果希望暴露的接口和相應(yīng)的組件接口不盡相同,可以使用接口映射, 接口之間的映射就需要用到業(yè)務(wù)對(duì)象的映射,而且也可以使用Mediation 來做,實(shí)際上完成的功能基本上是一樣的. 北京恒訊時(shí)代信息技術(shù)有限公司 42 以服務(wù)為中心的開發(fā)和集成-業(yè)務(wù)對(duì)象的映射 在特定
39、情況下,因?yàn)樾?事務(wù)等的需要,不得不在SCA中直接集 成EJB,并且無法使用WSDL輕易的實(shí)現(xiàn)映射,尤其是當(dāng)數(shù)據(jù)種隱含 若類型對(duì)象或者隱含特定的業(yè)務(wù)邏輯.對(duì)于常見的J2EE系統(tǒng),會(huì)遇 見諸如Vector,List,HashMap這樣的參數(shù)類型,對(duì)于這些弱類型 的Java對(duì)象,雖然WSDL提供了Any 類型,但是一般不太容易交互, 所以對(duì)于這種情況,就不得不需要使用良定義的Java對(duì)象來包裝參 數(shù),或者將包裝后的方法暴露成Web Service,或者直接手工實(shí)現(xiàn) Java和SDO的轉(zhuǎn)化. 對(duì)于UI的重用性,有時(shí)候也要涉及BO和Java對(duì)象之間的轉(zhuǎn)化,對(duì)于 這些情況,推薦使用自己編寫的Trans
40、formerFactory來生成每個(gè)對(duì) 象和SDO的轉(zhuǎn)化類.本項(xiàng)目中,實(shí)現(xiàn)的TransformerFactory實(shí)際上 是一個(gè)Java代碼生成器. 北京恒訊時(shí)代信息技術(shù)有限公司 43 以服務(wù)為中心的開發(fā)和集成-服務(wù)與模塊映射關(guān)系 1 購(gòu)車貸款審批流程模塊 2 信用評(píng)估流程模塊 3 中介模塊 4 貸款系統(tǒng)包裝 5 保險(xiǎn)擔(dān)保系統(tǒng)包裝 6 汽車價(jià)格查詢模塊 北京恒訊時(shí)代信息技術(shù)有限公司 44 以服務(wù)為中心的開發(fā)和集成-實(shí)現(xiàn)服務(wù)集成模型 SCA作為SOA的編程模型,可以帶來顯著的價(jià)值,易于集成,實(shí)現(xiàn)高 靈活性和高開發(fā)效率.到目前為止,完成了服務(wù)和消息的定義,項(xiàng) 目中將獨(dú)立的實(shí)現(xiàn)服務(wù)模塊,UI,和后臺(tái)系
41、統(tǒng),所有的這一切都是 為了集成,集成為最終的應(yīng)用程序.本項(xiàng)目的目標(biāo)就是要以服務(wù)為 中心,持續(xù)集成. 首先關(guān)注服務(wù)集成的模型,服務(wù)集成的模型主要只服務(wù)之間關(guān)系建 立的計(jì)劃安排和實(shí)現(xiàn)步驟.為什么需要一個(gè)服務(wù)集成模型?主要有 以下兩點(diǎn)的考慮: 1 降低風(fēng)險(xiǎn) 2 最大限度利用資源 使用自動(dòng)化的測(cè)試和基于模擬服務(wù)的持續(xù)集成將是實(shí)現(xiàn)目標(biāo)的主要 手段. 北京恒訊時(shí)代信息技術(shù)有限公司 45 SCA模塊內(nèi)部的集成示意圖 集成(或組裝)是SCA中非常重要的概念,可以想象如果的應(yīng)用程 序是一輛汽車,我服務(wù)就是汽車零件,服務(wù)模塊這是汽車中的大型 部件,最終,需要通過組裝來實(shí)現(xiàn)SOA應(yīng)用,并且由于組件之間的 良定義的接
42、口,組件都是可以替換的.在 SCA的編程模型下,模塊 之間的集成主要依賴于SCA調(diào)用和BPEL 北京恒訊時(shí)代信息技術(shù)有限公司 46 以服務(wù)為中心的開發(fā)和集成-系統(tǒng)的集成 北京恒訊時(shí)代信息技術(shù)有限公司 47 以服務(wù)為中心的開發(fā)和集成-系統(tǒng)的集成(服務(wù)和 服務(wù)模塊的逐步實(shí)現(xiàn) ) 其中:UI1指大廳用戶界面,UI2指網(wǎng)絡(luò)用戶; L1,核心系統(tǒng); L2,貸款系統(tǒng);L3,保險(xiǎn)系統(tǒng). 北京恒訊時(shí)代信息技術(shù)有限公司 48 以服務(wù)為中心的開發(fā)和集成-不建議模塊之間的過 早綁定 因此凡是與綁定相關(guān)的工作,除非必要,不然都不要先實(shí)現(xiàn),每個(gè) 模塊應(yīng)當(dāng)聚焦于該模塊自身的功能.延時(shí)綁定的可能會(huì)帶來以下兩 點(diǎn)好處: 1
43、在開發(fā)過程中綁定方式等各種條件會(huì)隨著認(rèn)識(shí)的深入和項(xiàng)目的進(jìn)展而 變化,過早的綁定往往可能需要重新設(shè)置,當(dāng)然使用WID工具,這樣的變 更往往不是很耗費(fèi)時(shí)間,但是變更帶來的單元測(cè)試和集成測(cè)試以及重新 部署等工作,可能會(huì)消耗比較多的時(shí)間. 2 單元測(cè)試階段可以隔離組件間的影響,專注于組件內(nèi)部的測(cè)試,不需 要過早的建立組件之間的聯(lián)系,以免得到擴(kuò)散的測(cè)試結(jié)果. 北京恒訊時(shí)代信息技術(shù)有限公司 49 以服務(wù)為中心的開發(fā)和集成-業(yè)務(wù)流程模塊 在SOA的環(huán)境下,流程作為集成服務(wù)的主要手段,起著非常 重要的作用,通常情況下,業(yè)務(wù)流程是最接近展現(xiàn)層,流 程向下集成不同的SCA模塊,向上提供了用戶交互和服務(wù)調(diào) 用的功能
44、,主要被UI集成.WPS中的BPEL流程引擎提供了豐 富和功能強(qiáng)大的API,很容易的可以被JSP,SWT等客戶端工 具集成. 關(guān)于具體的BPEL開發(fā),這里不打算詳細(xì)介紹.在WPS6和WID 中,流程的實(shí)現(xiàn)更為簡(jiǎn)單,只需要簡(jiǎn)單的拖拽和設(shè)置,就 能完成一個(gè)業(yè)務(wù)流程的建模.當(dāng)然IBM也提供了更為復(fù)雜和 專業(yè)的WBM(WebSphere Business Modeler),用于完整的 業(yè)務(wù)流程建模,使用WBM導(dǎo)出的模型文件,WID可以直接射 程業(yè)務(wù)流程組件. 對(duì)流程中的每個(gè)活動(dòng),可以增加業(yè)務(wù)事件的監(jiān)控,設(shè)定CEI 的消息,以實(shí)現(xiàn)業(yè)務(wù)監(jiān)控的相關(guān)功能. 在單獨(dú)實(shí)現(xiàn)流程的時(shí)候,需要定義一些模擬的后臺(tái)實(shí)現(xiàn),
45、使得開發(fā)人員專注于流程本身(分支,選擇,子流程 等),所有的Parnter的實(shí)現(xiàn)可以先使用Java 組件的方 式,使用偽代碼或者上文提到的測(cè)試數(shù)據(jù)生成器. 業(yè)務(wù)流程本身是要定義在一個(gè)SCA的模塊中,盡量使得這個(gè) 模塊只包括流程的邏輯,這樣從部署,測(cè)試,變更控制等 角度來看,都具有很重要的意義. 當(dāng)這部分工作完成后,看起來這個(gè)就是一個(gè)完整的流程, 包含了預(yù)定的業(yè)務(wù)功能,部署在自己的測(cè)試環(huán)境中,使用 BPC Explorer 可以進(jìn)行測(cè)試,觀察流程在測(cè)試數(shù)據(jù)的運(yùn)行 情況下是否符合項(xiàng)目的預(yù)期,人工活動(dòng)的交互是否滿足等. 此時(shí)的測(cè)試還是比較簡(jiǎn)單的單元測(cè)試,主要測(cè)試流程的完 整性,流程調(diào)用和一些簡(jiǎn)單的業(yè)
46、務(wù)邏輯. 北京恒訊時(shí)代信息技術(shù)有限公司 50 以服務(wù)為中心的開發(fā)和集成-業(yè)務(wù)流程示例 業(yè)務(wù)流程示例 業(yè)務(wù)流程模塊中會(huì)包 含人工服務(wù),需要注 意對(duì)于包含人工活動(dòng) 的流程,需要設(shè)定流 程類型為 longrunning,同時(shí) 需要設(shè)置相關(guān)的事務(wù) 屬性和會(huì)話屬性, 北京恒訊時(shí)代信息技術(shù)有限公司 51 以服務(wù)為中心的開發(fā)和集成-SCA的注意點(diǎn) 在SCA的世界里,所有的服務(wù)都是SCA的服務(wù),但是只不過是綁定 的形式不一樣,這符合一般的思維模式,比如服務(wù)本身的邏輯可 以類比于是MVC模式中的model,而多種不同形式的綁定就相當(dāng)于 View.通常在WID中一般實(shí)現(xiàn)一個(gè)SCA模塊的過程如下所示: 1 確定模塊
47、內(nèi)的服務(wù)組件:定義服務(wù)組件; 2 確定模塊的接口:定義組件的導(dǎo)出; 3 確定模塊要引用的SCA服務(wù):定義組件的導(dǎo)入; 4 確定內(nèi)部服務(wù)組件的實(shí)現(xiàn)方式:采用流程,中介,業(yè)務(wù)規(guī)則或是 Java實(shí)現(xiàn)組件的業(yè)務(wù)邏輯; 5 確定組件之間的關(guān)系:采用流程,連線或者Java代碼編排服務(wù). 北京恒訊時(shí)代信息技術(shù)有限公司 52 以服務(wù)為中心的開發(fā)和集成-ESB的實(shí)現(xiàn) ESB的實(shí)現(xiàn)實(shí)際上就表現(xiàn)為采用中介模塊虛擬化原有服務(wù),利用路由實(shí)現(xiàn) 連通性,利用Mediation實(shí)現(xiàn)服務(wù)的適配.它能夠顯著的增加業(yè)務(wù)邏輯的 靈活性,隔離底層服務(wù)的區(qū)別,提供虛擬化的統(tǒng)一的業(yè)務(wù)服務(wù)視圖. WID很明顯的將中介模塊和普通的SCA模塊區(qū)
48、分開來,只有在中介模塊中 才能使用中介組件,中介組件主要實(shí)現(xiàn)服務(wù)的路由,消息的轉(zhuǎn)換等工作. 在考慮一個(gè)服務(wù)中介組件的時(shí)候,首先需要確定中介的類型,盡量將相 關(guān)的中介邏輯都要放在一個(gè)mediation組件中. 一個(gè)中介模塊中可能有多個(gè)中介消息流,在這些消息流之間流動(dòng)的除了 消息外,還有一些上下文,可以在每個(gè)中介節(jié)點(diǎn)中讀寫上下文,實(shí)現(xiàn)局 部的消息傳遞. 北京恒訊時(shí)代信息技術(shù)有限公司 53 以服務(wù)為中心的開發(fā)和集成-新建服務(wù)模塊 在SOA的項(xiàng)目實(shí)踐中,對(duì)于新建服務(wù),實(shí)現(xiàn)方式上有兩種選擇: 1 獨(dú)立完成,如采用傳統(tǒng)J2EE等方式,實(shí)現(xiàn)后采用SCA包裝.這樣的考慮 主要是現(xiàn)有業(yè)務(wù)模式已經(jīng)比較成熟,有很多
49、可重用的設(shè)計(jì)模式和框架, 類包的支持,使得新建的服務(wù)可以和容易的實(shí)現(xiàn).因此,在實(shí)現(xiàn)新建的 服務(wù)后,以Web Service或者JMS或者EJB的方式暴露出來,在SCA中集成 他們,在流程中調(diào)用SCA,這是一種比較理想的實(shí)現(xiàn)方式. 2 直接在SCA模塊中實(shí)現(xiàn)業(yè)務(wù)邏輯.適當(dāng)情況下,業(yè)務(wù)邏輯可以存在于 SCA的組件中,比較常見的是Java組件或者業(yè)務(wù)規(guī)則組件,狀態(tài)機(jī)等.這 樣做可以減少在不同的層次之間的調(diào)用和映射,提高效率. 具體考慮服務(wù)的實(shí)現(xiàn)方式可能基于不同的應(yīng)用會(huì)有不同的結(jié)果,推 薦新建服務(wù)使用最適合的方式實(shí)現(xiàn),然后使用SCA模塊進(jìn)行調(diào)用和 集成,這樣才能體現(xiàn)SCA的優(yōu)點(diǎn),一旦后臺(tái)系統(tǒng)發(fā)生變化,
50、SCA作為 中間層會(huì)向上屏蔽這些區(qū)別.這樣所有SCA服務(wù)所在的中間層也就 是一個(gè)ESB. 北京恒訊時(shí)代信息技術(shù)有限公司 54 以服務(wù)為中心的開發(fā)和集成-后臺(tái)系統(tǒng)包裝 SOA將現(xiàn)有系統(tǒng)作為可重用的IT資產(chǎn)管理,重用的方式就需要將這 些系統(tǒng)包裝成為服務(wù),被業(yè)務(wù)系統(tǒng)集成和使用.IBM的產(chǎn)品家族為 集成現(xiàn)有系統(tǒng)提供了很多的途徑,包括Adapter,EJB,Web Service,JMS等方式. 例如,在例子中,房貸系統(tǒng)使用的是基于Command模式的EJBFacad 來實(shí)現(xiàn),不得不使用Java組件包裝在后臺(tái)系統(tǒng),首先實(shí)現(xiàn)Java對(duì)象 到Java對(duì)象的Mapping,然后在實(shí)現(xiàn)包裝系統(tǒng)的Java對(duì)象到S
51、DO的映 射. 使用以上技術(shù),將現(xiàn)有系統(tǒng)映射成為SCA模塊,現(xiàn)有系統(tǒng)的功能通 過該SCA的導(dǎo)出,被暴露成可重用的標(biāo)準(zhǔn)化的服務(wù)接口,作為進(jìn)一 步集成的基礎(chǔ),通過重用實(shí)現(xiàn)了價(jià)值的最大化. 北京恒訊時(shí)代信息技術(shù)有限公司 55 以服務(wù)為中心的開發(fā)和集成-服務(wù)模擬和集成測(cè)試 由于項(xiàng)目進(jìn)度的不均勻性,以及服務(wù)實(shí)現(xiàn)和服務(wù)裝配2個(gè)不同開發(fā)路線 上的進(jìn)度的不均衡,在實(shí)際的SAO項(xiàng)目中,經(jīng)常會(huì)發(fā)生開發(fā)被阻塞或者 成員處于等待集成的狀態(tài)中,因此非常有必要實(shí)現(xiàn)一些模擬的服務(wù)來供 進(jìn)行單元測(cè)試和集成測(cè)試. 組件測(cè)試:對(duì)于Java組件,狀態(tài)機(jī),業(yè)務(wù)規(guī)則或者中介等組件,他們內(nèi) 建的業(yè)務(wù)邏輯應(yīng)該首先經(jīng)過組件級(jí)別的單元測(cè)試,才
52、會(huì)被允許集成.對(duì) 于組件的集成,可以使用ITC(Integration Test Client)來完成.ITC 提供了Emulator 的方式測(cè)試流程的運(yùn)行和連貫性,全部采用人工活動(dòng) 來模擬輸入. 同樣如果相應(yīng)的邏輯被封裝在Java代碼中,以服務(wù)組件作為門面的話, 可以采用傳統(tǒng)的方法如JUnit對(duì)相應(yīng)的代碼進(jìn)行測(cè)試.注意,此時(shí)的測(cè) 試因?yàn)?1 缺乏Runtime 的上下文環(huán)境; 2 缺乏真實(shí)的業(yè)務(wù)環(huán)境. 所以此時(shí)的測(cè)試不見得能夠說明問題,但是作為單元測(cè)試,能夠保證組 件在測(cè)試條件下正常工作,就算為集成和集成測(cè)試打了一個(gè)好基礎(chǔ). 北京恒訊時(shí)代信息技術(shù)有限公司 56 以服務(wù)為中心的開發(fā)和集成-模擬
53、客戶端 在UI的工作沒有完全完工之前,需要一個(gè)模擬的客戶端,來和流程交 互,測(cè)試流程的功能.當(dāng)流程和后面的模塊集成后,就可以一直測(cè)試到 后臺(tái)系統(tǒng),同樣對(duì)于SCA的模塊在單元測(cè)試的時(shí)候,也需要的一個(gè)模擬 的客戶端. 使用ITC 首先可以使用WID的Integration Test Client,從右鍵菜單 Test Component進(jìn)入該測(cè)試界面,ITC會(huì)自動(dòng)生成界面供選擇希望測(cè) 試的接口的方法,并可以輸入?yún)?shù),開始測(cè)試.ITC會(huì)將測(cè)試結(jié)果和測(cè) 試過程中捕獲的異常以可視化的方式展現(xiàn)出來.ITC適用于所有的SCA模 塊,包括流程模塊.在ITC中如果不希望每次都要輸入測(cè)試參數(shù),可以 選擇將測(cè)試參數(shù)
54、保存進(jìn)一個(gè)數(shù)據(jù)池,并將該次測(cè)試保存為配置文件,就 可以自動(dòng)加載了. 使用BPC Explore 對(duì)于流程模塊,如果已經(jīng)和后臺(tái)系統(tǒng)或者虛擬服務(wù)連 接,可以使用BPC瀏覽器來測(cè)試流程模塊.該方法簡(jiǎn)單快捷,但是可能 不太容易進(jìn)行持續(xù)的,自動(dòng)化的測(cè)試.值得注意的是,很顯然在BPC瀏 覽器的后臺(tái),服務(wù)器端的代碼是在調(diào)用BPE的API進(jìn)行流程的交互,因此 可以自己手工編寫測(cè)試代碼去調(diào)用BPE API與流程容器交互,寫出專門 的針對(duì)流程的自動(dòng)測(cè)試代碼. 北京恒訊時(shí)代信息技術(shù)有限公司 57 以服務(wù)為中心的開發(fā)和集成-評(píng)審和重構(gòu) 可能的評(píng)審和討論內(nèi)容如下: 1 業(yè)務(wù)對(duì)象(BO)和服務(wù)接口(WSDL)的定義,包括
55、對(duì)象映射和接口映射. 此時(shí)的評(píng)審主要是要邀請(qǐng)客戶的業(yè)務(wù)專家,客戶的技術(shù)決策人員,對(duì)BO的定義,接口 的約定,與后臺(tái)系統(tǒng)的差距,實(shí)現(xiàn)的連通性,整體結(jié)構(gòu)的合理性,進(jìn)行探討. 對(duì)于發(fā)現(xiàn)的不合理的地方,需要重構(gòu)的BO和接口,當(dāng)經(jīng)過一定的返工,再討論后,可 以以某種契約形式固定這些接口和BO,作為進(jìn)一步開發(fā)的基礎(chǔ). 在修改BO的時(shí)候,如果添加和刪除BO中的屬性,可能需要手工刪除import的那個(gè)xsd. 添加和刪除WSDL接口中的參數(shù),可能會(huì)造成流程調(diào)用該服務(wù)時(shí)的參數(shù)格式的問題,可 能需要手工修改WSDL文件. 2服務(wù)的組裝和服務(wù)的實(shí)現(xiàn),服務(wù)的組裝和實(shí)現(xiàn)包括流程,中介,組件的調(diào)用 等,在開發(fā)過程中,可能
56、會(huì)產(chǎn)生如下的變化: 1 人工服務(wù)的實(shí)現(xiàn)可能會(huì)被機(jī)器服務(wù)取代; 2 服務(wù)的綁定方式會(huì)發(fā)生變化; 3 由于接口的變化和BO的變化帶來的影響; 4 服務(wù)實(shí)現(xiàn)的變化,例如:可能由Java實(shí)現(xiàn)轉(zhuǎn)化為Business Rule實(shí)現(xiàn). 北京恒訊時(shí)代信息技術(shù)有限公司 58 以服務(wù)為中心的開發(fā)和集成-持續(xù)集成 通常情況下流程集成,SOA應(yīng)用和一般的應(yīng)用從UI的角度看起來并沒有 太大的區(qū)別.因此在UI的實(shí)現(xiàn)上,常見的方式都能夠適用,最終的裝配 可能有2種形式: 1 UI+BPEL; 2 UI+SCA 調(diào)用. 無論是那種情況,UI的model可能都是對(duì)應(yīng)SDO,因此可能需要適當(dāng)?shù)姆?式做一些SDO的轉(zhuǎn)化,可以在JS
57、F中直接使用SDO作為數(shù)據(jù)源進(jìn)行展現(xiàn), 而且這也是一種比較合理的做法. 對(duì)于UI和BPEL流程的集成,可能會(huì)使用一些BPE的API,在JSP或者 Action中啟動(dòng)一個(gè)流程,并持續(xù)的和流程交互,UI的輸入會(huì)被映射到流 程的人工服務(wù). 對(duì)于UI和SCA的集成 也會(huì)用到WPS中的SCA API,具體可以參考相關(guān)的 Sample推薦 UI,Process和SCA 各司其職,主要的業(yè)務(wù)功能仍然使用其 最適合的方式,SCA和流程主要作為集成的手段,這樣,對(duì)于開發(fā)部 署,變更等,系統(tǒng)具有更大的靈活性.在流程模塊中,盡量不包含流程 以外的業(yè)務(wù)邏輯,業(yè)務(wù)功能應(yīng)當(dāng)在業(yè)務(wù)流程之后的SCA模塊中實(shí)現(xiàn). 北京恒訊時(shí)代
58、信息技術(shù)有限公司 59 以服務(wù)為中心的開發(fā)和集成-持續(xù)測(cè)試 根據(jù)定義的集成模型,和持續(xù)的集成,迭代的開發(fā),最終所有的集成會(huì)在預(yù)定的時(shí)間完成,此 時(shí)需要進(jìn)行完整的全面測(cè)試,測(cè)試路徑將涵蓋UI,流程,SCA模塊和后臺(tái)系統(tǒng). 可以先測(cè)試一個(gè)流程中的一個(gè)功能,保證從UI到后臺(tái)系統(tǒng)的連通性,驗(yàn)證體系結(jié)構(gòu)的可行性. 注意如果對(duì)整個(gè)結(jié)構(gòu)沒有把握的話,這個(gè)過程可能提前.通常情況下,具備基礎(chǔ)的SOA開發(fā)經(jīng)驗(yàn) 的工程師和架構(gòu)師在設(shè)定的架構(gòu),都能夠滿足運(yùn)行時(shí)候的需要,而不會(huì)產(chǎn)生全面集成時(shí)的大的 架構(gòu)變更. 業(yè)務(wù)功能測(cè)試是一項(xiàng)很巨大的工作,最好確保有一些自動(dòng)測(cè)試代碼和log分析工具來協(xié)助進(jìn)行測(cè) 試,目前IBM公司也在
59、開展一些SOA testing 方面的工作,希望將來會(huì)有整套的方法論和測(cè)試工 具支持SOA測(cè)試. 部署也應(yīng)該進(jìn)行測(cè)試,以保證相應(yīng)的開發(fā)平臺(tái)和最終的運(yùn)行環(huán)境匹配,因此當(dāng)開發(fā)進(jìn)行到一定 的程度,應(yīng)當(dāng)進(jìn)行部署方面的測(cè)試,部署的測(cè)試主要是進(jìn)行部署和連通性測(cè)試,保證環(huán)境的問 題盡早暴露.因此部署測(cè)試應(yīng)該在至少全部的應(yīng)用框架都能夠運(yùn)行,但是功能尚未全面完成的 時(shí)候開始的. 一個(gè)具體的SOA項(xiàng)目可能會(huì)有數(shù)十個(gè)部署單元,構(gòu)建自動(dòng)部署的腳本是十分必要和明智的,可以 幫節(jié)約很多的人力和時(shí)間,尤其在項(xiàng)目的后期,進(jìn)行持續(xù)的測(cè)試和改進(jìn)的時(shí)候,會(huì)頻繁的部署 和測(cè)試.一般使用基于ANT的自動(dòng)化部署腳本,可以方便的解決問題.
60、 使用Ant工具和jacl部署腳本以在項(xiàng)目過程中積累的測(cè)試用例和測(cè)試代碼,最終將完成從開發(fā)到 部署到測(cè)試的自動(dòng)化集成. 最終的測(cè)試腳本會(huì)首先從CVS上下代碼,然后基于預(yù)先配置的類路徑自動(dòng)構(gòu)建項(xiàng)目,然后實(shí)打包 項(xiàng)目的EAR文件,然后是部署,最后是使用前面完成的測(cè)試代碼,自動(dòng)運(yùn)行測(cè)試腳本,打印測(cè)試 結(jié)果.這樣項(xiàng)目的開發(fā)團(tuán)隊(duì)可以實(shí)現(xiàn)很高的開發(fā)效率.這里重復(fù)強(qiáng)調(diào)一點(diǎn),因?yàn)椴捎煤芏鄤?dòng)態(tài) 的技術(shù)和弱類型的對(duì)象,SCA編程模型對(duì)運(yùn)行時(shí)的要求變得更高,很多問題只能在運(yùn)行時(shí)才會(huì)發(fā) 現(xiàn),因此,持續(xù)的測(cè)試和自動(dòng)化的測(cè)試將會(huì)使得相應(yīng)的SOA開發(fā)達(dá)到事半功倍的效果. 北京恒訊時(shí)代信息技術(shù)有限公司 60 以服務(wù)為中心的開
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 文學(xué)視角下園林植物的文化寓意探析
- 石河子大學(xué)《土壤肥料學(xué)》2022-2023學(xué)年第一學(xué)期期末試卷
- 石河子大學(xué)《人事測(cè)評(píng)》2021-2022學(xué)年第一學(xué)期期末試卷
- 石河子大學(xué)《地籍測(cè)量》2023-2024學(xué)年第一學(xué)期期末試卷
- 沈陽理工大學(xué)《現(xiàn)場(chǎng)總線控制系統(tǒng)》2022-2023學(xué)年期末試卷
- 沈陽理工大學(xué)《汽車檢測(cè)與診斷技術(shù)》2023-2024學(xué)年第一學(xué)期期末試卷
- 沈陽理工大學(xué)《計(jì)算機(jī)程序設(shè)計(jì)》2022-2023學(xué)年期末試卷
- 沈陽理工大學(xué)《工程制圖A》2021-2022學(xué)年第一學(xué)期期末試卷
- 沈陽理工大學(xué)《大學(xué)生健康教育》2021-2022學(xué)年第一學(xué)期期末試卷
- 光合同化物的下運(yùn)途徑
- 五年級(jí)上冊(cè)道德與法治第7課《中華民族一家親》第2課時(shí)說課稿
- 部編版道德與法治七年級(jí)上冊(cè)每課教學(xué)反思
- 人教新課標(biāo)四年級(jí)上冊(cè)數(shù)學(xué)《06用“五入”法求商》說課稿
- 人教版二年級(jí)數(shù)學(xué)上冊(cè)第六單元《表內(nèi)乘法(二)》說課稿(含14課時(shí))
- CJT 482-2015 城市軌道交通橋梁球型鋼支座
- 我國(guó)不銹鋼管行業(yè)現(xiàn)狀分析
- 2024年關(guān)于印發(fā)全國(guó)社會(huì)心理服務(wù)體系建設(shè)試點(diǎn)5篇
- 維修水池合同協(xié)議書
- 2024年中級(jí)經(jīng)濟(jì)師考試題庫(kù)含答案(完整版)
- 高效餐飲服務(wù)承諾
- 2024年05月浙江嘉興職業(yè)技術(shù)學(xué)院海鹽學(xué)院招考聘用高層次緊缺人才45人筆試歷年高頻考點(diǎn)(難、易錯(cuò)點(diǎn))附帶答案詳解
評(píng)論
0/150
提交評(píng)論