第6章基于組件與WebService的軟件開(kāi)發(fā)技術(shù)
《第6章基于組件與WebService的軟件開(kāi)發(fā)技術(shù)》由會(huì)員分享,可在線閱讀,更多相關(guān)《第6章基于組件與WebService的軟件開(kāi)發(fā)技術(shù)(28頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
1、,*,單擊此處編輯母版文本樣式,第二級(jí),第三級(jí),第四級(jí),第五級(jí),單擊此處編輯母版標(biāo)題樣式,第六章,基于組件,/Web Service,的軟件開(kāi)發(fā)技術(shù),6.1 CORBA,組件系統(tǒng),6.2 COM+/J2EE,組件系統(tǒng),6.3 J2EE,組件系統(tǒng),6.4 Web Service,基礎(chǔ),6.5,本章小結(jié),6.,1,CORBA,組件系統(tǒng),6.1.,1,什么是,CORBA,公共對(duì)象請(qǐng)求代理體系結(jié)構(gòu),CORBA,(,Common Object Request Broker Architecture,)是由對(duì)象管理組織,OMG,(,Object Management Group,)提出的應(yīng)用軟件體系結(jié)構(gòu)和
2、對(duì)象技術(shù)規(guī)范,其核心是一套標(biāo)準(zhǔn)的語(yǔ)言、接口和協(xié)議,以支持異構(gòu)分布應(yīng)用程序間的互操作性及獨(dú)立于平臺(tái)和編程語(yǔ)言的對(duì)象重用。,CORBA,在不同平臺(tái)、不同語(yǔ)言之間實(shí)現(xiàn)對(duì)象通信的模型,它為分布式應(yīng)用環(huán)境下對(duì)象資源共享、代碼重用、可移植和對(duì)象間相互訪問(wèn)建立了通用標(biāo)準(zhǔn),同樣也為在大量硬件、軟件之間實(shí)現(xiàn)互操作提供了良好的解決方案。,CORBA,是一個(gè)分布式對(duì)象技術(shù)的規(guī)范,它是針對(duì)多種對(duì)象系統(tǒng)在分布式計(jì)算環(huán)境中如何以對(duì)象方式集成而提出的,它為對(duì)象管理定義了一個(gè)對(duì)象模型,OMG,參考模型(,OMG Reference Model,)及其框架結(jié)構(gòu)。該模型由,ORB,、對(duì)象服務(wù)、公共設(shè)施、領(lǐng)域接口及應(yīng)用對(duì)性等,5,
3、個(gè)主要部分組成。,OMA,參考模型結(jié)構(gòu)如圖,6.1,所示:,圖,6.1 OMA,參考模型,OMG,參考模型中,5,個(gè)主要部分介紹:,(,1,)對(duì)象請(qǐng)求代理,對(duì)象請(qǐng)求代理是整個(gè),CORBA,系統(tǒng)的核心,它的功能類(lèi)似于計(jì)算機(jī)硬件系統(tǒng)中總線的功能,它提供了客戶和服務(wù)對(duì)象之間進(jìn)行信息傳送的通路。,ORB,的作用包括:接受客戶發(fā)出的服務(wù)請(qǐng)求,完成請(qǐng)求在服務(wù)對(duì)象端的映射;自動(dòng)設(shè)定路由尋找服務(wù)對(duì)象;向服務(wù)對(duì)象提交客戶參數(shù);攜帶服務(wù)對(duì)象計(jì)算結(jié)果返回客戶端。,(,2,),CORBA,對(duì)象服務(wù),CORBA,對(duì)象服務(wù)是為實(shí)現(xiàn)對(duì)象而提供的基本服務(wù)集合,是為創(chuàng)建對(duì)象、對(duì)象訪問(wèn)控制、對(duì)象生命期控制、對(duì)象引用等提供的一套基
4、本的功能服務(wù)。,(3)CORBA,公共設(shè)施,CORBA,公共設(shè)施提供了一組更高層的函數(shù),這些函數(shù)包括用戶界面、信息管理等方面的通信設(shè)施,為終端用戶提供一組共享服務(wù)接口,例如綜合文檔、系統(tǒng)管理和電子郵件服務(wù)等。這些服務(wù)不像對(duì)象服務(wù)那么基本。,(4)CORBA,領(lǐng)域接口,CORBA,領(lǐng)域接口與特定的應(yīng)用領(lǐng)域有關(guān),例如制造業(yè)、金融業(yè)、通信行業(yè)等,它為應(yīng)用領(lǐng)域提供接口。,(5),應(yīng)用接口,應(yīng)用接口(,Application Interface,)是由銷(xiāo)售商提供的、可控制其接口的產(chǎn)品,相當(dāng)于傳統(tǒng)的應(yīng)用表示。,6.1.2,CORBA,體系結(jié)構(gòu),CORBA,體系結(jié)構(gòu)如圖,6.2,所示:,圖,6.2 CORB
5、A,的體系結(jié)構(gòu),1.,對(duì)象請(qǐng)求代理,ORB,ORB,提供了對(duì)請(qǐng)求與回答的通信機(jī)制,使,CORBA,應(yīng)用開(kāi)發(fā)者無(wú)需關(guān)心具體通信細(xì)節(jié),而把注意力集中到實(shí)際的應(yīng)用程序邏輯中去。總的來(lái)說(shuō),,ORB,的作用包括:接受客戶發(fā)出的服務(wù)請(qǐng)求,完成請(qǐng)求在服務(wù)對(duì)象端的映射;自動(dòng)設(shè)定路由尋找服務(wù)對(duì)象;提交客戶參數(shù);攜帶服務(wù)對(duì)象計(jì)算結(jié)果返回客戶端。,當(dāng)客戶向服務(wù)對(duì)象發(fā)出事務(wù)請(qǐng)求時(shí),客戶是向服務(wù)對(duì)象發(fā)出請(qǐng)求的實(shí)體,服務(wù)對(duì)象應(yīng)包括該方法的數(shù)據(jù)資源以及實(shí)現(xiàn)代碼。對(duì)象請(qǐng)求代理的作用就是定位服務(wù)對(duì)象,接收客戶發(fā)出的服務(wù)請(qǐng)求并將服務(wù)對(duì)象執(zhí)行的結(jié)果返回給客戶。請(qǐng)求發(fā)出后,客戶對(duì)象采用輪詢等方式來(lái)獲取服務(wù)對(duì)象計(jì)算的結(jié)果。,2.OMG
6、 IDL,OMG IDL,是指對(duì)象管理結(jié)構(gòu),OMA,(,Object Management Architecture,)的接口定義語(yǔ)言(,IDL,,,Interface Definition Language,)。,OMG IDL,是一種說(shuō)明性的語(yǔ)言,支持,C+,語(yǔ)言中的常量、類(lèi)型和方法的聲明。采用,OMG IDL,這樣的說(shuō)明性語(yǔ)言,其目的在于克服特定編程語(yǔ)言在軟件系統(tǒng)集成及互操作方面的限制。,OMG IDL,文件描述數(shù)據(jù)類(lèi)型和方法框架,而服務(wù)對(duì)象則為一個(gè)指定的對(duì)象實(shí)現(xiàn)提供上述數(shù)據(jù)和方法。,OMG IDL,文件描述了服務(wù)器提供的服務(wù)功能,客戶機(jī)可以根據(jù)該接口文件描述的方法向服務(wù)器提出業(yè)務(wù)請(qǐng)求。
7、,3.,對(duì)象適配器,對(duì)象適配器是為服務(wù)對(duì)象端管理對(duì)象引用和實(shí)現(xiàn)而引入的,是對(duì)象實(shí)現(xiàn)訪問(wèn),ORB,的主要方式,通過(guò)對(duì)象適配器,,ORB,可以定制接口,為一組特定的對(duì)象提供服務(wù)。,對(duì)象適配器介于,ORB,內(nèi)核和對(duì)象實(shí)現(xiàn)之間,負(fù)責(zé)服務(wù)對(duì)象的注冊(cè)、對(duì)象引用的創(chuàng)建和解釋、服務(wù)進(jìn)程的激活和結(jié)束以及客戶請(qǐng)求的奮發(fā)。在,CORBA,規(guī)范中要求系統(tǒng)實(shí)現(xiàn)時(shí)對(duì)象適配器完成如下功能:,生成并解釋對(duì)象的引用,把客戶端的對(duì)象引用映射到服務(wù)對(duì)象的功能中;,激活或撤消對(duì)象的實(shí)現(xiàn);,注冊(cè)服務(wù)功能的實(shí)現(xiàn);,確保對(duì)象引用的安全性;,完成對(duì)服務(wù)對(duì)象方法的調(diào)用。,4.,接口庫(kù)和實(shí)現(xiàn)庫(kù),接口庫(kù)是存儲(chǔ)相關(guān)對(duì)象接口定義的模塊。,CORBA,
8、引入接口庫(kù)的目的在于使服務(wù)對(duì)象能夠提供持久的對(duì)象服務(wù)。接口庫(kù)作為,CORBA,系統(tǒng)的組成部分,管理和提供到,OMG IDL,映射接口定義的訪問(wèn)。接口庫(kù)中信息的重要作用是連接各個(gè),ORB,,當(dāng)請(qǐng)求將對(duì)象從一個(gè),ORB,傳遞給另一個(gè),ORB,時(shí),接收端,ORB,需要?jiǎng)?chuàng)建一個(gè)新對(duì)象來(lái)代表所傳遞的對(duì)象,這就需要在接收端,ORB,的接口倉(cāng)庫(kù)中匹配接口信息。通過(guò)從服務(wù)請(qǐng)求端,ORB,的接口倉(cāng)庫(kù)中獲得接口標(biāo)識(shí),就可以在接收端的接口倉(cāng)庫(kù)中匹配到該接口。,實(shí)現(xiàn)倉(cāng)庫(kù)是存儲(chǔ)與,ORB,對(duì)象的實(shí)現(xiàn)有關(guān)信息的模塊。如果認(rèn)為對(duì)象實(shí)現(xiàn)可以共享,則可以將實(shí)現(xiàn)功能放入實(shí)現(xiàn)倉(cāng)庫(kù)中,從而創(chuàng)建基于庫(kù)的,ORB,。,5.,上下文對(duì)象,
9、上下文對(duì)象是一組由標(biāo)識(shí)符和相應(yīng)字符串對(duì)構(gòu)成的列表。程序設(shè)計(jì)人員可以用定義在上下問(wèn)接口的操作來(lái)創(chuàng)建和操作上下文對(duì)象。上下文對(duì)象包含客戶機(jī)、運(yùn)行環(huán)境或者在請(qǐng)求中沒(méi)有作為參數(shù)進(jìn)行傳遞的信息。,上下文對(duì)象可以以永久或臨時(shí)方式存儲(chǔ),客戶機(jī)應(yīng)用程序用上下文對(duì)象來(lái)獲取運(yùn)行環(huán)境:而,ORB,用上下文對(duì)象中的信息來(lái)決定服務(wù)器的定位及被請(qǐng)求方法激活。,6.,客戶樁,客戶樁是客戶端的代碼,客戶應(yīng)用程序通過(guò)客戶樁向服務(wù)器應(yīng)用程序發(fā)送請(qǐng)求??蛻舴酱a根為客戶提供靜態(tài)調(diào)用方式。客戶方的碼根負(fù)責(zé)把用戶的請(qǐng)求進(jìn)行編碼發(fā)送到對(duì)象實(shí)現(xiàn)端,并對(duì)接收到的處理結(jié)果進(jìn)行解碼,把結(jié)果或異常信息返回給用戶,從客戶角度看,就如同是一個(gè)本地調(diào)用,
10、是遠(yuǎn)程服務(wù)器的代理。碼根是一段程序代碼,為接口的每一種操作提供一種虛實(shí)現(xiàn),具有以下特點(diǎn):碼根是自動(dòng)生成的,不需程序員的參與。,ORB,根據(jù),IDL,的接口定義生成響應(yīng)的客戶端碼根和服務(wù)器端景泰框架。碼根是靜態(tài)的,一經(jīng)生成便不再改變,除非改變響應(yīng)的,IDL,并重新生成。碼根是與,ORB,的具體實(shí)現(xiàn)相關(guān)的。,7.,服務(wù)端程序框架,服務(wù)方的程序框架是在對(duì)象實(shí)現(xiàn)方與客戶方碼根相對(duì)應(yīng)的實(shí)現(xiàn)機(jī)制上,服務(wù)方的程序框架對(duì)用戶請(qǐng)求進(jìn)行解碼,定位所要求的對(duì)象的方法,執(zhí)行該方法并把執(zhí)行結(jié)果或異常信息編碼后發(fā)送回客戶。這種調(diào)用適用于在客戶執(zhí)行前服務(wù)已知的情況,通常成為靜態(tài)調(diào)用方式,它支持同步請(qǐng)求調(diào)用。,6.,2,CO
11、M+,組件系統(tǒng),COM+,并不,COM,的新版本,我們可以把它理解為,COM,的新發(fā)展,或者為,COM,更高層次上的應(yīng)用。,COM+,的底層結(jié)構(gòu)仍然以,COM,為基礎(chǔ),它幾乎包容了,COM,的所有內(nèi)容。,COM+,倡導(dǎo)了一種新的概念,它把,COM,組件軟件提升到應(yīng)用層面而不再是底層的軟件結(jié)構(gòu),它通過(guò)操作系統(tǒng)的各種支持,使組件對(duì)象模型建立在應(yīng)用層上,把所有組件的底層細(xì)節(jié)留給操作系統(tǒng),因此,,COM+,與操作系統(tǒng)的結(jié)合更加緊密。,1.Windows DNA,策略,Windows DNA,是,Microsoft,多年積累下來(lái)的技術(shù)精華集合起來(lái)而形成的一個(gè)完整的、多層結(jié)構(gòu)的企業(yè)應(yīng)用總體方案,它使,Wi
12、ndows,真正成為企業(yè)應(yīng)用平臺(tái)。,Windows DNA,的結(jié)構(gòu)如圖,6.3,所示:,圖,6.3 Windows DNA,結(jié)構(gòu),Windows DNA,各部分結(jié)構(gòu)介紹:,(,1,)表示層負(fù)責(zé)應(yīng)用程序與客戶之間的直接交互,主要有兩種類(lèi)型的客戶機(jī),即基于,EXE,可執(zhí)行文件的應(yīng)用程序和基于網(wǎng)絡(luò)瀏覽器的,Web,客戶,它們分別采用,DCOM,協(xié)議和,HTTP,協(xié)議與事務(wù)邏輯層進(jìn)行通信。,(,2,)事務(wù)邏輯層是整個(gè)應(yīng)用程序的關(guān)鍵,它負(fù)責(zé)系統(tǒng)的工作流程和業(yè)務(wù)處理。在事務(wù)邏輯層,,Windows DNA,包含了一組功能很強(qiáng)的集成應(yīng)用程序服務(wù)。這些服務(wù)相互之間和與底層的操作系統(tǒng)之間緊密集成,并通過(guò),COM
13、,以一種統(tǒng)一的方式進(jìn)行展示。這些服務(wù)包括:,Web,服務(wù),通過(guò),IIS,實(shí)現(xiàn);,事務(wù)和組件服務(wù),通過(guò),MTS,實(shí)現(xiàn);,服務(wù)器端腳本編程技術(shù),通過(guò)駐留于,IIS,的,ASP,來(lái)實(shí)現(xiàn);,異步消息通信服務(wù),通過(guò),MSMQ,來(lái)實(shí)現(xiàn);,(,3,)數(shù)據(jù)層負(fù)責(zé)系統(tǒng)數(shù)據(jù)的存儲(chǔ)和管理,它主要是通過(guò),Microsoft,的,SQL Server,關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng)實(shí)現(xiàn)的。事務(wù)邏輯層使用,ADO/OLE DB,訪問(wèn)其中存儲(chǔ)的數(shù)據(jù)。,2.COM+,基本結(jié)構(gòu),COM+,通過(guò)把,COM,、,DCOM,和,MTS,統(tǒng)一起來(lái),形成了真正適合于企業(yè)應(yīng)用的構(gòu)件。,COM,、,DCOM,和,MTS,的結(jié)構(gòu)關(guān)系如圖,6.4,所示。
14、,圖,6.4 COM+,的基本結(jié)構(gòu),Windows DNA,各部分結(jié)構(gòu)介紹:,COM+,提供的新特性包括:,(,1,),COM+,目錄,COM,和,MTS,使用,Windows,的系統(tǒng)注冊(cè)表來(lái)保存構(gòu)件的所有配置信息,而,COM+,的做法與前兩者不同,它把大多數(shù)構(gòu)件信息保存在一個(gè)稱為,COM+,目錄(,COM+Catalog,)的新的數(shù)據(jù)庫(kù)中。,(,2,)負(fù)載平衡,COM+,提供的負(fù)載平衡服務(wù)可以以透明的方式實(shí)現(xiàn)動(dòng)態(tài)的負(fù)載平衡。靈活、可靠的在集群中調(diào)節(jié)各個(gè)服務(wù)器節(jié)點(diǎn)所分配的負(fù)載,增加了系統(tǒng)的可伸縮性和靈活性。,(,3,)內(nèi)存數(shù)據(jù)庫(kù)(,IMDB,),IMDB,(,in memory databas
15、e,)是一個(gè)駐留在內(nèi)存中的支持事務(wù)特性的數(shù)據(jù)庫(kù)系統(tǒng),它可以優(yōu)化數(shù)據(jù)查詢和數(shù)據(jù)獲取,為,COM+,應(yīng)用程序提供快速的數(shù)據(jù)訪問(wèn)。,(,4,)對(duì)象池,在應(yīng)用程序運(yùn)行時(shí),構(gòu)件對(duì)象的創(chuàng)建和釋放都是開(kāi)銷(xiāo)很大的操作,為了提高效率,,COM+,把創(chuàng)建的對(duì)象實(shí)例保留在對(duì)象池中,在客戶請(qǐng)求該對(duì)象時(shí),可以直接把對(duì)象池中現(xiàn)成的對(duì)象實(shí)例提供給客戶,在客戶不再使用該對(duì)象實(shí)例時(shí),將其放回到對(duì)象池中,以備下次使用。對(duì)象池的使用減小了構(gòu)件對(duì)象創(chuàng)建和釋放的開(kāi)銷(xiāo),提高了運(yùn)行效率。,(,5,)隊(duì)列化構(gòu)件,COM+,構(gòu)件除了支持基于,RPC,連接的同步調(diào)用方式,它還可以通過(guò)低層的消息系統(tǒng),MSMQ,(,Microsoft Messag
16、e Queue Server,,,Microsoft,消息隊(duì)列服務(wù)系統(tǒng))支持異步調(diào)用方式。隊(duì)列化構(gòu)件使得在客戶程序和構(gòu)件沒(méi)有建立連接時(shí),以異步的方式進(jìn)行通信,提高了系統(tǒng)的可靠性和可擴(kuò)展性。,(,6,)新的事件模型,COM+,的事件模型改進(jìn)了,COM,所采用的可連接對(duì)象機(jī)制的緊耦合方式,提供了建立在發(fā)布者和訂閱者概念之上的松耦合方式。發(fā)布者負(fù)責(zé)提供事件信息,訂閱者負(fù)責(zé)消費(fèi)事件信息,來(lái)自不同發(fā)布者的事件信息存儲(chǔ)在,COM+,事件數(shù)據(jù)庫(kù)中,而訂閱者可以通過(guò)注冊(cè)說(shuō)明它們希望接收到的事件信息。當(dāng)發(fā)布者激發(fā)事件時(shí),,COM+,事件服務(wù)把該事件信息發(fā)送給訂閱了該事件信息的訂閱者。,(,7,)構(gòu)件管理和配置,COM+,提供了一個(gè)比,MTS,更友好的構(gòu)件的管理和配置環(huán)境。,COM+,管理程序(,COM+Explorer,)采用通用的,MMC,標(biāo)準(zhǔn)界面,通過(guò),COM+,管理程序,用戶可以靈活方便的設(shè)置,COM+,應(yīng)用和,COM+,構(gòu)件的屬性。,6.,3,J2EE,組件系統(tǒng),J2EE,的體系結(jié)構(gòu),J2EE,的體系結(jié)構(gòu)是多層的分布式體系結(jié)構(gòu),應(yīng)用邏輯按功能劃分為不同的組件,組件根據(jù)自己所在的層分布在不同的機(jī)器
- 溫馨提示:
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. 裝配圖網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 財(cái)務(wù)管理第六講 營(yíng)運(yùn)資金管理
- 地圖上的方向
- 地形和表示地形的地圖
- 1讓我們蕩起雙槳講解
- 北師大版二下《美麗的植物園》
- 第六章裝飾裝修工程事故分析與處理
- 審方藥師與藥學(xué)診斷-反沖力課件
- 學(xué)生公寓宿舍設(shè)計(jì)規(guī)劃
- 品質(zhì)管理基礎(chǔ)知識(shí)培訓(xùn)課件
- 自行車(chē)上的簡(jiǎn)單機(jī)械
- 會(huì)計(jì)準(zhǔn)則與會(huì)計(jì)規(guī)范
- 美國(guó)大熔爐_英語(yǔ)學(xué)習(xí)_外語(yǔ)學(xué)習(xí)_教育專(zhuān)區(qū)課件
- 手機(jī)證券精準(zhǔn)營(yíng)銷(xiāo)方案
- 第六章績(jī)效管理概述
- 課題3制取氧氣