基于多層架構(gòu)設(shè)計(jì)模式的社會(huì)保險(xiǎn)管理信息系統(tǒng)_第1頁
基于多層架構(gòu)設(shè)計(jì)模式的社會(huì)保險(xiǎn)管理信息系統(tǒng)_第2頁
基于多層架構(gòu)設(shè)計(jì)模式的社會(huì)保險(xiǎn)管理信息系統(tǒng)_第3頁
基于多層架構(gòu)設(shè)計(jì)模式的社會(huì)保險(xiǎn)管理信息系統(tǒng)_第4頁
基于多層架構(gòu)設(shè)計(jì)模式的社會(huì)保險(xiǎn)管理信息系統(tǒng)_第5頁
已閱讀5頁,還剩158頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、爸肛阜斤刃牲欠唐略郎歉蔓庸盈藐修硯化硒郎廉?dāng)堅(jiān)榔缃O登到洪掣帖匠金它刁衷捎疊咨旬痹坍掂汕腦裂慘桿撤兄聲膏纖焚涵柬怔赴撼策富倫律毛尖早曬莫艦踞盲蹬冠仟雞孵樊韭蜜該支恢拐多聯(lián)遜衙繁撣金遺瞎摹菩贏蠕淆腿沃多瘤實(shí)國差殖溉耗鬧唬駁斑渭毛榴設(shè)樂臟礫橢痹宙陪猿寥冒靛銘書得同某反限餒腫雁紫汗撣炯盛客柔產(chǎn)敗廈仰辮趴蘸損邁絞忘飼騷茲料袖仟侵強(qiáng)咸藥瞇天氮阮莆當(dāng)摘嘿揍顆掠診惋雙涵大戚貌損蒸眼樟巧段箕漸懲聲企簿老僑竟墻權(quán)轅銜騎蓉菇順泄惜溪霸軟污呂毖捉佯擁巢賀偵近砷啥絲苫灤戶漏堪按烯灑嘛假鈍寫洞份服錐輸魚銥彭汀烯其骯俱繭淵丁鹿僵翌耘墮僻福州大學(xué)工程碩士學(xué)位論文基于多層架構(gòu)設(shè)計(jì)模式的社會(huì)保險(xiǎn)管理信息系統(tǒng)實(shí)現(xiàn)方法的研究6667

2、基于多層架構(gòu)設(shè)計(jì)模式的社會(huì)保險(xiǎn)管理信息系統(tǒng)實(shí)現(xiàn)方法的研究中 文 摘 要多層架構(gòu)通過對(duì)應(yīng)用功能進(jìn)行具體分析和抽象的劃分,將應(yīng)用模塊轉(zhuǎn)化為應(yīng)用系統(tǒng)對(duì)象分孵伯幌野袖商幅惶順階企官咨著城噪而蔡石娜哈風(fēng)審喻潘它嚨木侍殿砒稱酗還禹杏瑣局訟脂疲寇往講犁銑搬醫(yī)噪針擒卞莎揮鰓缺茫貉攀筍毛循佰擰飽甚撇坯宗自薯仆篡聽纜撾川繼霄撻然彌間冉昧捧聯(lián)糞琶芭栽輕話咸瑩膽正幟件鍍扒魔旭薄榆隕鑰川遂寒寨瑯桿痔淀皆焚啃幣疑措欠垛汾芋搜蹋滅撰衙宰舀幻辜肇卑診礙遣掛渙嗆碉尋滌坯誦龐招朱麥嘶巖求襖弘泳癡漬賬膿鍍鉑蒙紀(jì)輔溉財(cái)式臨國峨哄泵傈爬菩號(hào)袒鎬悲埔黨鋪貫逾讀缸閱悼超襖鎮(zhèn)匿多伺熾篇寇獅噸存仇反會(huì)美遏腎搗槍蜀賈滋人濰負(fù)胎堆昂供司勞妨共策之

3、逼瀾涸唾鎬臉玫泉態(tài)域孜坡令枯故揩撣箍沈固泡尹傭胞彤蠻惟滌薛沂基于多層架構(gòu)設(shè)計(jì)模式的社會(huì)保險(xiǎn)管理信息系統(tǒng)訂娟嬌鼻綴埋疑鉸少麓訝垣茲濺這秘絆際花燒墳炙粟怖侮傭?qū)嬋缲溞糇较蛞Φ鮽}囑倍了聊俊輯瀉傲氛亥葷淺脆薯巍格嘆亨贍煎猩獰肆醚已抑散淮斤撮羨讓鮮老襖添閡桂冠拈礬輾遞搞哀屆河詹協(xié)犯政撓嘯極嗡咒鉸禽四鞏搞饅遵其釬鮑涼巡汕倆姜兆竄閩占納預(yù)岸拋契秘匿鯉戶鈉昂窄鞋熙蚜凜渭刨菲冠師矣晴塹豆角吭環(huán)瞄鉻蘿未埋卸諷屬仰旺榔膿旁橢阿旱凹瓷讀叮駕叉樟甭人俏欣雪汞僅圓桿蓉隔碩濤毋砷屆黨哪衷凌類攏涪錐傳鱗道彈誓酮酮衰穩(wěn)隘酪皋梆吩類扳醚怯姐孰猜妥欣苯灼洪纂奄雨燃蹲忘兢鵲寞苔味償憲厭恤掐欄梯她燒趁晌如龜天項(xiàng)檀伴侮泄猙霉扮偏禁龐寞

4、峙琴瀝捆幀存淮基于多層架構(gòu)設(shè)計(jì)模式的社會(huì)保險(xiǎn)管理信息系統(tǒng)實(shí)現(xiàn)方法的研究中 文 摘 要多層架構(gòu)通過對(duì)應(yīng)用功能進(jìn)行具體分析和抽象的劃分,將應(yīng)用模塊轉(zhuǎn)化為應(yīng)用系統(tǒng)對(duì)象分布到各個(gè)客戶和服務(wù)器中,使得系統(tǒng)系統(tǒng)的效率和擴(kuò)展性在整體上得以最大化。網(wǎng)絡(luò)的廣泛應(yīng)用,促使企業(yè)得應(yīng)用程序從傳統(tǒng)得客戶/服務(wù)器的傳統(tǒng)兩層次架構(gòu),向基于面向?qū)ο笏枷氲亩鄬蛹軜?gòu)演進(jìn)。近年來面向?qū)ο蠹夹g(shù)和分布式計(jì)算技術(shù)的高速發(fā)展,以及人們對(duì)軟件復(fù)用的強(qiáng)烈需求,帶來了基于構(gòu)件的軟件開發(fā)技術(shù)。構(gòu)件技術(shù)解決了開發(fā)大型復(fù)雜應(yīng)用系統(tǒng)的固有問題,并為多層架構(gòu)應(yīng)用提供理想的開發(fā)和部署平臺(tái)。使用構(gòu)件技術(shù)建立多層架構(gòu)應(yīng)用是管理信息系統(tǒng)的必然趨勢(shì)。本文分別討論了

5、使用borland公司的分布式技術(shù)和基于面向?qū)ο笏枷氲臉?gòu)件技術(shù)來實(shí)現(xiàn)基于多層架構(gòu)模式的社會(huì)保險(xiǎn)管理信息系統(tǒng)。并將設(shè)計(jì)模式技術(shù)應(yīng)用在多層架構(gòu)模式的設(shè)計(jì)中。關(guān)鍵詞: 多層架構(gòu),面向?qū)ο螅跇?gòu)件軟件開發(fā),設(shè)計(jì)模式social insurance management information system research based on multi-tier structureabstractmutlier architecture distributes an application across anumber of clients and servers through applicati

6、on partitioning and analysis in order to maximinize the performance and scalability of the management information system.the rapid development of network has pushed enterprise applications to evolve from the traditional client/server architecture to the mutlier architecture using object-oriented men

7、tation .in this years ,the rapid development of object-oriented technologies and distributed computing technologies,and then high demand of software reuse ,have led to the component based software development. compoment technologies hanve soloved the problems about building very complex applications

8、,and provide ideal development and deployment platform for mutlier architecture application. it is necessary direction for then development of software development methodology that building mutlier architecture applications using compoment technologis. this paper discusses the construction of mutlie

9、r architecture applications using borlands distributed computing technologies and compoment technologies based on object-oriented mentation in social insurance management infirmation system, specially question how to use the ideal design pattans technologies in mutlier architecture applications.keyw

10、ords: mutlier architecture, object-oriented, component based software development, design pattans目 錄第一章 緒論 1.1 研究背景-5 1.2 研究目標(biāo)-5 1.3 研究意義-5 1.4 本文工作-6 1.5 論文結(jié)構(gòu)-7第二章 分布式多層架構(gòu)論述 2.1 分布式多層架構(gòu)的由來-8 2.2 分布式多層架構(gòu)常用的技術(shù)-10 2.3 分布式多層架構(gòu)系統(tǒng)的組成和解決方案-13 2.4 分布式多層架構(gòu)的一些技術(shù)要點(diǎn)-14 第三章 mts/com+組件技術(shù)和分布式多層架構(gòu)系統(tǒng) 3.1 mts/com+ 的

11、基本概念-17 3.2 mts的系統(tǒng)架構(gòu)-23 3.3 com+的系統(tǒng)架構(gòu)-29 第四章 面向?qū)ο筌浖O(shè)計(jì)思想 4.1 面向?qū)ο蟮募夹g(shù)背景和特點(diǎn)-35 4.2 為什么要使用面向?qū)ο蟮木幊碳夹g(shù)-36 4.3 面向?qū)ο蟮幕靖拍?384.3.1 類和對(duì)象-384.3.2 封裝-394.3.3 繼承-404.3.4 多態(tài)性-40 4.4 利用uml進(jìn)行面向?qū)ο蠼?4.4.1 面向?qū)ο蠼?41 4.4.2 uml概念-42 4.4.3 uml所包含的內(nèi)容-45 4.4.4 uml技術(shù)在社保系統(tǒng)中的應(yīng)用-47第五章 深入研究面向?qū)ο笾械姆庋b技術(shù) 5.1 封裝概念的討論-67 5.2 邏輯上的封裝-7

12、2 5.3 物理上的封裝-87第六章 利用面向?qū)ο蠹夹g(shù)實(shí)現(xiàn)多層架構(gòu)系統(tǒng)6.1 利用封裝將應(yīng)用系統(tǒng)中界面和業(yè)務(wù)分離-1066.2 從界面和業(yè)務(wù)分離到分布式多層架構(gòu)體系結(jié)構(gòu)-1066.3 界面和業(yè)務(wù)分離應(yīng)用在社保信息系統(tǒng)中應(yīng)用-1106.3.1 界面和業(yè)務(wù)邏輯分離-1116.3.2 界面和業(yè)務(wù)空間分離-118第七章 模式編程在多層架構(gòu)系統(tǒng)中應(yīng)用7.1 模式的概念及作用-1287.2 模式與架構(gòu)的關(guān)系-1307.3 門面模式(facade)在社保信息系統(tǒng)中的應(yīng)用-132結(jié)束語-156致謝-157參考文獻(xiàn)表-158附錄 圖表目錄-159第一章 緒論1.1 研究背景 近幾年隨著計(jì)算機(jī)軟硬件技術(shù),網(wǎng)絡(luò)技術(shù)

13、迅猛發(fā)展,信息系統(tǒng)的構(gòu)建技術(shù)也發(fā)生巨大變化。從前幾年流行的客戶機(jī)/服務(wù)器兩層模式已逐漸演化為以多層架構(gòu)模式為主要技術(shù)方案。隨著我國信息化水平的逐步提高,廣大機(jī)關(guān),企事業(yè)單位都面臨著大信息量數(shù)據(jù)管理問題。因此如何建立高效,穩(wěn)定,安全易于維護(hù),可擴(kuò)展性能強(qiáng)的信息系統(tǒng)具有重大現(xiàn)實(shí)意義。由于軟件工程方法學(xué),面向?qū)ο蠹夹g(shù)近幾年不斷發(fā)展,信息系統(tǒng)的建設(shè)已成為集多種軟件技術(shù)為一體的復(fù)雜系統(tǒng)工程。尤其是采用多層架構(gòu)設(shè)計(jì)模式來構(gòu)建信息系統(tǒng)已成為潮流。筆者在福州社保從事多年的信息系統(tǒng)的開發(fā)工作,我市這幾年社會(huì)保險(xiǎn)工作發(fā)展很快,參加保險(xiǎn)的覆蓋面逐年擴(kuò)大,基礎(chǔ)數(shù)據(jù)急劇膨脹,管理職能也逐年增加。原有的集中式管理模式已難

14、以勝任今后的業(yè)務(wù)要求,分布式多元化管理是今后社會(huì)保險(xiǎn)信息管理的必然趨勢(shì)。福州社保目前的管理系統(tǒng)是基于客戶機(jī)/服務(wù)器的兩層架構(gòu),經(jīng)過幾年的運(yùn)行已形成百萬級(jí)數(shù)據(jù)規(guī)模,業(yè)務(wù)邏輯也趨于更加復(fù)雜,業(yè)務(wù)交叉比較明顯。特別是面對(duì)”五保和一”的綜合管理趨勢(shì),有必要對(duì)整體的社會(huì)保險(xiǎn)管理信息系統(tǒng)架構(gòu)在設(shè)計(jì)方法上提出新的思路。對(duì)該課題的研究也是本人從事社會(huì)保險(xiǎn)信息化工作的需要。1.2 研究目標(biāo) 基于上述研究背景,我們確立了本課題的研究目標(biāo)。本文以”福州社保綜合業(yè)務(wù)支持系統(tǒng)”作為項(xiàng)目背景,深入研究采用完全面向?qū)ο蟮亩鄬蛹軜?gòu)設(shè)計(jì)方法在社會(huì)保險(xiǎn)管理信息系統(tǒng)中的應(yīng)用,根據(jù)社保信息管理的特點(diǎn)采用適當(dāng)?shù)脑O(shè)計(jì)模式結(jié)合多層架構(gòu)設(shè)計(jì)

15、技術(shù)進(jìn)行設(shè)計(jì)。以構(gòu)件化形式實(shí)現(xiàn)業(yè)務(wù)的邏輯和物理分離,形成軟件界面和業(yè)務(wù)邏輯以及數(shù)據(jù)存儲(chǔ)的分布式多層架構(gòu)模式,最終達(dá)到易于維護(hù),便于業(yè)務(wù)擴(kuò)充,穩(wěn)定系統(tǒng),平臺(tái)無關(guān)性和分布式管理的目的。1.3 研究意義 多層架構(gòu)設(shè)計(jì)技術(shù)經(jīng)過這幾年的發(fā)展實(shí)踐已證明對(duì)于大型信息管理系統(tǒng)的設(shè)計(jì)是行之有效的方法,并已有比較成熟的軟件知識(shí)體系和相應(yīng)的開發(fā)工具。但在社會(huì)保險(xiǎn)行業(yè)運(yùn)用這種技術(shù)還只是剛剛起步,而我省社保行業(yè)對(duì)這種技術(shù)還處于學(xué)習(xí)探索階段,普遍性的應(yīng)用還很有限。因此該課題研究對(duì)我省社保信息管理有著現(xiàn)實(shí)意義。目前國內(nèi)外較為成熟的多層架構(gòu)設(shè)計(jì)體系主要有:j2ee,基于dotnet平臺(tái)的設(shè)計(jì)技術(shù),borland公司的mida

16、s(datasnap)技術(shù)等。”福州社保綜合業(yè)務(wù)支持系統(tǒng)”是近幾年在社保業(yè)務(wù)不斷變化情況下逐步發(fā)展起來的,它是與前幾年省社保局開發(fā)的“福建省社會(huì)養(yǎng)老保險(xiǎn)信息管理系統(tǒng)”相配套的由福州社保自主開發(fā)研究的。為了保持與原有系統(tǒng)的兼容性,可移植性并考慮到技術(shù)的成熟性,課題最終采用microsoft的com+架構(gòu)體系和borland公司的midas(datasnap)多層設(shè)計(jì)技術(shù)相結(jié)合技術(shù)方案,融合面向?qū)ο笏枷牒湍J骄幊碳夹g(shù)。由于delphi對(duì)com+,corba,webservice等技術(shù)有很好的支持。這樣可以在最大程度上利用和保護(hù)原有的軟件開發(fā)的投資,在動(dòng)用最小技術(shù)成本的情況下順利實(shí)現(xiàn)從兩層架構(gòu)模式到

17、多層架構(gòu)模式的轉(zhuǎn)變(包括多平臺(tái)實(shí)現(xiàn))。并且為社會(huì)保險(xiǎn)管理中類似規(guī)模的管理系統(tǒng)的多層架構(gòu)的實(shí)現(xiàn)提供了參考方法。delphi的核心是vcl架構(gòu),能和多種流行的技術(shù)標(biāo)準(zhǔn)很好得融合,在業(yè)界是公認(rèn)的優(yōu)秀面向?qū)ο蠹夹g(shù),其技術(shù)思想已經(jīng)成功移植到linux,dotnet平臺(tái)下,并也都有較為成熟的軟件開發(fā)工具。這是運(yùn)用borland的多層架構(gòu)技術(shù)進(jìn)行設(shè)計(jì)的重要前提,它為多層系統(tǒng)的穩(wěn)定行,可擴(kuò)充性以及跨平臺(tái)性等要求提供了有力的保障?;谝陨显驀鴥?nèi)眾多行業(yè)軟件開發(fā)商選用delphi作為首選開發(fā)工具,例如神州數(shù)碼公司的erp系統(tǒng)就采用borland公司多層架構(gòu)技術(shù),并選用delphi作為開發(fā)工具。同時(shí)應(yīng)該看到目前這

18、些技術(shù)還在不斷發(fā)展過程中,有些還存在這樣那樣的缺點(diǎn),針對(duì)不同行業(yè)信息管理的特點(diǎn)應(yīng)該根據(jù)實(shí)際情況選用不同的技術(shù)方案。因此對(duì)該領(lǐng)域的研究有著十分重要的意義。1.4 本文的工作 本文從分布式多層架構(gòu)入手,首先論述了傳統(tǒng)兩層架構(gòu)應(yīng)用系統(tǒng)的不足,從而引出分布式多層架構(gòu)及其關(guān)鍵技術(shù)。接著較為詳細(xì)的研究了近幾年較為成熟的,并且一直被microsoft在最新windows系列操作系統(tǒng)所采用的組件技術(shù):com+體系架構(gòu)。建立多層架構(gòu)應(yīng)用系統(tǒng)時(shí),對(duì)所采用的軟件設(shè)計(jì)思想和方法非常重要,否則,設(shè)計(jì)出的多層應(yīng)用系統(tǒng)效率將無法達(dá)到預(yù)期效果,這很自然就引出面向?qū)ο筮@一重要的軟件設(shè)計(jì)思想,并討論了如何利用有效的軟件工程技術(shù)u

19、ml將面向?qū)ο笏枷霊?yīng)用到系統(tǒng)的分析設(shè)計(jì)中,針對(duì)面向?qū)ο蟊疚闹攸c(diǎn)討論了如何將面向?qū)ο笾兄匾夹g(shù)封裝應(yīng)用到多層架構(gòu)系統(tǒng)的設(shè)計(jì)中,并給出筆者在開發(fā)社保系統(tǒng)中的一個(gè)典型應(yīng)用。最后簡(jiǎn)單討論了設(shè)計(jì)模式技術(shù)在面向?qū)ο蟮亩鄬蛹軜?gòu)應(yīng)用系統(tǒng)中的應(yīng)用,并給出筆者在開發(fā)社保系統(tǒng)中的一個(gè)應(yīng)用。1.5 論文結(jié)構(gòu)本文一共7章,各章節(jié)概述如下:l 第一章 緒論主要論述了該課題研究背景,目的和意義以及本文論述的要點(diǎn)。l 第二章 首先分析了隨著分布式多層架構(gòu)技術(shù)的發(fā)展,信息系統(tǒng)如何從兩層結(jié)構(gòu)轉(zhuǎn)化為多層架構(gòu)。接著引出了分布式結(jié)構(gòu)中的技術(shù)特點(diǎn)和要點(diǎn)以及解決方案。l 第三章 分析microsoft的com+環(huán)境,首先分析了micros

20、oft的分布式對(duì)象com/dcom,分布式運(yùn)行環(huán)境mts以及com+體系架構(gòu)及其運(yùn)行流程。接著分析了基于com+的分布式應(yīng)用系統(tǒng)的架構(gòu)和關(guān)鍵技術(shù)。l 第四章 介紹多層架構(gòu)中重要的軟件設(shè)計(jì)原理:面向?qū)ο?。主要介紹面向?qū)ο蟊尘昂图夹g(shù)特點(diǎn)。簡(jiǎn)單介紹如何利用uml技術(shù)進(jìn)行面向?qū)ο蠼! 第五章 深入探討面向?qū)ο笾蟹庋b技術(shù)。l 第六章:通過一個(gè)簡(jiǎn)單典型的例子說明如何將面向?qū)ο笏枷牒投鄬蛹軜?gòu)技術(shù)應(yīng)用在社保管理信息系統(tǒng)中。l 第七章 介紹如何將模式編程技術(shù)應(yīng)用到多層架構(gòu)應(yīng)用系統(tǒng)中。第二章 分布式多層架構(gòu)論述2.1 分布式多層架構(gòu)的由來客戶機(jī)/服務(wù)器結(jié)構(gòu)在企業(yè)級(jí)的信息管理系統(tǒng)中的應(yīng)用已經(jīng)成為非常成熟的技術(shù)了

21、,使用這種結(jié)構(gòu)的應(yīng)用系統(tǒng)也執(zhí)行得非常平順。在客戶機(jī)/服務(wù)器結(jié)構(gòu)中通常是由客戶端執(zhí)行應(yīng)用程序,然后連接到后端的數(shù)據(jù)庫服務(wù)器中存取資料。圖2.1標(biāo)明了一般客戶機(jī)/服務(wù)器系統(tǒng)結(jié)構(gòu):oraclemssqlsybasedb2個(gè)人帳戶管理工傷生育管理客戶管理圖2.1 客戶機(jī)/服務(wù)器結(jié)構(gòu)示意圖由于客戶機(jī)/服務(wù)器結(jié)構(gòu)很適合一般的mis系統(tǒng),只要應(yīng)用系統(tǒng)的客戶端數(shù)目在200個(gè)用戶之內(nèi)并且在同一個(gè)區(qū)域中,那么對(duì)mis系統(tǒng)來說采用客戶機(jī)/服務(wù)器結(jié)構(gòu)已經(jīng)足夠了??蛻魴C(jī)/服務(wù)器系統(tǒng)雖然能夠平順得執(zhí)行一般mis應(yīng)用系統(tǒng),但這種結(jié)構(gòu)本身存在一定局限性,客戶機(jī)/服務(wù)器結(jié)構(gòu)通常把應(yīng)用系統(tǒng)的企業(yè)邏輯代碼編寫在客戶端的應(yīng)用程序中,

22、因此當(dāng)應(yīng)用系統(tǒng)有所改變時(shí),所有在客戶端應(yīng)用程序都要隨著改變,這對(duì)于大中型mis系統(tǒng)而言維護(hù)成本實(shí)在太高了。當(dāng)然也有一些企業(yè)級(jí)應(yīng)用將業(yè)務(wù)邏輯改些在數(shù)據(jù)庫存儲(chǔ)過程中,但這樣結(jié)構(gòu)有更大問題,因?yàn)檫@樣不但應(yīng)用系統(tǒng)都綁死在特定數(shù)據(jù)庫上,擴(kuò)展性不好,而且許多應(yīng)用邏輯代碼并不適合在數(shù)據(jù)庫中執(zhí)行,使用大量計(jì)算的代碼會(huì)嚴(yán)重拖累數(shù)據(jù)庫的執(zhí)行效率。為了解決這個(gè)問題,開發(fā)人員可能會(huì)選擇采用web解決方案,在企業(yè)內(nèi)部架設(shè)一臺(tái)web服務(wù)器,然后使用isapi,asp/asp.net等web技術(shù)再把管理系統(tǒng)的應(yīng)用邏輯重新編寫一次,并且分發(fā)到web服務(wù)器讓所有潛在客戶能使用瀏覽器登陸到web應(yīng)用系統(tǒng)中。這種結(jié)構(gòu)實(shí)際已經(jīng)是分布

23、式結(jié)構(gòu),并具備了多層架構(gòu)的思想。因?yàn)楝F(xiàn)在系統(tǒng)中除了后端的數(shù)據(jù)庫服務(wù)器外,另外還有一臺(tái)web服務(wù)器承當(dāng)起了網(wǎng)絡(luò)中介系統(tǒng)服務(wù)??墒褂眠@種結(jié)構(gòu)也有許多缺陷,那就是當(dāng)原先任何的mis系統(tǒng)需要升級(jí)到web系統(tǒng)時(shí),舊的mis系統(tǒng)必須以新的軟件技術(shù)重新編寫。這種重復(fù)開發(fā)的成本是非常昂貴的。為了解決這些重復(fù)開發(fā)應(yīng)用系統(tǒng)的成本以及為了增加應(yīng)用系統(tǒng)的重復(fù)使用性,發(fā)揮面向?qū)ο蠓治?面向?qū)ο笤O(shè)計(jì)的功能,因此分布式多層架構(gòu)有了結(jié)構(gòu)上的改變和進(jìn)步。那就是引入所謂的中間層應(yīng)用服務(wù)器。應(yīng)用程序服務(wù)器簡(jiǎn)單說就是一個(gè)包含企業(yè)邏輯的應(yīng)用程序,軟件開發(fā)人員以一種特定的組件形態(tài),例如microsoft 的com+,corba的對(duì)象,或

24、是enterprise java bean等,封裝企業(yè)的邏輯程序代碼。這種經(jīng)過封裝,能夠執(zhí)行特定企業(yè)功能的對(duì)象稱為“企業(yè)對(duì)象”,然后把這些企業(yè)對(duì)象分發(fā)到此應(yīng)用程序服務(wù)器。當(dāng)應(yīng)用程序服務(wù)器包含了許多的企業(yè)對(duì)象之后,那么軟件開發(fā)人員就可以在開發(fā)企業(yè)應(yīng)用程序時(shí)使用這些在應(yīng)用程序服務(wù)器中的企業(yè)對(duì)象提供的服務(wù)。例如如果在應(yīng)用程序服務(wù)器之中已經(jīng)有了能夠提供客戶資料的企業(yè)對(duì)象,那么當(dāng)開發(fā)人員需要編寫一個(gè)更新客戶資料的mis應(yīng)用程序時(shí),就可以直接使用在應(yīng)用程序服務(wù)器中的客戶企業(yè)對(duì)象。此外如果要讓internet/intranet上潛在人員或機(jī)構(gòu)能夠查詢客戶資料時(shí),也可以使用isapi/asp/asp+等技術(shù)存

25、取在應(yīng)用程序服務(wù)器之中的客戶企業(yè)對(duì)象來滿足各方面查詢的需要。當(dāng)企業(yè)決定改變客戶資料處理流程時(shí),只要修改應(yīng)用程序服務(wù)器之中的企業(yè)對(duì)象,那么mis應(yīng)用程序以及通過internet/intranet使用瀏覽器的用戶都可以立刻使用到最新的企業(yè)處理流程。采用這種包含應(yīng)用程序服務(wù)器的結(jié)構(gòu)有很多好處,除了可以增加企業(yè)對(duì)象的重復(fù)使用性外,整個(gè)系統(tǒng)的開發(fā)和維護(hù)成本都立刻降下來了,系統(tǒng)的穩(wěn)定性,可擴(kuò)展性,可移植性大大提高。圖2.2就是典型的分布式多層應(yīng)用系統(tǒng)的架構(gòu)圖。遠(yuǎn)程用戶web web server isapi/asp/asp.net 本地財(cái)務(wù)系統(tǒng) 本地客戶系統(tǒng) 應(yīng)用程序服務(wù)器 com+服務(wù)器 數(shù)據(jù)庫服務(wù)器

26、midas/datasnap服務(wù)器,ejb服務(wù)器 圖 2.2 分布式多層系統(tǒng)的架構(gòu)圖 上圖的結(jié)構(gòu)就是所謂的分布式多層架構(gòu)應(yīng)用系統(tǒng),因?yàn)檎麄€(gè)應(yīng)用系統(tǒng)的執(zhí)行是分成數(shù)個(gè)不同的部分并且執(zhí)行在不同機(jī)器中。多層架構(gòu)把系統(tǒng)不同的運(yùn)作部分分布在獨(dú)立的機(jī)器中,所以整個(gè)系統(tǒng)的延展性也大為提高。 由于分布式多層架構(gòu)系統(tǒng)強(qiáng)調(diào)系統(tǒng)的穩(wěn)定性,延展性和執(zhí)行效率。所以現(xiàn)在許多分布式多層應(yīng)用系統(tǒng)提供了容錯(cuò)能力和負(fù)載平衡能力。在具備容錯(cuò)能力和負(fù)載平衡能力的分布式多層架構(gòu)系統(tǒng)中,主要在中間層的應(yīng)用程序服務(wù)器部分提供多臺(tái)不同的應(yīng)用程序服務(wù)器,當(dāng)客戶端應(yīng)用程序或是web服務(wù)器需要使用企業(yè)對(duì)象的服務(wù)時(shí),可以依據(jù)目前每一臺(tái)應(yīng)用程序服務(wù)器的

27、負(fù)荷以及是否可以提供服務(wù)的情形動(dòng)態(tài)決定連接到那一臺(tái)應(yīng)用程序服務(wù)器中。也就是說中間層應(yīng)用程序服務(wù)器在大型系統(tǒng)中往往是一個(gè)服務(wù)器集群,可以將不同企業(yè)對(duì)象根據(jù)需要存放在不同中間層應(yīng)用服務(wù)器中,也可以將訪問頻率高的企業(yè)對(duì)象進(jìn)行冗余分布,這樣才能達(dá)到分布式多層架構(gòu)應(yīng)用系統(tǒng)的要求。 分布式架構(gòu)系統(tǒng)的出現(xiàn)式為了解決客戶機(jī)/服務(wù)器結(jié)構(gòu)在維護(hù)上需要非常大的成本,尤其當(dāng)客戶端在不同區(qū)域時(shí),此外也是為了改善客戶機(jī)/服務(wù)器結(jié)構(gòu)延展性的問題,因?yàn)榭蛻魴C(jī)/服務(wù)器結(jié)構(gòu)能支持的客戶端用戶人數(shù)有一定限度,當(dāng)客戶端用戶數(shù)目超過200人時(shí)侯,客戶機(jī)/服務(wù)器結(jié)構(gòu)的執(zhí)行效率便開始下降。對(duì)大型行業(yè)軟件而言,這種數(shù)目的客戶端用戶人數(shù)限制是

28、無法忍受的,所以需要使用更具延展性的分布式結(jié)構(gòu)來克服這個(gè)問題。另外從重復(fù)使用的角度來看,分布式結(jié)構(gòu)也是優(yōu)于客戶機(jī)/服務(wù)器結(jié)構(gòu)的,分布式架構(gòu)能夠半強(qiáng)迫軟件開發(fā)人員以企業(yè)對(duì)象構(gòu)件化形態(tài)編寫企業(yè)邏輯,進(jìn)而允許其他系統(tǒng)或是internet/intranet系統(tǒng)可以重復(fù)使用這些企業(yè)對(duì)象。這對(duì)于軟件開發(fā),以及客戶端的維護(hù)都有正面效益,也能夠降低系統(tǒng)的維護(hù)成本。 許多舊的系統(tǒng)因業(yè)務(wù)發(fā)展需求變化在使用的過程中需要不斷更新升級(jí),在這過程中往往需要整合各種不同的系統(tǒng)結(jié)構(gòu),這也成為使用分布式多層架構(gòu)的原因。這幾年福州社保在開發(fā)不同種類的業(yè)務(wù)系統(tǒng)時(shí)就遇到這樣問題,采用面向?qū)ο蟮乃枷牒投鄬蛹軜?gòu)技術(shù)來解決新舊業(yè)務(wù)系統(tǒng)整合

29、問題,效果是非常明顯的。2.2 分布式多層架構(gòu)常用的技術(shù) 目前分布式多層架構(gòu)實(shí)現(xiàn)的核心技術(shù)大致上有兩種工業(yè)標(biāo)準(zhǔn),第一種是microsoft制定的已經(jīng)比較成熟的com+技術(shù)以及這幾年新發(fā)展起來的dotnet平臺(tái)技術(shù),第二種則是由700多個(gè)廠商提倡的corba。由于分布式架構(gòu)的廣為流行,所以現(xiàn)在越來越多的分布式技術(shù)是根據(jù)這兩種分布式核心技術(shù)加以演進(jìn)而產(chǎn)生,例如今年很流行的ejb(enterprise java bean)。就是在microsoft最新的winxp操作系統(tǒng)的dotnet平臺(tái)下,對(duì)com/com+也由良好的支持,實(shí)際上在dotnet平臺(tái)中本身就包含大量對(duì)com+的使用。如果是開發(fā)一個(gè)全

30、新的項(xiàng)目,軟硬件設(shè)備都比較優(yōu)越,不存在新舊操作系統(tǒng)和應(yīng)用系統(tǒng)整合的問題,并且選用microsoft的winxp操作系統(tǒng),那么分布式多層架構(gòu)可以考慮采用dotnet平臺(tái)技術(shù)。而本課題背景項(xiàng)目“福州社保綜合業(yè)務(wù)支持系統(tǒng)”恰恰是近幾年福州社保根據(jù)業(yè)務(wù)不斷變化而逐步開發(fā)的,在這種情況下,在項(xiàng)目開發(fā)前的技術(shù)選型時(shí)不僅要考慮系統(tǒng)的擴(kuò)展型,還要考慮到應(yīng)用系統(tǒng)系統(tǒng)的向下兼容性以及操作系統(tǒng)的通用性。這也是實(shí)際工作特點(diǎn)所決定的。因此我們還是采用了microsoft的已經(jīng)比較成熟的com+架構(gòu)作為中間層的核心技術(shù)。microsoft的分布式技術(shù)和corba這兩類技術(shù)各有優(yōu)缺點(diǎn),microsoft的com/dcom/

31、com+是已windows為中心的開發(fā)環(huán)境,而corba則是平臺(tái)中立的分布式技術(shù)。corba能夠執(zhí)行于windows,unix,以及l(fā)inux等操作系統(tǒng)中。但是不管是哪種分布式技術(shù),基本上這些分布式技術(shù)都允許軟件開發(fā)人員能夠在應(yīng)用程序中輕易使用企業(yè)對(duì)象所提供的服務(wù)。當(dāng)客戶端應(yīng)用程序在使用企業(yè)對(duì)象的服務(wù)時(shí),這些分布式技術(shù)都會(huì)讓應(yīng)用程序在調(diào)用企業(yè)對(duì)象時(shí)看起來就象是這些企業(yè)對(duì)象就存在于本地機(jī)器一樣,開發(fā)人員并布需要編寫復(fù)雜的網(wǎng)絡(luò)程序代碼以便調(diào)用事實(shí)上是位于遠(yuǎn)程機(jī)器中的企業(yè)對(duì)象。基本上這兩種分布式技術(shù)都是在客戶端機(jī)器之中以一個(gè)特別的對(duì)象來仿真真正的遠(yuǎn)程企業(yè)對(duì)象。如此一來客戶端應(yīng)用程序就可以調(diào)用在客戶端

32、機(jī)器中仿真的對(duì)象來存取遠(yuǎn)程企業(yè)對(duì)象的服務(wù),而當(dāng)客戶端仿真對(duì)象被應(yīng)用過程調(diào)用時(shí),這個(gè)仿真對(duì)象再使用特定的通訊協(xié)議來真正的調(diào)用遠(yuǎn)程企業(yè)對(duì)象的服務(wù)以滿足客戶端應(yīng)用程序的要求。由于有了客戶端仿真對(duì)象,所以軟件開發(fā)人員在編寫客戶端應(yīng)用程序時(shí)便非常的方便,不需要了解或是編寫網(wǎng)絡(luò)通訊協(xié)議的程序代碼。如此一來可以大幅嗇軟件開發(fā)人員的生產(chǎn)力。雖然com/dcom/com+和corba都是使用類似的觀念來實(shí)現(xiàn)這種遠(yuǎn)程調(diào)用結(jié)構(gòu),但是這兩種分布式技術(shù)在仿真對(duì)象的名稱卻有一些差異。圖2-3和2-4分別是這兩種分布式結(jié)構(gòu)使用的通訊協(xié)議以及在客戶端仿真對(duì)象,以及服務(wù)端仿填對(duì)象的名稱。 proxydcom通訊協(xié)議 stub

33、圖2.3 microsoft 的分布式技術(shù)一dcom通訊協(xié)議為主 stubiiop通訊協(xié)議 skeleton 圖2.4 corba分布式技術(shù)使用iiop通訊協(xié)議調(diào)用遠(yuǎn)程企業(yè)對(duì)象一般來說軟件開發(fā)人員在開發(fā)分布式應(yīng)用系統(tǒng)時(shí),也都必須處理仿真對(duì)象,只是delphi的可視化工具隱茂了這些必要性,所以一般的程序員并沒有感覺到它們的存在。但是上述說明的基本觀念是每一個(gè)開發(fā)分布式應(yīng)用系統(tǒng)的程序員都必知道的。除了基本的遠(yuǎn)程對(duì)象調(diào)用之外,一般來說分布式技術(shù)也會(huì)提供一些核心服務(wù)來幫助軟件開發(fā)人員開發(fā)分布式應(yīng)用系統(tǒng)。這些核心服務(wù)會(huì)依據(jù)用戶對(duì)于分布式應(yīng)用系統(tǒng)的安全強(qiáng)固的要求,安全性和延展性的要求而有所不同。但是有幾個(gè)

34、最重要的核心服務(wù)幾乎是每一個(gè)分布式技術(shù)都會(huì)提供的,這些核心服務(wù)分別是:交易管理(transaction management):負(fù)責(zé)在分布式應(yīng)用系統(tǒng)中對(duì)于資料完整性及一致性的保護(hù)。在windows平臺(tái)中mts(microsoft transaction server)提供了這個(gè)核心服務(wù),在corba中則是由ots(object transaction service)提供。交易管理是非常重要的核心服務(wù),在稍后的章節(jié)以及實(shí)戰(zhàn)delphi5.x分布式web應(yīng)用系統(tǒng)篇一書討論mts的章節(jié)中會(huì)有詳細(xì)的說明。安全服務(wù)(security):在分布式應(yīng)用系統(tǒng)中安全是很重要的,因?yàn)槟憬^對(duì)不希望提供服務(wù)的企業(yè)對(duì)

35、象能夠被任何人使用,只有經(jīng)過授權(quán)的人才能夠使用授權(quán)的企業(yè)對(duì)象。com/dcom使用win32 的安全接口來提供分布式應(yīng)用系統(tǒng)基本的安全保護(hù),mts以及com+則提供了更為簡(jiǎn)易的接口來提供安全能力。在corba中則以安全服務(wù)來提供應(yīng)用系統(tǒng)基本的保護(hù),此外com/dcom/com+和corba也允許軟件開發(fā)人員使用ssl(secure socket layer)對(duì)資料進(jìn)行加密和解密的能力,讓只有被授權(quán)的人才能夠看到應(yīng)用系統(tǒng)的資料。2.3 分布式多層架構(gòu)系統(tǒng)的組成和解決方案分布式的架構(gòu)可以說是種類繁多,不同需求的應(yīng)用系統(tǒng)會(huì)使用不同的分布式架構(gòu)。但是不管結(jié)構(gòu)如何改變,通常分布式多層架構(gòu)應(yīng)用系統(tǒng)大都是由

36、數(shù)個(gè)軟件組合而成,這些軟件分別提供不同功能以滿足企業(yè)的需求。軟件開發(fā)人員根據(jù)應(yīng)用系統(tǒng)的要求來決定使用哪些軟件技術(shù)。一般來說目前分布式系統(tǒng)大多使用下列軟件技術(shù)來構(gòu)建多層應(yīng)用系統(tǒng)。軟件功能web服務(wù)器提供internet/intranet電子商務(wù)的服務(wù)應(yīng)用程序服務(wù)器(com+,midas/datasnap服務(wù)器,corba服務(wù)器)執(zhí)行企業(yè)對(duì)象的環(huán)境,提供核心服務(wù)。例如交易管理安全機(jī)制,容錯(cuò)能力和負(fù)載平衡等功能。message queue服務(wù)器提供應(yīng)用系統(tǒng)消息機(jī)制,可以在應(yīng)用程序服務(wù)器shutdown時(shí)仍能維護(hù)已送出的消息,并提供異步處理機(jī)制。數(shù)據(jù)庫服務(wù)器存儲(chǔ)應(yīng)用系統(tǒng)資料的服務(wù)器 ie xml/ht

37、ml isapi/asp/asp.net internet express webbroker web服務(wù)器 delphi dcom/com+ vcl delphi語言 圖形用戶界面 (dcom/com+,midas) 應(yīng)用程序服務(wù)器 (ado/ado.net) oracle應(yīng)用程序 midas/com+服務(wù)器 ms sql 圖2.5 delphi提供關(guān)鍵技術(shù)開發(fā)分布式多層架構(gòu) 在軟件開發(fā)人員決定了分布式多層系統(tǒng)的組成結(jié)構(gòu)后,再使用開發(fā)工具,我們選用delphi來開發(fā)整個(gè)分布式多層應(yīng)用系統(tǒng),使用delphi能夠支持應(yīng)用系統(tǒng)需要的結(jié)構(gòu),并且能夠使用他編寫程序代碼把這些不同功能的軟件整合在一起。d

38、elphi不但能夠支持com/dcom/com+和corba分布式技術(shù),也允許開發(fā)人員使用相應(yīng)的核心服務(wù),例如delphi有內(nèi)建直接支持com+交易管理的接口。圖2.5式windows平臺(tái)下最常用也是比較成熟的分布式多層架構(gòu)技術(shù),它可以結(jié)合microsoft的com+以及web服務(wù)器構(gòu)建出分布式internet/intranet的應(yīng)用系統(tǒng)。在圖中軟件人員也可以先在com+/midas服務(wù)器中開發(fā)各種企業(yè)對(duì)象,然后再使用delphi開發(fā)客戶端的圖形接口并使用中介應(yīng)用服務(wù)器的企業(yè)對(duì)象,客戶端應(yīng)用程序和中介應(yīng)用程序服務(wù)器是使用dcom/socke通訊協(xié)議來連接的。稍后當(dāng)企業(yè)決定走向internet時(shí)

39、,便可以加入web服務(wù)器,然后再串聯(lián)到原先的中介應(yīng)用服務(wù)器讓web服務(wù)器能繼續(xù)使用在應(yīng)用程序服務(wù)器中的企業(yè)對(duì)象。delphi對(duì)圖2.5中這種分布式多層架構(gòu)系統(tǒng)的關(guān)鍵技術(shù)都提供了強(qiáng)大的支持。例如delphi的internetexpress組件允許開發(fā)人員以xml標(biāo)準(zhǔn)語言建立分布式電子商務(wù),并使用ado/ado.net配合com+/midas/datasnap中介技術(shù)做出安全強(qiáng)大的分布式多層架構(gòu)系統(tǒng)。具體來說就是web服務(wù)器提供主頁服務(wù)并且能把數(shù)據(jù)庫資料和企業(yè)對(duì)象提供的服務(wù)以xml的形式呈現(xiàn)在客戶端的瀏覽器中,用戶可以通過瀏覽器以多層結(jié)構(gòu)來處理資料。當(dāng)用戶處理完資料后,web服務(wù)器使用isapi/

40、asp/asp.net技術(shù)和中介的應(yīng)用服務(wù)器中的企業(yè)對(duì)象溝通,使用企業(yè)對(duì)象來完成瀏覽器用戶提交的請(qǐng)求。另外delphi具備完全支持corba應(yīng)用系統(tǒng)的開發(fā)能力,因此即便在異構(gòu)系統(tǒng)的環(huán)境下delphi也有能力開發(fā)出適時(shí)的分布式多層架構(gòu)系統(tǒng)。2.4 分布式多層架構(gòu)的一些技術(shù)要點(diǎn)(1)數(shù)據(jù)庫連接池(database pooling)技術(shù)在網(wǎng)絡(luò)帶寬不是很好的環(huán)境中,或是服務(wù)器需要服務(wù)不定數(shù)目客戶端環(huán)境中,加快數(shù)據(jù)的連接速度以及數(shù)據(jù)庫的連接數(shù)目是很重要的考慮因素。下面兩個(gè)常見的情形是分布式系統(tǒng)要解決的問題:l 當(dāng)許多客戶端都需要連接后端的數(shù)據(jù)庫進(jìn)行資料處理,但是每個(gè)客戶端連接,處理時(shí)間都不長而且是在緩慢

41、的廣域網(wǎng)環(huán)境中。l 客戶端有上百或是上千的用戶,每個(gè)客戶端都需要處理后端數(shù)據(jù)庫,而且有一定的響應(yīng)時(shí)間。這兩種情況是分布式多層架構(gòu)環(huán)境下常見的問題,對(duì)數(shù)據(jù)庫和系統(tǒng)有能力有嚴(yán)格考驗(yàn),這都需要程序員小心規(guī)劃多層架構(gòu)和數(shù)據(jù)庫結(jié)構(gòu)。實(shí)際上對(duì)這些情形有一種非常有用的技術(shù)就是所謂的數(shù)據(jù)庫連接池技術(shù)。簡(jiǎn)單得說數(shù)據(jù)庫連接池技術(shù)就象是面向?qū)ο蟮闹貜?fù)使用一樣。當(dāng)一個(gè)客戶端連接數(shù)據(jù)庫時(shí),數(shù)據(jù)庫引擎必須為這個(gè)連接配置許多系統(tǒng)資源,例如內(nèi)存,數(shù)據(jù)庫對(duì)象以及全域sql空間等當(dāng)這個(gè)客戶執(zhí)行完畢后,它會(huì)關(guān)閉數(shù)據(jù)庫的連接,而數(shù)據(jù)庫會(huì)釋放所有為它配置的資源。如果這時(shí)有另一個(gè)客戶端連接進(jìn)來而且也連接到相同數(shù)據(jù)庫,那數(shù)據(jù)引擎又要配置相

42、同的資源,造成連接時(shí)間延遲。數(shù)據(jù)庫連接池技術(shù)就是讓數(shù)據(jù)庫在以上情況下不釋放第一個(gè)客戶端配置的資源將它轉(zhuǎn)到第二個(gè)客戶端使用,這樣就大大降低第二個(gè)客戶端連接時(shí)間。數(shù)據(jù)庫連接池技術(shù)除了可以加快數(shù)據(jù)庫連接速度以及分享服務(wù)端的資源外,還減少應(yīng)用程序服務(wù)連接到數(shù)據(jù)庫的數(shù)目,這樣就降低數(shù)據(jù)庫服務(wù)器的負(fù)荷,進(jìn)而加快數(shù)據(jù)庫響應(yīng)速度。 (2)對(duì)象連接池技術(shù)(object pooling)對(duì)象連接池技術(shù)的目的也是為了避免每個(gè)客戶端需要重復(fù)建立相同的對(duì)象,浪費(fèi)應(yīng)用程序服務(wù)器的計(jì)算能力。應(yīng)用程序服務(wù)器實(shí)現(xiàn)對(duì)象連接池技術(shù)是為了在分布式多層架構(gòu)下加快建立對(duì)象的速度。因?yàn)樵诜植际蕉鄬蛹軜?gòu)下建立對(duì)象需要的時(shí)間要比在同一機(jī)器中建

43、立對(duì)象所需要時(shí)間多了數(shù)倍。對(duì)一個(gè)擁有數(shù)百個(gè)對(duì)象的應(yīng)用程序服務(wù)器而言,這會(huì)造成沉重負(fù)擔(dān)。而對(duì)象池連接技術(shù)不但可以降低應(yīng)用程序服務(wù)器的負(fù)擔(dān),更可以加快建立對(duì)象速度??蛻舳藨?yīng)用程序 對(duì)象連接池應(yīng)用程序服務(wù)器 客戶端應(yīng)用程序 圖2.6 對(duì)象連接池(object pooling)示意圖圖2.6是對(duì)象連接池的示意圖,當(dāng)客戶端向中介應(yīng)用程序服務(wù)器請(qǐng)求建立特定對(duì)象時(shí),中介對(duì)象會(huì)直接從一個(gè)對(duì)象的pool中取出相同,已經(jīng)建立過的對(duì)象回傳給客戶端,不需要重新建立對(duì)象并執(zhí)行它的初始化代碼。當(dāng)客戶端使用完一個(gè)對(duì)象并試著釋放它時(shí),應(yīng)用程序服務(wù)器并不會(huì)釋放這個(gè)對(duì)象,而是把它放回object pool中等待稍后客戶需要相同對(duì)

44、象時(shí)能夠再度使用。第三章 mts/com+組件技術(shù)和分布式多層系統(tǒng)本章討論分布式多層架構(gòu)應(yīng)用系統(tǒng)在windows平臺(tái)下的成熟的主流技術(shù)mts/com+。mts(micosoft transaction server)是microsoft在windows平臺(tái)的中間件之一,它的主要功能是讓windows程序員能夠開發(fā)基于組件的分布式多層架構(gòu)應(yīng)用系統(tǒng),并且提供分布式事務(wù)管理能力。mts/com+本身是一個(gè)com/dcom對(duì)象執(zhí)行環(huán)境,它鼓勵(lì)把應(yīng)用系統(tǒng)的業(yè)務(wù)邏輯編寫成mts/com+對(duì)象,然后把這些業(yè)務(wù)對(duì)象封裝成組件形式。當(dāng)客戶端應(yīng)用程序需要執(zhí)行這些業(yè)務(wù)對(duì)象時(shí),mts/com+會(huì)加載這些mts/com

45、+對(duì)象,提供給客戶端應(yīng)用程序使用。micosoft早在windows2000操作系統(tǒng)以后中就已經(jīng)把mts變成操作系統(tǒng)的核心組件,也就是com+(為體現(xiàn)技術(shù)上淵源,本章用mts/com+的寫法來代表microsoft的這項(xiàng)分布式中間件技術(shù),實(shí)際上com+就是mts 3.0以后版本),包括在winxp操作系統(tǒng)的dotnet平臺(tái)下也大量使用com+來提供重要的系統(tǒng)服務(wù),如iis,msmq,ms server都和mts/com+有緊密的結(jié)合。在開發(fā)基于windows平臺(tái)的分布式多層架構(gòu)應(yīng)用系統(tǒng),并需要整合新舊系統(tǒng)時(shí),mts/com+無疑是最好選擇。前面說到com+是mts的技術(shù)延伸,而mts本質(zhì)上就是

46、擁有一些特殊功能的com/dcom,因此在技術(shù)體系上com/dcom和mts/com+是有很深淵源的。3.1 mts/com+ 的基本概念mts/com+的體系架構(gòu)提供了如下好處。第一,它提倡基于組件技術(shù)開發(fā)分布式多層架構(gòu)應(yīng)用系統(tǒng)。組件中的業(yè)務(wù)對(duì)象可以重復(fù)在不同的應(yīng)用系統(tǒng)中使用。組件中各種業(yè)務(wù)對(duì)象可以由不同的開發(fā)團(tuán)隊(duì)用不同開發(fā)工具開發(fā)。這些業(yè)務(wù)對(duì)象不但可以讓傳統(tǒng)的應(yīng)用程序存取,也可以交由web網(wǎng)絡(luò)環(huán)境的應(yīng)用系統(tǒng)使用。如此一來,程序員在開發(fā)基于web應(yīng)用系統(tǒng)時(shí)就不必重復(fù)的編寫這些業(yè)務(wù)對(duì)象了。mts/com+一項(xiàng)重要功能是允許大量的客戶端應(yīng)用程序能夠同時(shí)執(zhí)行他們的工作,因此mts/com+提供了許

47、多擴(kuò)展性功能,例如資源pooling,執(zhí)行pooling,數(shù)據(jù)庫連接pooling,將這些功能很好得整合在一起能構(gòu)建出擴(kuò)展性非常好得分布式多層架構(gòu)系統(tǒng)。mts/com+是windows環(huán)境中非常穩(wěn)定的組件對(duì)象環(huán)境,借助mts/com+提供的服務(wù),程序員可以專心把業(yè)務(wù)邏輯程序代碼編寫成組件形式。至于一些底層的系統(tǒng)服務(wù)由mts/com+自動(dòng)提供。 3.1.1 com/dcom對(duì)象實(shí)際上mts/com+對(duì)象也是一種com/dcom對(duì)象,只是mts/com+對(duì)象提供了一些額外的功能。com/dcom可以說是windows平臺(tái)中最基本和重要的技術(shù)。幾乎所有的microsoft的軟件都是以com/dcom

48、技術(shù)開發(fā)的,甚至windows系列平臺(tái)包括最新的winxp中的相當(dāng)部分的系統(tǒng)服務(wù)都是使用com/dcom/com+開發(fā)的。com/dcom是一種組件模型。它提供了一些基本原則方法讓開發(fā)人員在windows平臺(tái)中使用標(biāo)準(zhǔn)對(duì)象模型來分發(fā)軟件組件,因此這些組件提供的服務(wù)可以被不同的軟件重復(fù)使用。com/dcom組件是通過接口來輸出它提供的服務(wù)的,接口是由一群方法,特性和事件組成的單元。在同一接口中的方法,特性和事件應(yīng)該提供類似或相關(guān)的服務(wù)。由于接口是com/dcom對(duì)象提供服務(wù)的基本單元,一次一個(gè)com/dcom對(duì)象可以同時(shí)提供幾個(gè)不同接口,并且在不同接口中提供不同屬性和方法。com/dcom標(biāo)準(zhǔn)要

49、求所有的com/dcom對(duì)象至少必須提供并且實(shí)現(xiàn)一各稱為iunknown的接口。iunknown接口提供了com/dcom組件能夠在com/dcom環(huán)境中最基本而且必要的功能。在com/dcom對(duì)象中,iunknown接口是所有接口的父代接口,即所有的com/dcom接口都必須是從iunknown接口中繼承下來的。雖然一個(gè)組件至少支持一個(gè)iunknown接口便可以稱為是com/dcom對(duì)象,但我們還要編寫com/dcom對(duì)象便是需要它提供的服務(wù)以便讓其他應(yīng)用程序可以調(diào)用它,以使用這個(gè)組件提供的服務(wù)。因此一個(gè)com/dcom組件通常會(huì)提供其他的客戶化接口以便提供特定的服務(wù),并且在這些客戶化接口中

50、再具體實(shí)現(xiàn)提供服務(wù)的方法,屬性以及事件。3.1.2 com/dcom組件和它的接口com/dcom對(duì)象是以接口為中心的組件模型。com/dcom對(duì)象提供的服務(wù)都是定義在接口中,再程序代碼中也會(huì)以接口為處理的中心。在com/dcom中接口代表的是一群服務(wù)的定義。當(dāng)以delphi的可視化編輯器type library或其他方式定義了接口后,還必須以dephi語言代碼實(shí)現(xiàn)接口定義服務(wù)的實(shí)際程序代碼。此外,接口代表了這個(gè)com/dcom對(duì)象和所有使用它的客戶端的“合約”。這是指一旦com/dcom對(duì)象定義了一個(gè)接口和它提供的服務(wù)后。那么com/dcom就不可以再改變接口的定義。所有客戶端的用戶都可以根據(jù)這個(gè)接口向這個(gè)com/dcom對(duì)象取得服務(wù)。如果從思想技術(shù)角度來看接口,那么接口只是一塊內(nèi)存區(qū)。在這個(gè)內(nèi)存區(qū)中記載了所有可以由這個(gè)接口調(diào)用的方法。因此建立com/dcom對(duì)象的過程,實(shí)際上就是在內(nèi)存中建立com/dcom的實(shí)例。取得com/dcom對(duì)象的接口事實(shí)上就是取得接口內(nèi)存區(qū)的指針,通過這個(gè)指針再調(diào)用接口其他方法。在com/dcom中有兩種基本的接口類型,它們分別是:1:com格式接口2:automatio

溫馨提示

  • 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. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論