基于COM + 的分布式可重構(gòu)信息系統(tǒng).pdf_第1頁
基于COM + 的分布式可重構(gòu)信息系統(tǒng).pdf_第2頁
基于COM + 的分布式可重構(gòu)信息系統(tǒng).pdf_第3頁
基于COM + 的分布式可重構(gòu)信息系統(tǒng).pdf_第4頁
基于COM + 的分布式可重構(gòu)信息系統(tǒng).pdf_第5頁
已閱讀5頁,還剩8頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、第4卷第3期2005年6月江南大學(xué)學(xué)報(自然科學(xué)版Journal of Southern Yangtze U niversity(N atural Science EditionVol.4No.3J un.2005文章編號:1671-7147(200503-0227-04收稿日期:2004-09-21;修訂日期:2004-10-09.基金項(xiàng)目:國家863計劃項(xiàng)目(2003AA412110;杭州市科技計劃項(xiàng)目(2003131E25資助課題.作者簡介:谷應(yīng)鯤(1979-,男,湖南耒陽人,控制理論與控制工程專業(yè)碩士研究生.3通訊聯(lián)系人:宋執(zhí)環(huán)(1962-,男,安徽合肥人,教授,博士生導(dǎo)師.主要從事基

2、于數(shù)據(jù)驅(qū)動的過程建模、控制與基于COM +的分布式可重構(gòu)信息系統(tǒng)谷應(yīng)鯤,宋執(zhí)環(huán)3,楊春節(jié)(浙江大學(xué)工業(yè)控制技術(shù)研究所,杭州310027摘要:提出了一種便于系統(tǒng)重構(gòu)的基于COM +的分布式3層架構(gòu),并把封裝了不同類型企業(yè)邏輯的COM +組件發(fā)布到該架構(gòu)中,當(dāng)業(yè)務(wù)流程變化時,重組或修改架構(gòu)中相應(yīng)組件實(shí)現(xiàn)系統(tǒng)重構(gòu).以庫存管理信息系統(tǒng)中采購入庫業(yè)務(wù)流程的重構(gòu)實(shí)例,驗(yàn)證了此重構(gòu)方法的可行性.關(guān)鍵詞:組件對象模型;分布式;3層架構(gòu);可重構(gòu)信息系統(tǒng)中圖分類號:TP 32文獻(xiàn)標(biāo)識碼:ADistributed R econf igurable Information System B ased on COM +

3、GU Ying 2kun ,SON G Zhi 2huan 3,YAN G Chun 2jie(Institute of Industrial Process Control ,Zhejiang University ,Hangzhou 310027,China Abstract :The variance of business p rocesses drives reconfiguration of information system.It is favorable for reconfiguratio n of information system to separate and en

4、cap sulate t he variable gene and t he stabile gene in a enterprise.The paper present s a dist ributed t hree 2layer Architect ure base on COM +t hat is convenient for system s reconfiguration ,p ublishes t he COM +t hat encap sulates different type enterprise logic in t he Architect ure when busine

5、ss process variates ,and reconfigure system t hrough recombining or modifying corresponding component in t he Architect ure.The reconfigurable met hod is proved to be feasible by reconfigurable example about p ut 2in business in inventory management.K ey w ords :COM +;distributed ;t hree 2layer arch

6、itect ure ;reconfigurable information system美國工業(yè)界認(rèn)為,基于組件的系統(tǒng)具有在分布式異構(gòu)計算環(huán)境下的互操作能力,因?yàn)樗缮⒌鸟詈虾湍K化組件可使制造系統(tǒng)對內(nèi)部或外部的各種擾動具有適應(yīng)性1.到目前為止,已提出的可重構(gòu)方法較多,如“ECA P ”2、“Holon ”3和“多Agent ”4等,然而各種方法的具體實(shí)現(xiàn)和應(yīng)用卻不多見.微軟在1999年末推出的Windows DNA(Dist ributed interNet Architect ure 是一個可擴(kuò)展的分布式、多層次、面向組件的企業(yè)應(yīng)用總體方案,該方案以COM +為核心.基于組件對象模型(COM

7、 +的分布式信息系統(tǒng)的可重構(gòu)體現(xiàn)為:當(dāng)企業(yè)中的業(yè)務(wù)流程發(fā)生變化時,系統(tǒng)中相應(yīng)的業(yè)務(wù)組件(COM +能夠重新組合而產(chǎn)生新的功能、過程或更高層次的整體.文中以醫(yī)藥企業(yè)中的庫存管理子系統(tǒng)為例,分析如何利用COM +和分布式對象技術(shù)完成可重構(gòu)信息系統(tǒng)的開發(fā).1COM +概述COM +作為基于M TS 和COM 擴(kuò)展的一組服務(wù),包含了負(fù)載平衡、對象池、隊列組件以及組件配置等.COM +的底層結(jié)構(gòu)仍以COM 為基礎(chǔ),但在應(yīng)用層則更多地繼承了M TS 的處理機(jī)制,包括M TS 的對象環(huán)境、安全模型、配置管理等.COM/DCOM/M TS/COM +服務(wù)的架構(gòu)如圖1所示5,6.為了使用COM +提供的這些服務(wù)

8、,首先需要創(chuàng)建一個組件對象;然后創(chuàng)建一個COM +應(yīng)用程序,再把要用的組件對象以即插即用的方式加到這個COM +應(yīng)用程序中;最后設(shè)置每個組件對象的屬性,指出該組件需要其執(zhí)行環(huán)境(即COM +應(yīng)用程序提供的服務(wù).這是一種面向?qū)傩缘木幊谭椒?開發(fā)人員可以專注于業(yè)務(wù)邏輯,而不是編程結(jié)構(gòu)和技巧, 這樣有利于軟件自身的重構(gòu).圖1COM/DCOM/MTS/COM +服務(wù)架構(gòu)Fig.1COM/DCOM/MTS/COM +server architecture2可重構(gòu)信息系統(tǒng)信息系統(tǒng)的可重構(gòu)性是指在系統(tǒng)原有軟件資源的基礎(chǔ)上,通過調(diào)整系統(tǒng)的結(jié)構(gòu)與功能使系統(tǒng)快速適應(yīng)需求變化的能力.可重構(gòu)信息系統(tǒng)包含了兩個核心概念

9、:“變化”和“重構(gòu)”.“變化”是“重構(gòu)”的來源和驅(qū)動力,“重構(gòu)”是對“變化”的響應(yīng).根據(jù)重構(gòu)所對應(yīng)的不同的抽象層次,可以把重構(gòu)按抽象層次由高到低分為業(yè)務(wù)過程重構(gòu)、設(shè)計重構(gòu)和實(shí)現(xiàn)重構(gòu)(即代碼重構(gòu).較高層次的重構(gòu)是較低層次重構(gòu)的來源和驅(qū)動,而較低層次的重構(gòu)是對較高層次重構(gòu)的支持和實(shí)現(xiàn)7.信息系統(tǒng)的重構(gòu)層次及支持技術(shù)如圖2所示.不同的軟件技術(shù)有著不同的解決方案,其重構(gòu)的機(jī)制也不同:面向?qū)ο?Oriented Object ,簡稱OO 技術(shù)利用對象的多態(tài)、組合以及設(shè)計模式等機(jī)制支持系統(tǒng)的重構(gòu);而組件化技術(shù)則通過組件在對應(yīng)框架上即插即用的軟總線技術(shù)實(shí)現(xiàn)應(yīng)用,再通過組件的演化、替換及重組等方式支持重構(gòu).

10、組件技術(shù)實(shí)質(zhì)上是一種更高層次的面向?qū)ο?圖2信息系統(tǒng)的重構(gòu)層次及支持技術(shù)Fig.2R econf igurable hierarchy model of inform ationsystem建立一個可重構(gòu)的信息系統(tǒng),包括3個步驟:1明確重構(gòu)的對象和基礎(chǔ),即分析企業(yè)運(yùn)營活動中的組成因子,對經(jīng)常變化的因子和基本不變的因子加以分類,并在軟件中進(jìn)行抽象、表達(dá);2分析可重構(gòu)信息系統(tǒng)的實(shí)現(xiàn)技術(shù),找到一種適合于可重構(gòu)信息系統(tǒng)的軟件體系架構(gòu),并將可重構(gòu)對象在已確定體系架構(gòu)中進(jìn)行合理組合和分布;3建立信息系統(tǒng)可重構(gòu)軟件的架構(gòu),并創(chuàng)建架構(gòu)中的可重構(gòu)對象.3基于COM +的3層分布式架構(gòu)圖3是目前常用的3 層架構(gòu).

11、圖3目前常用的3層架構(gòu)Fig.3The Popular Three 2layer Architecture這種架構(gòu)具有企業(yè)邏輯獨(dú)立、數(shù)據(jù)安全性好、負(fù)載均衡等優(yōu)點(diǎn).然而,透視企業(yè)業(yè)務(wù)活動本質(zhì)特征可以發(fā)現(xiàn),企業(yè)中經(jīng)常變化的部分主要在其業(yè)務(wù)流程方面,而基本不變的則是其制造資源(如物料、人員、設(shè)備等和為完成業(yè)務(wù)流程所涉及的一系列有序活動/功能(具有“原子性”,如采購入庫時,對入庫表單的“插入”功能8.但是圖3中這種架構(gòu)的業(yè)務(wù)服務(wù)層在封裝企業(yè)活動中的各種企業(yè)邏輯時,822江南大學(xué)學(xué)報(自然科學(xué)版第4卷并未根據(jù)各種企業(yè)邏輯的不同特點(diǎn)進(jìn)行分離和進(jìn)一步的封裝.其結(jié)果導(dǎo)致各種企業(yè)邏輯相互交錯,當(dāng)企業(yè)邏輯中的部分

12、甚至一小部分發(fā)生變化時,整個業(yè)務(wù)服務(wù)層中受牽連的模塊都需要重新修改以支持重構(gòu)的業(yè)務(wù),這樣不利于軟件的維護(hù)和重用.為了改善這一狀況,文中在常用的3層架構(gòu)的基礎(chǔ)上提出基于COM +的分布式3層架構(gòu)(見圖4 .圖4基于COM +的分布式3層架構(gòu)Fig.4Distributed three 2layer architecture b ased onCOM +其中,3個層次的功能分別為:1用戶表示層:處理與用戶交互的所有功能.提供可視化的用戶界面,把用戶的操作轉(zhuǎn)化為對業(yè)務(wù)接口的調(diào)用,并將結(jié)果返回客戶.2業(yè)務(wù)服務(wù)層(應(yīng)用服務(wù)器:運(yùn)行在COM +執(zhí)行環(huán)境中,可配置各組件的屬性.(1業(yè)務(wù)邏輯組件:根據(jù)企業(yè)業(yè)務(wù)

13、間的相關(guān)性,把企業(yè)邏輯劃分為多個企業(yè)對象(如系統(tǒng)管理、單一查詢、庫存管理、綜合查詢和呆滯庫存分析等,每個企業(yè)對象即為一個COM +組件;(2數(shù)據(jù)訪問組件:主要封裝各類應(yīng)用數(shù)據(jù)請求并產(chǎn)生相應(yīng)更新SQL 語句.把對數(shù)據(jù)庫訪問功能做成一個COM +組件,負(fù)責(zé)每個業(yè)務(wù)邏輯組件對數(shù)據(jù)庫檢索和更新.3數(shù)據(jù)服務(wù)層(即數(shù)據(jù)庫服務(wù)器:存儲并管理企業(yè)數(shù)據(jù).在應(yīng)用文中提出的3層架構(gòu)建立可重構(gòu)信息系統(tǒng)時,首先采用組件技術(shù)標(biāo)識企業(yè)活動中的基本不變部分和經(jīng)常變動部分,然后把這兩部分分別封裝(基本不變部分封裝成“數(shù)據(jù)訪問組件”,經(jīng)常變動部分封裝成“企業(yè)邏輯組件”,并采用分布式對象計算模型將每個組件發(fā)布到中間層的應(yīng)用服務(wù)器上

14、.當(dāng)流程變化時,在業(yè)務(wù)服務(wù)層上修改或重新組合相關(guān)組件(這種操作獨(dú)立于客戶端,由客戶調(diào)用相應(yīng)組件的實(shí)例,實(shí)現(xiàn)流程的重構(gòu).4重構(gòu)實(shí)例應(yīng)用圖4的基于COM +的3層架構(gòu),結(jié)合某企業(yè)庫存管理系統(tǒng)中采購入庫流程實(shí)例,具體說明當(dāng)流程發(fā)生變化時,重新整合企業(yè)服務(wù)層中的COM +組件,以實(shí)現(xiàn)軟件的重構(gòu).該庫存管理系統(tǒng)采用3層架構(gòu),即用戶表示層、企業(yè)服務(wù)層和數(shù)據(jù)服務(wù)層.用戶表示層是用Delp hi6.0開發(fā)的一個瘦客戶端;應(yīng)用服務(wù)層由一系列運(yùn)行在COM +執(zhí)行環(huán)境中的COM +組件(包括企業(yè)邏輯組件和數(shù)據(jù)訪問組件組成;數(shù)據(jù)服務(wù)層是由數(shù)據(jù)庫SQL Server2000進(jìn)行存儲和管理的企業(yè)數(shù)據(jù).與業(yè)務(wù)服務(wù)層和采購入

15、庫流程相關(guān)的COM +組件如圖5所示.圖5和采購入庫流程相關(guān)的COM +組件Fig.5COM +components correlative with buy 2in flow各組件功能分別為:1數(shù)據(jù)訪問組件:(1Pt dmInvenInMaster.td 2mInvenInMaster 用于訪問采購入庫單中的主單據(jù);(2Pt dmInvenInDetail.t dmInvenInDetail 用于訪問采購入庫單中的明細(xì)單據(jù);(3Pt dmInven 2Rcv K ind.t dmInvenRcv K ind 用于訪問和采購入庫有關(guān)的收發(fā)類別;(4Pt dmInvenSupplier.t dm

16、In 2venSupplier 用于訪問采購入庫中的供應(yīng)商;(5Pt dmInvenSubCorp.t dmSubCorp 用于訪問發(fā)生采購入庫業(yè)務(wù)所在的子公司;(6Pt dmU8Account.t dmU8Account 用于訪問和采購入庫業(yè)務(wù)相關(guān)的財務(wù)帳套;(7Pt dmWare 2House.t dmWare House 用于訪問發(fā)生采購入庫業(yè)務(wù)所在的倉庫;(8Pt dmInvenU ser.t dmInve 2nU ser 用于訪問倉庫部門的人員.(以上COM +均支持事務(wù)2企業(yè)邏輯組件:(1PtoQueryInvenIn.to 2QueryInvenIn 即調(diào)用數(shù)據(jù)訪問組件獲得采購入

17、庫業(yè)務(wù)發(fā)生時所需的所有信息(支持事務(wù);(2Pto 2922第3期谷應(yīng)鯤等:基于COM +的分布式可重構(gòu)信息系統(tǒng)QueryInvenU ser.toQueryInvenU ser調(diào)用組件Pt d2 mInvenU ser.tdmInvenU ser即獲得可以登錄庫存系統(tǒng)的人員列表,并在登陸后對登陸人員的權(quán)限進(jìn)行設(shè)置(支持事務(wù);(3PtoUpateInvenIn.toUp2 dateInvenIn即調(diào)用數(shù)據(jù)訪問組件對采購入庫單的主單據(jù)和明細(xì)單據(jù)進(jìn)行更新,添加、刪除、修改操作(需要事務(wù).在項(xiàng)目實(shí)施初期,倉庫部門和其他部門相對較為獨(dú)立,僅需把所有的采購入庫單錄入系統(tǒng)中,能提供查詢統(tǒng)計功能即可,無需和倉

18、庫部門的上游(供應(yīng)部門以及下游(生產(chǎn)部門發(fā)生數(shù)據(jù)的交互.此時,數(shù)據(jù)訪問組件和企業(yè)邏輯組件已能很好地完成相應(yīng)的業(yè)務(wù).但是,隨著企業(yè)管理制度的日趨完善,倉庫部門和供應(yīng)部門的信息需要交互,倉庫部門的每一筆采購入庫業(yè)務(wù)必須以供應(yīng)部門的訂單為依據(jù),即采購入庫單中的供應(yīng)商、入庫物料、入庫數(shù)量等信息必須和供應(yīng)部門的采購訂單相吻合.對于采購入庫流程的變動,首先增加一個數(shù)據(jù)訪問組件Pt d2 mOrder.t dmOrder,用以訪問供應(yīng)管理系統(tǒng)中的采購訂單;然后在企業(yè)邏輯組件PtoQueryInvenIn.to2 QueryInvenIn中加入對Pt dmOrder.t dmOrder的調(diào)用,以獲得供應(yīng)部門采

19、購訂單的數(shù)據(jù);最后,修改企業(yè)邏輯組件PtoUpateInvenIn.toUp dateInvenIn,把查詢到的采購訂單中的部分敏感數(shù)據(jù)自動導(dǎo)入采購入庫單中,并予以鎖定.這樣只要加入一個數(shù)據(jù)訪問組件,同時局部修改兩個企業(yè)邏輯組件,就完成了業(yè)務(wù)流程的軟件重構(gòu).重構(gòu)后的系統(tǒng)保證了采購訂單和采購入庫單中敏感數(shù)據(jù)的一致性,同時也大幅度減少了采購入庫單的輸入量.實(shí)現(xiàn)上述重構(gòu)后,供應(yīng)部門(采購訂單的制定者提出了希望能夠監(jiān)測到每個采購訂單的執(zhí)行情況.即及時獲取每個采購訂單已經(jīng)到貨且入庫的數(shù)量和到貨時間等信息,以便為其下筆采購訂單的制定以及供應(yīng)商評價等業(yè)務(wù)提供依據(jù).對于采購入庫流程中功能擴(kuò)展的需求,首先添加一

20、個數(shù)據(jù)訪問組件Pt dmInvenInMsg.t dmInvenInMsg,用以給供應(yīng)部門發(fā)送某采購訂單到貨的消息,即把每一筆采購入庫業(yè)務(wù)中供應(yīng)部門關(guān)心的數(shù)據(jù)以消息的方式實(shí)時地通知供應(yīng)部門;然后修改企業(yè)邏輯組件PtoUpateInvenIn.toUp dateInvenIn,在添加(修改、刪除了一張采購入庫單的同時,調(diào)用數(shù)據(jù)訪問組件PtdmInvenInMsg.t dmInvenInMsg把相關(guān)數(shù)據(jù)以消息形式通知供應(yīng)部門.這樣僅增加一個數(shù)據(jù)訪問組件,同時局部修改一個企業(yè)邏輯組件就完成了新需求的軟件重構(gòu).重構(gòu)后的系統(tǒng),由于企業(yè)邏輯組件PtoUpateInvenIn.toUpdateInvenIn被設(shè)置成“需要事務(wù)”,而被調(diào)用的數(shù)據(jù)訪問組件Pt dmInven2 InMaster.t dmInvenInMaster、Pt dmInven2InDetail. t dmInvenInDetail和Pt dmInvenInMsg.t dmInven2 InMsg被設(shè)置成“支持事務(wù)”,因此,添加采購入庫單(包括主單據(jù)和明細(xì)單據(jù)和將到貨信息通知供應(yīng)部門這兩個業(yè)務(wù)實(shí)際上是在一個事務(wù)中處理,從而保證了數(shù)據(jù)在倉庫部門和供應(yīng)部門的完整性和一致性.5結(jié)論1企業(yè)流程的變更是信息系統(tǒng)重構(gòu)的原因和驅(qū)動,企業(yè)運(yùn)營過程

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論