信息系統(tǒng)開發(fā)技術(shù)概述二_第1頁(yè)
信息系統(tǒng)開發(fā)技術(shù)概述二_第2頁(yè)
信息系統(tǒng)開發(fā)技術(shù)概述二_第3頁(yè)
信息系統(tǒng)開發(fā)技術(shù)概述二_第4頁(yè)
信息系統(tǒng)開發(fā)技術(shù)概述二_第5頁(yè)
已閱讀5頁(yè),還剩86頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

信息系統(tǒng)開發(fā)技術(shù)概述同濟(jì)大學(xué)經(jīng)濟(jì)與管理學(xué)院徐德華博士主要內(nèi)容1.統(tǒng)一建模語(yǔ)言UML2.COM+組件技術(shù)3.CORBA4.EJB與J2EE5..NET平臺(tái)1.統(tǒng)一建模語(yǔ)言UML1.1UML產(chǎn)生背景面向?qū)ο蠼UZ(yǔ)言出現(xiàn)于70年代中期。從1989年到1994年,其數(shù)量從不到十種增加到了五十多種。90年代中,一批新方法出現(xiàn)了,其中最引人注目的是Booch1993、OOSE和OMT-2等。Booch是面向?qū)ο蠓椒ㄗ钤绲某珜?dǎo)者之一,Booch1993比較適合于系統(tǒng)的設(shè)計(jì)和構(gòu)造。Rumbaugh等人提出了面向?qū)ο蟮慕<夹g(shù)(OMT)方法,用對(duì)象模型、動(dòng)態(tài)模型、功能模型和用例模型,共同完成對(duì)整個(gè)系統(tǒng)的建模,所定義的概念和符號(hào)可用于軟件開發(fā)的分析、設(shè)計(jì)和實(shí)現(xiàn)的全過程,軟件開發(fā)人員不必在開發(fā)過程的不同階段進(jìn)行概念和符號(hào)的轉(zhuǎn)換。OMT-2特別適用于分析和描述以數(shù)據(jù)為中心的信息系統(tǒng)。Jacobson于1994年提出了OOSE方法,其最大特點(diǎn)是面向用例(Use-Case),并在用例的描述中引入了外部角色的概念。OOSE比較適合支持商業(yè)工程和需求分析。統(tǒng)一建模語(yǔ)言(UnifiedModelingLanguage,UML)不僅統(tǒng)一了Booch、Rumbaugh和Jacobson的表示方法,而且對(duì)其作了進(jìn)一步的發(fā)展,并最終統(tǒng)一為大眾所接受的標(biāo)準(zhǔn)建模語(yǔ)言。“統(tǒng)一建模語(yǔ)言(UML)是一種用于軟件系統(tǒng)制品規(guī)約的、可視化的構(gòu)造及建檔語(yǔ)言,也可用于業(yè)務(wù)建模以及其它非軟件系統(tǒng)?!盪ML是一種通用的可視化建模語(yǔ)言,用于對(duì)軟件進(jìn)行描述、可視化處理、構(gòu)造和建立軟件系統(tǒng)的文檔。UML適用于各種軟件開發(fā)方法、軟件生命周期的各個(gè)階段、各種應(yīng)用領(lǐng)域以及各種開發(fā)工具UML能夠描述系統(tǒng)的靜態(tài)結(jié)構(gòu)和動(dòng)態(tài)行為:靜態(tài)結(jié)構(gòu)定義了系統(tǒng)中重要對(duì)象的屬性和操作以及這些對(duì)象之間的相互關(guān)系;動(dòng)態(tài)行為定義了對(duì)象的時(shí)間特性和對(duì)象為完成目標(biāo)任務(wù)而相互進(jìn)行通信的機(jī)制。UML不是一種程序設(shè)計(jì)語(yǔ)言,但我們可以用代碼生成器將UML模型轉(zhuǎn)換為多種程序設(shè)計(jì)語(yǔ)言代碼,或使用反向生成器工具將程序源代碼轉(zhuǎn)換為UML模型。1.2UML語(yǔ)言概述1.2.1UML語(yǔ)言的特征不是一種可視化的程序設(shè)計(jì)語(yǔ)言,而是一種可視化的建模語(yǔ)言;是一種建模語(yǔ)言規(guī)格說明,是面向?qū)ο蠓治雠c設(shè)計(jì)的一種標(biāo)準(zhǔn)表示;不是過程,也不是方法,但允許任何一種過程和方法使用它。1.2.2UML語(yǔ)言的目標(biāo)易于使用,表達(dá)能力強(qiáng),進(jìn)行可視化建模;與具體的實(shí)現(xiàn)無關(guān),可應(yīng)用于任何語(yǔ)言平臺(tái)和工具平臺(tái);與具體的過程無關(guān),可應(yīng)用于任何軟件開發(fā)過程;簡(jiǎn)單并且可擴(kuò)展,具有擴(kuò)展和專有化機(jī)制;強(qiáng)調(diào)在軟件開發(fā)中,對(duì)架構(gòu)、框架、模式和組件的重用;與最好的軟件工程實(shí)踐經(jīng)驗(yàn)集成;可升級(jí),具有廣闊的適用性和可用性;有利于面向?qū)ο蠊ぞ叩氖袌?chǎng)增長(zhǎng)。1.2.3UML組成由視圖view,圖diagram,模型元素modelelement和通用機(jī)制generalmechanism等幾個(gè)部分組成。視圖是表達(dá)系統(tǒng)的某一方面特征的UML建模元素的子集,由多個(gè)圖構(gòu)成,是系統(tǒng)的抽象表示;圖是模型元素集的圖形表示;模型元素代表面向?qū)ο笾械念?、?duì)象、消息和關(guān)系等概念,是構(gòu)成圖的最基本的常用概念。通用機(jī)制用于表示其它信息,比如注釋、模型元素的語(yǔ)義等。。1.3UML語(yǔ)義UML語(yǔ)義描描述基于UML的精確元元模型(MetaModel)定定義。元模型型為UML的的所有元素在在語(yǔ)法和語(yǔ)義義上提供了簡(jiǎn)簡(jiǎn)單、一致、、通用的定義義性說明,使使開發(fā)者能在在語(yǔ)義上取得得一致,消除除了因人而異異的最佳表達(dá)達(dá)方法所造成成的影響。此此外UML還還支持對(duì)元模模型的擴(kuò)展定定義。1.4UML表示法UML表示法法定義UML符號(hào)的表示示法,為開發(fā)發(fā)者或開發(fā)工工具使用這些些圖形符號(hào)和和文本語(yǔ)法為為系統(tǒng)建模提提供了標(biāo)準(zhǔn)。。這些圖形符符號(hào)和文字所所表達(dá)的是應(yīng)應(yīng)用級(jí)的模型型,在語(yǔ)義上上它是UML元模型的實(shí)實(shí)例。統(tǒng)一建模語(yǔ)言言UML的重重要內(nèi)容可以以由五類圖((共9種圖形形)來定義。。用用例圖(UseCasediagram)用例視圖是被被稱為參與者者的外部用戶戶所能觀察到到的系統(tǒng)功能能的模型圖。。用例是外部部可見的一個(gè)個(gè)系統(tǒng)功能單單元,這些功功能由系統(tǒng)單單元所提供,,并通過一系系列系統(tǒng)單元元與一個(gè)或多多個(gè)參與者之之間交換的消消息所表達(dá)。。用例也可以有有不同的層次次。用例可以以用其他更簡(jiǎn)簡(jiǎn)單的用例進(jìn)進(jìn)行說明。在在交互視圖中中,用例作為為交互圖中的的一次協(xié)作來來實(shí)現(xiàn)。靜靜態(tài)圖(Staticdiagram)靜態(tài)圖對(duì)應(yīng)用用領(lǐng)域中的概概念以及與系系統(tǒng)實(shí)現(xiàn)有關(guān)關(guān)的內(nèi)部概念念建模,包括括類圖、對(duì)象象圖和包圖。。類圖描述系統(tǒng)統(tǒng)中類的靜態(tài)態(tài)結(jié)構(gòu)。對(duì)象圖是類圖圖的實(shí)例,幾幾乎使用與類類圖完全相同同的標(biāo)識(shí)。他他們的不同點(diǎn)點(diǎn)在于對(duì)象圖圖顯示類的多多個(gè)對(duì)象實(shí)例例,而不是實(shí)實(shí)際的類。包圖由包或類類組成,表示示包與包之間間的關(guān)系。包包是操作模型型內(nèi)容、存取取控制和配置置控制的基本本單元。行行為圖(Behaviordiagram)行為圖包括狀狀態(tài)圖和活動(dòng)動(dòng)圖,描述系系統(tǒng)的動(dòng)態(tài)模模型和組成對(duì)對(duì)象間的交互互關(guān)系。狀態(tài)圖描述類類的對(duì)象所有有可能的狀態(tài)態(tài)以及事件發(fā)發(fā)生時(shí)狀態(tài)的的轉(zhuǎn)移條件。。狀態(tài)圖可用用于描述用戶戶接口、設(shè)備備控制器和其其他具有反饋饋的子系統(tǒng)。。活動(dòng)圖描述滿滿足用例要求求所要進(jìn)行的的活動(dòng)以及活活動(dòng)間的約束束關(guān)系,有利利于識(shí)別并行行活動(dòng)?;顒?dòng)動(dòng)圖有助于理理解系統(tǒng)高層層活動(dòng)的執(zhí)行行行為,而不不涉及建立協(xié)協(xié)作圖所必須須的消息傳送送細(xì)節(jié)。交交互圖(Interactivediagram)交互圖描述了了執(zhí)行系統(tǒng)功功能的各個(gè)角角色之間相互互傳遞消息的的順序關(guān)系,,包括順序圖圖和合作圖。。順序圖顯示對(duì)對(duì)象之間的動(dòng)動(dòng)態(tài)合作關(guān)系系,它強(qiáng)調(diào)對(duì)對(duì)象之間傳送送消息的時(shí)間間順序,同時(shí)時(shí)顯示對(duì)象之之間的交互關(guān)關(guān)系。順序圖圖可以用來進(jìn)進(jìn)行一個(gè)場(chǎng)景景說明,即一一個(gè)事務(wù)的歷歷史過程。協(xié)作圖描述對(duì)對(duì)象間的協(xié)作作關(guān)系,協(xié)作作圖跟順序圖圖相似,顯示示對(duì)象間的動(dòng)動(dòng)態(tài)合作關(guān)系系,但它們的的側(cè)重點(diǎn)不同同。實(shí)實(shí)現(xiàn)圖(Implementationdiagram)實(shí)現(xiàn)圖包括構(gòu)構(gòu)件圖和配置置圖,顯示系系統(tǒng)實(shí)現(xiàn)時(shí)的的一些特性,,包括源代碼碼的靜態(tài)結(jié)構(gòu)構(gòu)和運(yùn)行時(shí)刻刻的實(shí)現(xiàn)結(jié)構(gòu)構(gòu)。構(gòu)件圖描述代代碼部件的物物理結(jié)構(gòu)及各各部件之間的的依賴關(guān)系,,有助于分析析和理解部件件之間的相互互影響程度。。配置圖定義系系統(tǒng)硬件的物物理拓?fù)浣Y(jié)構(gòu)構(gòu)以及在此結(jié)結(jié)構(gòu)上執(zhí)行的的軟件。它可可以顯示計(jì)算算結(jié)點(diǎn)的拓?fù)鋼浣Y(jié)構(gòu)和通信信路徑、結(jié)點(diǎn)點(diǎn)上運(yùn)行的軟軟件構(gòu)件、軟軟件構(gòu)件包含含的邏輯單元元(對(duì)象、類類)等。1.5UML的應(yīng)用領(lǐng)領(lǐng)域UML的目標(biāo)標(biāo)是以面向?qū)?duì)象圖的方式式來描述任何何類型的系統(tǒng)統(tǒng),具有很寬寬的應(yīng)用領(lǐng)域域。其中最常常用的是建立立軟件系統(tǒng)的的模型,但它它同樣可以用用于描述非軟軟件領(lǐng)域的系系統(tǒng),如機(jī)械械系統(tǒng)、企業(yè)業(yè)機(jī)構(gòu)或業(yè)務(wù)務(wù)過程,以及及處理復(fù)雜數(shù)數(shù)據(jù)的信息系系統(tǒng)、具有實(shí)實(shí)時(shí)要求的工工業(yè)系統(tǒng)或工工業(yè)過程等。??傊?,UML是一個(gè)通用用的標(biāo)準(zhǔn)建模模語(yǔ)言,可以以對(duì)任何具有有靜態(tài)結(jié)構(gòu)和和動(dòng)態(tài)行為的的系統(tǒng)進(jìn)行建建模。此外,,UML適用用于系統(tǒng)開發(fā)發(fā)過程中從需需求規(guī)格描述述到系統(tǒng)完成成后測(cè)試的不不同階段。2.COM+組件技術(shù)所謂組件,其其實(shí)就是一種種可部署軟件件的代碼包,,其中包括某某些可執(zhí)行模模塊。組件單單獨(dú)開發(fā)并作作為軟件單元元使用,它具具有明確的接接口,軟件就就是通過這些些接口調(diào)用組組件所能提供供的服務(wù),多多種組件可以以聯(lián)合起來構(gòu)構(gòu)成更大型的的組件乃至直直接建立整個(gè)個(gè)系統(tǒng)。實(shí)現(xiàn)組件并不不一定需要采采用面向?qū)ο笙笳Z(yǔ)言。支持持組件的技術(shù)術(shù)包括COM+、CORBA和EJB等。2.1COM的產(chǎn)生Microsoft出品品了COM((ComponentObjectModel),COM僅僅只只是一個(gè)規(guī)范范。不管組件件用什么語(yǔ)言言寫成,只要要符合這個(gè)COM規(guī)范,,就能被用任任何一種語(yǔ)言言寫成的客戶戶程序調(diào)用。。Microsoft推出出Windows98和Windows2000后,,整個(gè)操作系系統(tǒng)的核心都都圍繞著COM來建立。。我們可以把把Windows系統(tǒng)看看作是一系列列的COM接接口,在需要要是可以調(diào)用用這些接口。。COM服務(wù)程程序有三種形形式:第一種是駐留留在本地機(jī)器器上以DLL形式提供,,該服務(wù)程序序被調(diào)用時(shí),,嵌入到調(diào)用用程序的線程程中運(yùn)行,是是最常用的形形式;第二種是駐留留在本地機(jī)器器上以EXE形式提供,,該服務(wù)程序序被調(diào)用時(shí)將將占用獨(dú)立的的線程運(yùn)行;;第三種駐留在在遠(yuǎn)端機(jī)器上上以EXE形形式提供,服服務(wù)程序通過過網(wǎng)絡(luò)被調(diào)用用,它在遠(yuǎn)端端機(jī)器上運(yùn)行行,結(jié)果通過過網(wǎng)絡(luò)返回調(diào)調(diào)用者。COM的缺點(diǎn)點(diǎn)就是大家常常常提到的““DLL地獄獄”。這個(gè)問問題在一個(gè)DLL要被一一個(gè)新版本的的DLL所取取代時(shí)引發(fā)。。開發(fā)者不得得不通過關(guān)閉閉所有的客戶戶應(yīng)用程序的的方法來達(dá)到到清除所用對(duì)對(duì)這個(gè)組件的的引用的目的的。有時(shí)所有有的方法都還還起不了作用用,那你只好好重新啟動(dòng)服服務(wù)器后才能能替換掉老的的DLL。2.2DCOM即DistributedCOM,與COM的不同點(diǎn)::COM有兩種種存在形式((DLL、EXE),但但DCOM必必須是可執(zhí)行行程序,因?yàn)闉镈COM不不可能在客戶戶程序的內(nèi)存存空間運(yùn)行,,所以不能是是動(dòng)態(tài)連接庫(kù)庫(kù)。COM(DLL形式)可可以不用RPC通信,而而DCOM必必須使用RPC遠(yuǎn)程調(diào)用用。COM(DLL形式)與與客戶共同存存在于同一內(nèi)內(nèi)存空間,調(diào)調(diào)用速度快。。COM(DLL形式)的的安全性不高高,客戶程序序可以造成服服務(wù)COM發(fā)發(fā)生錯(cuò)誤,DCOM安全全性高。COM程序配配置簡(jiǎn)單,DCOM配置置較復(fù)雜。2.3COM+的產(chǎn)生生為了讓企業(yè)級(jí)級(jí)的應(yīng)用程序序能使用上COM,它必必需要有以下下的特定的能能力。驗(yàn)證能力對(duì)象池(ObjectPooling)事務(wù)處理支持分布式架架構(gòu)為了使開發(fā)者者不必去為他他們的組件添添加這些能力力,微軟公司司出品了DCOM和MTS(MicrosoftTransactionServer,微軟事務(wù)務(wù)服務(wù)器)。。MTS允許相相關(guān)的作業(yè)單單元被當(dāng)作一一個(gè)事務(wù)來對(duì)對(duì)待,這意味味著如果所有有的作業(yè)單元元被成功地完完成,整個(gè)事事務(wù)就被當(dāng)作作成功地完成成,反之如果果有一個(gè)單元元未成功完成成,整個(gè)事務(wù)務(wù)將被重新輪輪回。在客戶請(qǐng)求對(duì)對(duì)象和釋放對(duì)對(duì)象后,MTS仍保存著著這個(gè)對(duì)象,,所以當(dāng)另一一個(gè)客戶請(qǐng)求求同一個(gè)組件件的時(shí)候,MTS就將保保存著的對(duì)象象交給它。通通過這種方式式,MTS減減少了在服務(wù)務(wù)器源實(shí)例化化的次數(shù)。MTS針對(duì)企企業(yè)應(yīng)用和Web應(yīng)用的的特點(diǎn),在COM/DCOM的基礎(chǔ)礎(chǔ)上又添加了了許多功能和和特性,包括括事務(wù)特性、、安全模型、、管理和配置置等,MTS使COM成成為一個(gè)完整整的組件體系系結(jié)構(gòu)。COM+并不不是COM的的新版本,我我們可以把它它理解為COM的新發(fā)展展,COM+的底層結(jié)構(gòu)構(gòu)仍然以COM為基礎(chǔ)。??梢哉J(rèn)為COM+是COM、DCOM和MTS的集成。。但更重要的的一點(diǎn)是,COM+倡導(dǎo)導(dǎo)了一種新的的概念,它把把COM組件件軟件提升到到應(yīng)用層而不不再是底層的的軟件結(jié)構(gòu),,它通過操作作系統(tǒng)的各種種支持,使組組件對(duì)象模型型建立在應(yīng)用用層上,把所所有組件的底底層細(xì)節(jié)留給給操作系統(tǒng),,因此,COM+與操作作系統(tǒng)的結(jié)合合更加緊密。。2.4COM+基本結(jié)結(jié)構(gòu)COM+不再再局限于COM的組件技技術(shù),它更加加注重于分布布式網(wǎng)絡(luò)應(yīng)用用的設(shè)計(jì)和實(shí)實(shí)現(xiàn),已經(jīng)成成為Microsoft系統(tǒng)平臺(tái)策策略和軟件發(fā)發(fā)展策略的一一部分。2.4.1WindowsDNA策略WindowsDNA(DistributedinterNetApplicationArchitecture)是Microsoft多年積積累下來的技技術(shù)精華集合合起來而形成成一個(gè)完整的的、多層結(jié)構(gòu)構(gòu)的企業(yè)應(yīng)用用總體方案,,它使Windows真真正成為企業(yè)業(yè)應(yīng)用平臺(tái)。。(a)三三層結(jié)結(jié)構(gòu)技技術(shù)組組成模模型(b)WindowsDNA結(jié)結(jié)構(gòu)2.4.2COM+基基本結(jié)結(jié)構(gòu)從COM的的發(fā)展展角度度來看看,COM最初初作為為桌面面操作作系統(tǒng)統(tǒng)平臺(tái)臺(tái)上的的組件件技術(shù)術(shù),主主要為為OLE服服務(wù)。。但是是隨著著WindowsNT與DCOM的的發(fā)布布,COM通過過底層層的遠(yuǎn)遠(yuǎn)程支支持使使組件件技術(shù)術(shù)延伸伸到了了分布布式應(yīng)應(yīng)用領(lǐng)領(lǐng)域,,充分分體現(xiàn)現(xiàn)了COM的擴(kuò)擴(kuò)展能能力以以及組組件結(jié)結(jié)構(gòu)模模型的的優(yōu)勢(shì)勢(shì)。MTS為COM增添添了許許多新新的內(nèi)內(nèi)容,,彌補(bǔ)補(bǔ)了COM和DCOM的的一些些不足足,它它注重重于服服務(wù)器器一端端的組組件管管理和和配置置環(huán)境境。COM+進(jìn)進(jìn)一步步把COM、DCOM和和MTS統(tǒng)統(tǒng)一起起來,,形成成真正正適合合于企企業(yè)應(yīng)應(yīng)用的的組件件技術(shù)術(shù)。COM+組組成結(jié)結(jié)構(gòu)圖圖COM+不不僅繼繼承了了COM、、DCOM和MTS的許許多特特性,,同時(shí)時(shí)也新新增了了一些些服務(wù)務(wù),比比如負(fù)負(fù)載平平衡、、內(nèi)存存數(shù)據(jù)據(jù)庫(kù)、、事件件模型型、隊(duì)隊(duì)列服服務(wù)等等。COM和MTS把組組件的的所有有配置置信息息都保保存在在Windows的的系統(tǒng)統(tǒng)注冊(cè)冊(cè)表中中,然然而,,COM+把大大多數(shù)數(shù)的組組件信信息保保存在在一個(gè)個(gè)新的的數(shù)據(jù)據(jù)庫(kù)中中,稱稱為COM+目目錄(COM+Catalog)。。COM+目錄錄把COM和MTS的注注冊(cè)模模型統(tǒng)統(tǒng)一起起來,,并提提供了了一個(gè)個(gè)專門門針對(duì)對(duì)組件件的管管理環(huán)環(huán)境。。2.5COM+新新增系系統(tǒng)服服務(wù)介介紹COM+的的系統(tǒng)統(tǒng)服務(wù)務(wù)充分分體現(xiàn)現(xiàn)了COM+的的特征征,通通過這這些系系統(tǒng)服服務(wù),,我們們可以以很容容易地地開發(fā)發(fā)出多多層結(jié)結(jié)構(gòu)的的應(yīng)用用系統(tǒng)統(tǒng),因因?yàn)檫@這些系系統(tǒng)服服務(wù)本本身已已經(jīng)滿滿足了了多層層應(yīng)用用的一一些基基本要要求。。COM+的的系統(tǒng)統(tǒng)服務(wù)務(wù)有的的是新新增加加的,,包括括隊(duì)列列組件件、負(fù)負(fù)載平平衡、、內(nèi)存存數(shù)據(jù)據(jù)庫(kù)和和事件件服務(wù)務(wù)。有有的從從MTS繼繼承過過來并并增強(qiáng)強(qiáng)了的的,包包括事事務(wù)、、對(duì)象象池、、安全全模型型以及及管理理特性性。2.5.1COM+隊(duì)隊(duì)列組組件COM+除除了支支持這這種基基于RPC連接接的運(yùn)運(yùn)行方方式,,它還還支持持另一一種運(yùn)運(yùn)行模模式,,基于于消息息的通通訊過過程,,它可可以有有效地地把客客戶與與組件件的生生存期期分離離開。。這種種模式式通過過COM+的隊(duì)隊(duì)列組組件服服務(wù)實(shí)實(shí)現(xiàn)。。隊(duì)列組組件并并沒有有使用用直接接的RPC連接接,而而是采采用了了底層層的消消息系系統(tǒng)MSMQ(MicrosoftMessageQueueServer)。??蛻魬舫绦蛐虿辉僭僦苯咏诱{(diào)用用組件件對(duì)象象,它它利用用消息息機(jī)制制與組組件對(duì)對(duì)象進(jìn)進(jìn)行通通訊,,即使使組件件對(duì)象象并沒沒有運(yùn)運(yùn)行,,客戶戶程序序仍然然可以以執(zhí)行行操作作。2.5.2COM+事事件模模型COM+事事件模模型用用中心心服務(wù)務(wù)和中中心管管理的的方式式把發(fā)發(fā)布者者與訂訂閱者者之間間的依依賴關(guān)關(guān)系分分離開開,它它用事事件類類作為為發(fā)布布者和和訂閱閱者之之間的的中間間對(duì)象象,發(fā)發(fā)布者者必須須通過過事件件類發(fā)發(fā)布信信息。。事件件類是是由COM+事事件服服務(wù)提提供的的對(duì)象象,它它實(shí)現(xiàn)現(xiàn)了事事件接接口。。當(dāng)發(fā)發(fā)布者者要激激發(fā)事事件時(shí)時(shí),它它創(chuàng)建建一個(gè)個(gè)事件件類對(duì)對(duì)象,,調(diào)用用相應(yīng)應(yīng)的事事件方方法,,然后后釋放放對(duì)象象的接接口。。COM+事件件服務(wù)務(wù)會(huì)決決定如如何通通知訂訂閱者者,決決定什什么時(shí)時(shí)候通通知訂訂閱者者。如如同隊(duì)隊(duì)列組組件情情形一一樣,,發(fā)布布者和和訂閱閱者的的生存存時(shí)間間可以以被分分離。。負(fù)負(fù)載平衡衡為了使組組件支持持負(fù)載平平衡,必必須定義義一個(gè)應(yīng)應(yīng)用群集集(applicationcluster),應(yīng)用用群集是是指一組組已經(jīng)安安裝了服服務(wù)器端端組件的的機(jī)器,,然后把把一臺(tái)機(jī)機(jī)器配置置成負(fù)載載平衡路路由器(router)。COM+負(fù)載平平衡以NT系統(tǒng)統(tǒng)服務(wù)的的形式運(yùn)運(yùn)行在路路由器機(jī)機(jī)器上,,當(dāng)路由由器的SCM(ServiceControlManager)接收到到遠(yuǎn)程創(chuàng)創(chuàng)建對(duì)象象請(qǐng)求時(shí)時(shí),它把把請(qǐng)求傳傳遞到負(fù)負(fù)載最輕輕的機(jī)器器上。一一旦對(duì)象象已經(jīng)被被成功創(chuàng)創(chuàng)建,那那么客戶戶與對(duì)象象之間的的連接是是直接進(jìn)進(jìn)行的,,而不必必再通過過路由器器。內(nèi)內(nèi)存數(shù)據(jù)據(jù)庫(kù)(IMDB)COM+的內(nèi)存存數(shù)據(jù)庫(kù)庫(kù)(InMemoryDatabase)服服務(wù)用于于保存應(yīng)應(yīng)用的非非永久狀狀態(tài)信息息。IMDB是是一個(gè)駐駐留在內(nèi)內(nèi)存中的的支持事事務(wù)特性性的數(shù)據(jù)據(jù)庫(kù)系統(tǒng)統(tǒng),它可可以為COM+應(yīng)用程程序提供供快速的的數(shù)據(jù)訪訪問。由于IMDB是是內(nèi)存中中的數(shù)據(jù)據(jù)庫(kù),所所以IMDB只只對(duì)本機(jī)機(jī)器上的的COM+組件件有效,,不支持持分布式式概念,,并且多多個(gè)IMDB機(jī)機(jī)器不能能裝入同同一個(gè)數(shù)數(shù)據(jù)表。。2.5.3COM+對(duì)象象池對(duì)象池是是指把對(duì)對(duì)象的實(shí)實(shí)例保留留在內(nèi)存存中,以以便當(dāng)客客戶請(qǐng)求求創(chuàng)建對(duì)對(duì)象時(shí)可可以馬上上用到這這些對(duì)象象。對(duì)象象池如同同IMDB一樣樣,完全全是出于于效率考考慮的原原因,用用來建立立大型的的應(yīng)用系系統(tǒng)。2.6COM+的主主要特性性真正的異異步通訊訊??蛻魬艉徒M件件有可能能在不同同的時(shí)間間點(diǎn)上協(xié)協(xié)同工作作。事件服務(wù)務(wù)??缮炜s性性。動(dòng)態(tài)態(tài)負(fù)載平平衡以及及內(nèi)存數(shù)數(shù)據(jù)庫(kù)、、對(duì)象池池等系統(tǒng)統(tǒng)服務(wù)都都為COM+的的可伸縮縮性提供供了技術(shù)術(shù)基礎(chǔ)。。繼承并發(fā)發(fā)展了MTS的的特性。??晒芾砗秃涂膳渲弥眯浴R子陂_發(fā)發(fā)。COM+開開發(fā)模型型比以前前的COM組件件開發(fā)更更為簡(jiǎn)化化。3.CORBA3.1對(duì)對(duì)象管管理集團(tuán)團(tuán)(OMG)OMG((ObjectManagementGroup))成立于于1989年,,作為一一個(gè)非營(yíng)營(yíng)利性組組織,致致力于開開發(fā)在技技術(shù)上具具有先進(jìn)進(jìn)性、在在商業(yè)上上具有可可行性并并且獨(dú)立立于廠商商的軟件件互聯(lián)規(guī)規(guī)范,推推廣面向向?qū)ο竽DP图夹g(shù)術(shù),增強(qiáng)強(qiáng)軟件的的可移植植性、可可重用性性和互操操作性。。OMG于于1990年年末提出出了一個(gè)個(gè)對(duì)象管管理結(jié)構(gòu)構(gòu)的基準(zhǔn)準(zhǔn)結(jié)構(gòu)OMA(ObjectManagementArchitecture)。。OMA主要涉涉及用于于面向?qū)?duì)象語(yǔ)言言、系統(tǒng)統(tǒng)、數(shù)據(jù)據(jù)庫(kù)及應(yīng)應(yīng)用程序序框架的的統(tǒng)一術(shù)術(shù)語(yǔ)體系系,面向向?qū)ο筌涇浖到y(tǒng)統(tǒng)的抽象象框架和和基于面面向?qū)ο笙蠹夹g(shù)的的分布式式軟件系系統(tǒng)參考考模型等等。OMG于于1991年年末提出出的公共共對(duì)象請(qǐng)請(qǐng)求代理理程序體體系結(jié)構(gòu)構(gòu)CORBA(CommonObjectRequestBrokerArchitecture),是是OMA參考模模型中的的ORB接口技技術(shù)規(guī)范范。這一一標(biāo)準(zhǔn)規(guī)規(guī)定了如如何定義義、創(chuàng)建建、調(diào)度度、引用用對(duì)象,,以及對(duì)對(duì)象之間間如何通通訊。3.2CORBA規(guī)規(guī)范基本本內(nèi)容CORBA是一一個(gè)規(guī)范范(Specification))而不是是程序?qū)崒?shí)現(xiàn)(Implementation),,提供了了一個(gè)允允許在分分布式和和異構(gòu)型型環(huán)境中中應(yīng)用程程序之間間進(jìn)行互互操作的的框架。。CORBA規(guī)規(guī)范的基基本組成成如下圖圖所示。。對(duì)對(duì)象請(qǐng)求求代理ORBORB(ObjectRequestBroker)是是CORBA的的核心,,在CORBA中,所所有的通通訊都通通過ORB進(jìn)行行。ORB作作為一個(gè)個(gè)“軟件件總線””來連接接網(wǎng)絡(luò)上上的不同同對(duì)象,,提供對(duì)對(duì)象的定定位和方方法調(diào)用用,它是是CORBA實(shí)實(shí)現(xiàn)的關(guān)關(guān)鍵。其其主要功功能是定定位服務(wù)務(wù)對(duì)象,,分析客客戶對(duì)象象的請(qǐng)求求,獲取取服務(wù)對(duì)對(duì)象的功功能接口口,在客客戶與服服務(wù)對(duì)象象間建立立通信連連接??蛻魧?duì)象象完全可可以不關(guān)關(guān)心服務(wù)務(wù)器對(duì)象象的位置置、實(shí)現(xiàn)現(xiàn)它所采采用的具具體技術(shù)術(shù)和工作作的硬件件平臺(tái)。。接接口定義義語(yǔ)言IDLIDL((InterfaceDefinitionLanguage))是用于于描述對(duì)對(duì)象接口口的一種種高級(jí)符符號(hào)語(yǔ)言言。IDL不涉涉及任何何接口的的實(shí)現(xiàn)細(xì)細(xì)節(jié),所所有COBRA系統(tǒng)都都根據(jù)IDL用用某種特特定語(yǔ)言言來實(shí)現(xiàn)現(xiàn)接口。。IDL是是獨(dú)立于于其他編編程語(yǔ)言言的功能能描述性性語(yǔ)言。。利用IDL,,完成CORBA服務(wù)務(wù)對(duì)象方方法的說說明,然然后利用用語(yǔ)言映映射工具具,將用用IDL定義的的CORBA對(duì)對(duì)象方法法說明翻翻譯成高高級(jí)編程程語(yǔ)言的的接口說說明。IDL描描述通常常以接口口庫(kù)的方方式進(jìn)行行存貯。。接接口庫(kù)CORBA引入入接口倉(cāng)倉(cāng)庫(kù)(InterfaceRepository)的的目的在在于使服服務(wù)對(duì)象象能夠提提供持久久的對(duì)象象服務(wù)。。將接口口信息存存入接口口倉(cāng)庫(kù)后后,如果果客戶端端應(yīng)用提提交動(dòng)態(tài)態(tài)調(diào)用請(qǐng)請(qǐng)求(DynamicInvocation)),ORB可以以根據(jù)接接口倉(cāng)庫(kù)庫(kù)中的接接口信息息及分布布環(huán)境下下數(shù)據(jù)對(duì)對(duì)象的描描述,獲獲取請(qǐng)求求調(diào)用所所需的信信息。接接口信息息包括了了所有描描述服務(wù)務(wù)對(duì)象屬屬性、操操作、自自定義數(shù)數(shù)據(jù)類型型及異常常處理的的IDL定義。?;緦?duì)象象適配器器BOABOA((BasicObjectAdapter))是為服服務(wù)對(duì)象象端管理理對(duì)象引引用和實(shí)實(shí)現(xiàn)而引引入的。。CORBA規(guī)規(guī)范中要要求系統(tǒng)統(tǒng)實(shí)現(xiàn)時(shí)時(shí)必須有有一種對(duì)對(duì)象適配配器。對(duì)對(duì)象適配配器完成成如下功功能:生成并解釋釋對(duì)象的引引用,把客客戶端的對(duì)對(duì)象引用映映射到服務(wù)務(wù)對(duì)象的功功能中;激活或撤消消對(duì)象的實(shí)實(shí)現(xiàn);注冊(cè)服務(wù)功功能的實(shí)現(xiàn)現(xiàn);確保對(duì)象引引用的安全全性;完成對(duì)服務(wù)務(wù)對(duì)象方法法的調(diào)用。。作為CORBA設(shè)計(jì)計(jì)中常用的的對(duì)象適配配器——基基本對(duì)象適適配器BOA,在分分布式應(yīng)用用程序設(shè)計(jì)計(jì)中是必要要的元素。。ORB將將服務(wù)請(qǐng)求求的參數(shù)及及操作控制制權(quán)傳遞給給BOA,,由BOA將執(zhí)行結(jié)結(jié)果返回給給ORB。。BOA用用服務(wù)對(duì)象象骨架(Skeleton))將ORB和對(duì)象實(shí)實(shí)現(xiàn)中的方方法聯(lián)系在在一起,服服務(wù)對(duì)象骨骨架中相應(yīng)應(yīng)的方法將將對(duì)BOA方法的請(qǐng)請(qǐng)求調(diào)用映映射為服務(wù)務(wù)對(duì)象中的的方法。3.2.5靜態(tài)請(qǐng)請(qǐng)求接口SIISII(StaticInvocationInterface)假假設(shè)在編譯譯時(shí)刻客戶戶對(duì)象能夠夠明確了解解服務(wù)對(duì)象象的接口,,即客戶與與服務(wù)器之之間的關(guān)系系應(yīng)當(dāng)是可可知的、固固定的,服服務(wù)接口的的任何改變變都會(huì)導(dǎo)致致軟件系統(tǒng)統(tǒng)的重新編編譯。SII是由由IDL描描述的。3.2.6動(dòng)態(tài)請(qǐng)請(qǐng)求接口DIIDII(DynamicInvocationInterface))允許在客客戶端動(dòng)態(tài)態(tài)創(chuàng)建和調(diào)調(diào)用對(duì)服務(wù)務(wù)對(duì)象的請(qǐng)請(qǐng)求。一個(gè)個(gè)請(qǐng)求包括括對(duì)象引用用、操作和和參數(shù)列表表。與新服服務(wù)對(duì)象及及其行為相相關(guān)的信息息可以通過過接口庫(kù)獲獲得,客戶戶程序根據(jù)據(jù)這些信息息可以在運(yùn)運(yùn)行時(shí)刻動(dòng)動(dòng)態(tài)構(gòu)造請(qǐng)請(qǐng)求??蛻魧?duì)象的的句柄(Stub)和服務(wù)對(duì)對(duì)象的Skeleton是IDL與與對(duì)象實(shí)現(xiàn)現(xiàn)語(yǔ)言之間間的橋梁。??蛻魧?duì)象的的Stub是IDL定義的方方法接口經(jīng)經(jīng)IDL編編譯器編譯譯后,在編編寫客戶對(duì)對(duì)象時(shí),高高級(jí)編程語(yǔ)語(yǔ)言可應(yīng)用用的用于識(shí)識(shí)別服務(wù)對(duì)對(duì)象方法的的代碼,提提供服務(wù)對(duì)對(duì)象接口的的簡(jiǎn)要說明明。服務(wù)對(duì)對(duì)象的骨架架是IDL定義的方方法接口經(jīng)經(jīng)IDL編編譯器編譯譯后,形成成的說明服服務(wù)對(duì)象提提供方法的的框架。對(duì)對(duì)于服務(wù)對(duì)對(duì)象接口中中的每個(gè)方方法,必須須在服務(wù)對(duì)對(duì)象程序中中實(shí)現(xiàn)。3.3服服務(wù)請(qǐng)求的的實(shí)現(xiàn)方式式CORBA的底層結(jié)結(jié)構(gòu)是基于于面向?qū)ο笙竽P偷?,,由IDL、ORB和IIOP標(biāo)準(zhǔn)協(xié)協(xié)議(InternetInter-ORBProtocol,也稱稱網(wǎng)絡(luò)ORB交換協(xié)協(xié)議)3個(gè)個(gè)關(guān)鍵模塊塊組成。IDL使得得所有CORBA對(duì)對(duì)象以一一種方式被被描述,僅僅僅需要一一個(gè)由本地地語(yǔ)言(C/C++、COOBOL或或Java)到IDL的“橋橋梁”。CORBA對(duì)象的互互通信要以以O(shè)RB為為中介,這這種互通信信可以在多多種流行通通信協(xié)議((如TCP/IP或或IPX/SPX))之上實(shí)現(xiàn)現(xiàn)。在TCP/IP上,來自自于不同開開發(fā)商的ORB用IIOP標(biāo)標(biāo)準(zhǔn)協(xié)議進(jìn)進(jìn)行通訊。。關(guān)于對(duì)象請(qǐng)請(qǐng)求的實(shí)現(xiàn)現(xiàn)方式,CORBA規(guī)范中定定義客戶程程序可以用用動(dòng)態(tài)調(diào)用用接口DII方式或或通過IDL文件經(jīng)經(jīng)編譯后在在客戶端生生成的Stub方式式提出服務(wù)務(wù)請(qǐng)求。在提出請(qǐng)求求時(shí),客戶戶可以使用用動(dòng)態(tài)調(diào)用用接口或者者IDL句句柄??蛻魧⑿枰瓿傻墓すぷ鹘唤oORB,由由ORB決決定由哪一一個(gè)對(duì)象實(shí)實(shí)例完成這這個(gè)請(qǐng)求,,然后激活活這個(gè)對(duì)象象,將完成成請(qǐng)求所需需要的參數(shù)數(shù)傳送給這這個(gè)激活的的對(duì)象。對(duì)象的接口口有兩種定定義方式,,可以使用用IDL進(jìn)進(jìn)行靜態(tài)定定義,這種種語(yǔ)言根據(jù)據(jù)進(jìn)行的操操作和傳送送的參數(shù)定定義對(duì)象。。另一種方方法,可以以將接口加加入接口庫(kù)庫(kù)服務(wù)中,,允許在運(yùn)運(yùn)行時(shí)對(duì)這這些成為組組件的接口口進(jìn)行訪問問,這兩種種方法是等等效的。對(duì)象實(shí)現(xiàn)通通過IDL產(chǎn)生的框框架或通過過動(dòng)態(tài)框架架接收到調(diào)調(diào)用請(qǐng)求,,在處理這這些請(qǐng)求時(shí)時(shí),對(duì)象實(shí)實(shí)現(xiàn)可以調(diào)調(diào)用對(duì)象適適配器和ORB。3.4基基于CORBA應(yīng)用用的優(yōu)點(diǎn)CORBA是開放式式的、獨(dú)立立于廠商、、用于網(wǎng)絡(luò)絡(luò)上計(jì)算機(jī)機(jī)應(yīng)用的底底層結(jié)構(gòu)。。任何廠家家、計(jì)算機(jī)機(jī)、操作系系統(tǒng)、編程程語(yǔ)言及網(wǎng)網(wǎng)絡(luò)環(huán)境下下的基于CORBA的應(yīng)用均均使用IIOP標(biāo)準(zhǔn)準(zhǔn)協(xié)議,所所以任何基基于CORBA的應(yīng)應(yīng)用均能協(xié)協(xié)同工作。。CORBA對(duì)象可以以用任何一一種CORBA軟件件開發(fā)商所所支持的語(yǔ)語(yǔ)言來編寫寫,也可以以運(yùn)行在任任何一種CORBA軟件開發(fā)發(fā)商所支持持的平臺(tái)上上。CORBA是在不同同平臺(tái)、不不同語(yǔ)言之之間實(shí)現(xiàn)對(duì)對(duì)象通信的的模型,它它為分布式式應(yīng)用環(huán)境境下對(duì)象資資源共享、、代碼重用用、可移植植和對(duì)象間間相互訪問問建立了通通用標(biāo)準(zhǔn),,同樣也為為在大量硬硬件、軟件件之間實(shí)現(xiàn)現(xiàn)互操作提提供了良好好的解決方方案。與傳統(tǒng)的DCOM相相比,CORBA體體系結(jié)構(gòu)獨(dú)獨(dú)立于語(yǔ)言言、獨(dú)立于于工作平臺(tái)臺(tái)等方面的的特點(diǎn),使使得基于CORBA開發(fā)的應(yīng)應(yīng)用系統(tǒng)在在網(wǎng)絡(luò)實(shí)現(xiàn)現(xiàn)中具有更更大的優(yōu)勢(shì)勢(shì)。4.EJB與J2EE4.1發(fā)發(fā)展歷史在JDK((JavaDevelopmentKit)1.0版的框架架,Java開發(fā)發(fā)是以Applet和Application應(yīng)應(yīng)用程序作作為中心的的。Servlet在在許多方面面與Applet相似似,它是專專門為在Web服服務(wù)器機(jī)機(jī)器上運(yùn)行行而設(shè)計(jì)的的Java程序序,Servlet是由容器器管理的Web組件件,可產(chǎn)生生動(dòng)態(tài)內(nèi)容容。JavaServlet的的出現(xiàn),,為應(yīng)用程程序員使用用Java來創(chuàng)建Web應(yīng)用用程序開辟辟了新的途途徑。但是是,僅有Servlet還不不能為真正正的企業(yè)計(jì)計(jì)算提供完完整的模型型。JavaServlet與CGI程程序一樣樣,最適合合充當(dāng)連接接前端Web請(qǐng)請(qǐng)求與后端端數(shù)據(jù)資源源的中間層層組件。JavaBeans規(guī)范將組組件軟件的的概念引入入到Java編程的的領(lǐng)域。JavaBeans規(guī)范為Java開開發(fā)人員提提供了一種種“組件化化”其Java類類的方法法。Bean是一些些Java類,可在在一個(gè)可視視的構(gòu)建器器工具中操操作它們,,并且可以以將它們一一起編寫到到應(yīng)用程序序中。任何何具有某種種特性和事事件接口約約定的Java類都都可以是一一個(gè)Bean。EJB(EnterpriseJavaBeans)規(guī)范范的第一版版以初稿形形式于1997年12月公布布,并于1998年年3月作為為1.0版發(fā)行行。EJB體系結(jié)構(gòu)構(gòu)的目標(biāo)是是:EJB體系系結(jié)構(gòu)將是是標(biāo)準(zhǔn)的組組件體系結(jié)結(jié)構(gòu),用于于以Java編編程語(yǔ)言構(gòu)構(gòu)建分布式式的面向?qū)?duì)象的商務(wù)務(wù)應(yīng)用程序序。EJB體系系結(jié)構(gòu)將使使編寫應(yīng)用用程序變得得容易。EJB應(yīng)用用程序?qū)⒆褡裱璊ava編程語(yǔ)語(yǔ)言的“一一次編寫,,隨處運(yùn)行行”的原則則。EJB體系系結(jié)構(gòu)將處處理企業(yè)應(yīng)應(yīng)用程序生生命周期中中的開發(fā)、、部署和運(yùn)運(yùn)行等方面面。EJB體系系結(jié)構(gòu)將定定義一些約約定,這些些約定使多多個(gè)供應(yīng)商商提供的工工具能夠開開發(fā)并部署署可在運(yùn)行行時(shí)互操作作的組件。。EJB體系系結(jié)構(gòu)將與與現(xiàn)有的服服務(wù)器平臺(tái)臺(tái)兼容。供供應(yīng)商將能能夠擴(kuò)展它它們的現(xiàn)有有產(chǎn)品,以以支持EJB組件。。EJB體系系結(jié)構(gòu)將與與Java編程程語(yǔ)言編寫寫的其他API兼兼容。EJB體系結(jié)結(jié)構(gòu)將提供EJB組組件和非Java編編程語(yǔ)言應(yīng)用用程序之間的的互操作性。。EJB體系結(jié)結(jié)構(gòu)將與CORBA兼兼容。J2EE(Java2Platform,,EnterpriseEdition)為為EJB技技術(shù)提供了工工作環(huán)境。事事實(shí)上,Sun把若干干項(xiàng)軟件技術(shù)術(shù)都設(shè)想為這這樣的構(gòu)件塊塊,它們將使使大型企業(yè)能能夠把以任務(wù)務(wù)為關(guān)鍵的業(yè)業(yè)務(wù)系統(tǒng)移植植到Java環(huán)境中,而而EJB技技術(shù)不過是這這些技術(shù)之一一。EJB技技術(shù)并不是是一項(xiàng)獨(dú)立的的技術(shù),它建建立在其他他Java技術(shù)之上上,這些技術(shù)術(shù)由Sun和其他IT公司司聯(lián)合規(guī)定,,它們一起提提供了這個(gè)框框架的內(nèi)容,,該框架就稱稱為J2EE。J2EE中中包括以下技技術(shù):EnterpriseJavaBeans技技術(shù)JavaInterfaceDefinitionLanguage(IDL)JavaMessageService(JMS)APIJavaNamingandDirectoryInterface(JNDI)JavaRemoteMethodInvocation(RMI)和和ObjectSerializationJavaServletAPIJavaTransactionAPI(JTA)JavaTransactionService(JTS)JavaServerPages(JSP)技技術(shù)JDBC數(shù)數(shù)據(jù)據(jù)庫(kù)訪訪問API4.2J2EE應(yīng)應(yīng)用模模型J2EE多多層體體系的的思想想在很很大程程度上上受到到了MVC設(shè)計(jì)計(jì)模式式的啟啟發(fā)和和影響響。所所謂MVC,即即Model-View-Controller,,它是是一種種在復(fù)復(fù)雜的的應(yīng)用用系統(tǒng)統(tǒng)中劃劃分和和界定定各個(gè)個(gè)組件件的職職能和和作用用范圍圍的設(shè)設(shè)計(jì)模模式。。在MVC設(shè)計(jì)計(jì)模式式中,,Model即即模型型,是是處理理核心心數(shù)據(jù)據(jù)模型型或?qū)崒?shí)現(xiàn)核核心應(yīng)應(yīng)用功功能的的部分分;View即即視圖圖,主主要與與用戶戶界面面有關(guān)關(guān)。MVC設(shè)計(jì)計(jì)模式式認(rèn)為為這些些不同同的部部分應(yīng)應(yīng)該盡盡可能能地相相互獨(dú)獨(dú)立,,它們們之間間的交交互則則由Controller((控制制器))協(xié)調(diào)調(diào)。為了更更好地地控制制和管管理這這些應(yīng)應(yīng)用,,支持持各種種用戶戶的業(yè)業(yè)務(wù)功功能被被連接接到中中間層層。J2EE應(yīng)應(yīng)用模模式定定義了了用于于以多多層的的方式式實(shí)現(xiàn)現(xiàn)應(yīng)用用的一一種結(jié)結(jié)構(gòu),,它避避免了了兩層層結(jié)構(gòu)構(gòu)的局局限性性,并并提供供足夠夠的可可伸縮縮性、、可接接入性性和可可管理理性。。中中間層層在J2EE平臺(tái)臺(tái),中中間層層業(yè)務(wù)務(wù)功能能是由由企業(yè)業(yè)EJB組組件實(shí)實(shí)現(xiàn)。。這些些企業(yè)業(yè)Bean讓服服務(wù)開開發(fā)者者將精精力集集中在在業(yè)務(wù)務(wù)邏輯輯,并并讓EJB服務(wù)務(wù)的處處理提提供可可靠、、可伸伸縮服服務(wù)的的復(fù)雜雜工作作。客客戶層層J2EE平平臺(tái)支支持幾幾種類類型的的客戶戶端。。許多多J2EE服務(wù)務(wù)被設(shè)設(shè)計(jì)成成支持持Web瀏瀏覽器器的客客戶端端。這這些服服務(wù)通通過動(dòng)動(dòng)態(tài)生生成的的HTML頁(yè)面面和表表格與與客戶戶端進(jìn)進(jìn)行交交互操操作。。更復(fù)雜雜的服服務(wù)將將直接接與第第一層層客戶戶端直直接交交換數(shù)數(shù)據(jù)。。這里里,JSP和Servlet用于于規(guī)格格化業(yè)業(yè)務(wù)數(shù)數(shù)據(jù),,以方方便J2EE客客戶端端處理理。這這些客客戶端端既能能在一一個(gè)Web瀏覽覽器以以JavaApplet方方式運(yùn)運(yùn)行,,也能能用以以Java技術(shù)術(shù)為基基礎(chǔ)的的程序序方式式運(yùn)行行。企企業(yè)信信息系系統(tǒng)EIS一個(gè)服服務(wù)的的中間間層的的業(yè)務(wù)務(wù)模塊塊必須須存取取和更更新在在企業(yè)業(yè)應(yīng)用用系統(tǒng)統(tǒng)EIS層層的信信息。。下列列標(biāo)準(zhǔn)準(zhǔn)是Java服服務(wù)的的API,,它們們提供供了對(duì)對(duì)企業(yè)業(yè)信息息系統(tǒng)統(tǒng)的基基本存存取功功能::JDBC,用于于存取數(shù)數(shù)據(jù)的Java標(biāo)準(zhǔn)API;;JNDI(JavaNamingandDirectoryInterface),用用于從企企業(yè)的名名字和目目錄服務(wù)務(wù)存取信信息的標(biāo)標(biāo)準(zhǔn)API;JMS(JavaMessageService),通過過消息中中間件發(fā)發(fā)送和接接收信息息的標(biāo)準(zhǔn)準(zhǔn)API;JavaMail,發(fā)發(fā)送電子子郵件的的標(biāo)準(zhǔn)API;;JavaIDL,調(diào)用用CORBA服服務(wù)的標(biāo)標(biāo)準(zhǔn)API。4.3J2EE中間間件的體體系結(jié)構(gòu)構(gòu)4.3.1J2EE總體結(jié)結(jié)構(gòu)J2EE應(yīng)用服服務(wù)器由由四個(gè)部部分組成成:Applet容器器、應(yīng)用用客戶端端容器、、Web容器和和EJB容器,,它們之之間的關(guān)關(guān)系由下下圖表示示。容器是應(yīng)應(yīng)用服務(wù)務(wù)器的運(yùn)運(yùn)行環(huán)境境,J2EE為為容器中中的應(yīng)用用組件提提供服務(wù)務(wù)。應(yīng)用客戶戶端容器器通過用用于連接接數(shù)據(jù)庫(kù)庫(kù)系統(tǒng)的的JavaAPI、、JDBCAPI與與應(yīng)用服服務(wù)器要要求的數(shù)數(shù)據(jù)庫(kù)相相連接。。包含有有JSP和Servlet的的Web容器和和EJB容器也也使用同同樣的接接口與數(shù)數(shù)據(jù)庫(kù)相相連接。。J2EE應(yīng)用服服務(wù)器為為應(yīng)用組組件的部部署、管管理和執(zhí)執(zhí)行提供供了支持持。根據(jù)據(jù)對(duì)應(yīng)用用服務(wù)器器的依賴賴程度,,應(yīng)用組組件可以以被分成成3種類類型:在應(yīng)用服服務(wù)器中中被部署署、管理理和執(zhí)行行的組件件,這樣樣的組件件有Web組件件和EJB組件件。在應(yīng)用服服務(wù)器中中被部署署、管理理,但是是被下載載到一個(gè)個(gè)客戶端端系統(tǒng)上上去執(zhí)行行的組件件。不完全按按照應(yīng)用用服務(wù)器器的要求求被部署署和管理理的組件件,應(yīng)用用客戶端端就是這這樣的組組件。4.3.2J2EE應(yīng)用服服務(wù)器體體系結(jié)構(gòu)構(gòu)瀏覽器Servlet

or

JSP容器EJBServerBCHTTPEntity

BeanHOMEREMOTESession

BeanHOMEREMOTE數(shù)據(jù)J2EE模型A數(shù)據(jù)JDBCRMI/IIOPJDBC應(yīng)用服務(wù)務(wù)器4.4J2EE應(yīng)用用組件J2EE應(yīng)用組組件是指指在應(yīng)用用服務(wù)器器中運(yùn)行行的軟件件組件,,主要有有JSP、EJB和Servlet三種。。JSP提提供了一一種在網(wǎng)網(wǎng)頁(yè)中嵌嵌入組件件的方式式,并且且允許生生成相應(yīng)應(yīng)的網(wǎng)頁(yè)頁(yè)最終發(fā)發(fā)送給客客戶。JSP網(wǎng)網(wǎng)頁(yè)可以以包含HTML、Java代代碼及JavaBeans組組件。JSP網(wǎng)網(wǎng)頁(yè)實(shí)際際上是Servlet編程模模型的一一個(gè)擴(kuò)充充。當(dāng)用用戶請(qǐng)求求一個(gè)JSP網(wǎng)網(wǎng)頁(yè)時(shí),,Web容器會(huì)會(huì)把相應(yīng)應(yīng)的JSP網(wǎng)頁(yè)頁(yè)編譯成成一個(gè)Servlet。接著著此Web容器器調(diào)用這這個(gè)Servlet,,并且把把得到的的內(nèi)容返返回給Web瀏瀏覽器。。JSP與與ASP技術(shù)非非常相似似。兩者者都提供供在HTML代代碼中混混合某種種程序代代碼、由由語(yǔ)言引引擎解釋釋執(zhí)行程程序代碼碼的能力力。但是,ASP的的編程語(yǔ)語(yǔ)言是VBScript之類類的腳本本語(yǔ)言,,JSP使用的的是Java,,這是兩兩者最明明顯的區(qū)區(qū)別。此此外,ASP與與JSP還有一一個(gè)更為為本質(zhì)的的區(qū)別::兩種語(yǔ)語(yǔ)言引擎擎用完全全不同的的方式處處理頁(yè)面面中嵌入入的程序序代碼。。在ASP下,VBScript代碼碼被ASP引擎擎解釋執(zhí)執(zhí)行;在在JSP下,代代碼被編編譯成Servlet并由Java虛擬機(jī)機(jī)執(zhí)行。。Servlet是一個(gè)個(gè)以Java技技術(shù)為基基礎(chǔ)的Web組組件,它它被一個(gè)個(gè)容器管管理,它它能產(chǎn)生生動(dòng)態(tài)的的內(nèi)容。。Servlet通過過Servlet容器器實(shí)現(xiàn)的的請(qǐng)求/應(yīng)答機(jī)機(jī)制與Web客客戶端進(jìn)進(jìn)行交互互。所有的Servlet容器必必須將HTTP作為請(qǐng)請(qǐng)求和應(yīng)應(yīng)答的協(xié)協(xié)議。一個(gè)Servlet可可以具有有這樣一一個(gè)處理理流程::一個(gè)客戶戶端連接接到一個(gè)個(gè)Web服務(wù)器器,并發(fā)發(fā)送一個(gè)個(gè)HTTP請(qǐng)求求到這個(gè)個(gè)Web服務(wù)器器。請(qǐng)求被Web服服務(wù)器接接收并轉(zhuǎn)轉(zhuǎn)交給Servlet容器。。Servlet容器器可以與與Web服務(wù)器器在相同同主機(jī)或或不同的的主機(jī)上上運(yùn)行。。Servlet容器在在其配置置的Servlet中中找到調(diào)調(diào)用的Servlet,然后后用代表表請(qǐng)求和和應(yīng)答的的對(duì)象調(diào)調(diào)用它。。Servlet使用請(qǐng)請(qǐng)求對(duì)象象找到誰(shuí)誰(shuí)是遠(yuǎn)端端的用戶戶,并通通過應(yīng)答答對(duì)象將將生成的的數(shù)據(jù)返返回客戶戶端。當(dāng)Servlet完成成了對(duì)請(qǐng)請(qǐng)求的處處理,Servlet容器確確認(rèn)應(yīng)答答已經(jīng)完完成,則則將控制制權(quán)返回回給Web服務(wù)務(wù)器。EJB是是用于開開發(fā)安全全、可擴(kuò)擴(kuò)展、事事務(wù)型及及多用戶戶組件的的一種分分布式組組件模型型。簡(jiǎn)單單地講,,EJB是包含含業(yè)務(wù)邏邏輯的可可重用軟軟件單元元。正如如JSP網(wǎng)頁(yè)允允許把應(yīng)應(yīng)用程序序和表示示邏輯分分開,EJB允允許把應(yīng)應(yīng)用程序序邏輯與與系統(tǒng)級(jí)級(jí)服務(wù)分分開,這這樣開發(fā)發(fā)者可以以集中精精力于具具體業(yè)務(wù)務(wù)問題,,而不是是系統(tǒng)編編程。4.5EJB組件的的基本形形式小程序(Bean)業(yè)業(yè)務(wù)對(duì)象象具有三三種基本本形式,,它們分分別是會(huì)會(huì)話Bean、、實(shí)體Bean和消息息驅(qū)動(dòng)Bean,通常常沒有必必要三者者都實(shí)現(xiàn)現(xiàn)。會(huì)會(huì)話Bean會(huì)話(Session)Bean本本身有兩兩種類型型。一種種是說明明性會(huì)話話Bean,這這是一種種用于表表示一個(gè)個(gè)客戶與與系統(tǒng)交交互的短短暫對(duì)象象,只存存在于客客戶會(huì)話話中。另一種形形式是無無狀態(tài)會(huì)會(huì)話Bean,,不在客客戶請(qǐng)求求之間維維護(hù)狀態(tài)態(tài)信息。。會(huì)話bean通常常具有以以下屬性性:代表單個(gè)個(gè)客戶機(jī)機(jī)執(zhí)行可以是事事務(wù)性的的可以更新新共享數(shù)數(shù)據(jù)庫(kù)中中的數(shù)據(jù)據(jù)生存期相相對(duì)較短短其生存期期通常就就

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論