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

下載本文檔

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

文檔簡(jiǎn)介

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

JSP容器EJBServerBCHTTPEntity

BeanHOMEREMOTESession

BeanHOMEREMOTE數(shù)據(jù)J2EE模模型A數(shù)據(jù)JDBCRMI/IIOPJDBC應(yīng)用服務(wù)器器4.4J2EE應(yīng)應(yīng)用組件J2EE應(yīng)應(yīng)用組件是是指在應(yīng)用用服務(wù)器中中運(yùn)行的軟軟件組件,,主要有JSP、EJB和Servlet三種種。4.4.1JSPJSP提供供了一種在在網(wǎng)頁(yè)中嵌嵌入組件的的方式,并并且允許生生成相應(yīng)的的網(wǎng)頁(yè)最終終發(fā)送給客客戶。JSP網(wǎng)頁(yè)可可以包含HTML、、Java代碼及JavaBeans組件。JSP網(wǎng)頁(yè)頁(yè)實(shí)際上是是Servlet編編程模型的的一個(gè)擴(kuò)充充。當(dāng)用戶戶請(qǐng)求一個(gè)個(gè)JSP網(wǎng)網(wǎng)頁(yè)時(shí),Web容器器會(huì)把相應(yīng)應(yīng)的JSP網(wǎng)頁(yè)編譯譯成一個(gè)Servlet。接接著此Web容器調(diào)調(diào)用這個(gè)Servlet,并并且把得到到的內(nèi)容返返回給Web瀏覽器器。JSP與ASP技術(shù)術(shù)非常相似似。兩者都都提供在HTML代代碼中混合合某種程序序代碼、由由語(yǔ)言引擎擎解釋執(zhí)行行程序代碼碼的能力。。但是,ASP的編程程語(yǔ)言是VBScript之之類的腳本本語(yǔ)言,JSP使用用的是Java,這這是兩者最最明顯的區(qū)區(qū)別。此外外,ASP與JSP還有一個(gè)個(gè)更為本質(zhì)質(zhì)的區(qū)別::兩種語(yǔ)言言引擎用完完全不同的的方式處理理頁(yè)面中嵌嵌入的程序序代碼。在ASP下下,VBScript代碼被被ASP引引擎解釋執(zhí)執(zhí)行;在JSP下,,代碼被編編譯成Servlet并由Java虛虛擬機(jī)執(zhí)行行。4.4.2ServletServlet是一一個(gè)以Java技術(shù)術(shù)為基礎(chǔ)的的Web組組件,它被被一個(gè)容器器管理,它它能產(chǎn)生動(dòng)動(dòng)態(tài)的內(nèi)容容。Servlet通過(guò)Servlet容器實(shí)實(shí)現(xiàn)的請(qǐng)求求/應(yīng)答機(jī)機(jī)制與Web客戶端端進(jìn)行交互互。所有的Servlet容器必必須將HTTP作為為請(qǐng)求和應(yīng)應(yīng)答的協(xié)議議。一個(gè)Servlet可以具有有這樣一個(gè)個(gè)處理流程程:一個(gè)客戶端端連接到一一個(gè)Web服務(wù)器,,并發(fā)送一一個(gè)HTTP請(qǐng)求到到這個(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)請(qǐng)求和應(yīng)答答的對(duì)象調(diào)調(diào)用它。Servlet使用用請(qǐng)求對(duì)象象找到誰(shuí)是是遠(yuǎn)端的用用戶,并通通過(guò)應(yīng)答對(duì)對(duì)象將生成成的數(shù)據(jù)返返回客戶端端。當(dāng)Servlet完完成了

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 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)論