国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

三種分布式對象技術(shù)分析

2014-12-06 06:49:54賈素來
大眾科技 2014年2期
關(guān)鍵詞:存根體系結(jié)構(gòu)客戶端

賈素來

(無錫商業(yè)職業(yè)技術(shù)學院公共計算機教學部, 江蘇 無錫 214153)

1 引言

傳統(tǒng)的客戶機/服務(wù)器體系結(jié)構(gòu),隨著業(yè)務(wù)處理對系統(tǒng)提出更高要求,也逐漸暴露出其客戶端逐漸龐大和服務(wù)器負擔過重等缺點。因此計算機科學家提出了三層或多層分布式系統(tǒng)(Multi-storey Distributed System)。隨著不斷改進和發(fā)展,分布式系統(tǒng)逐漸形成了三種具有代表性的主流技術(shù),即 CORBA(Common Object Request Broker Architecture)、COM/DCOM(Distributed Component Object Model)和J2EE(Java2 Platform Enterprise Edition)。

2 三種分布式對象技術(shù)介紹

2.1 多層分布式體系結(jié)構(gòu)

在多層結(jié)構(gòu)當中,業(yè)務(wù)邏輯從客戶端分離出來,移至中間層,系統(tǒng)也就成為客戶端表示層、中間業(yè)務(wù)邏輯層和數(shù)據(jù)庫服務(wù)器的三層或多層體系結(jié)構(gòu),如圖1所示[1]。多層體系結(jié)構(gòu)將表示和業(yè)務(wù)處理分開,縮減了客戶端的規(guī)模,又將相關(guān)業(yè)務(wù)和資源分開,降低了服務(wù)器的負載,避免了服務(wù)器的性能缺陷對整個系統(tǒng)性能的影響。這種在多個服務(wù)器上分布應(yīng)用程序處理的多層可變結(jié)構(gòu)比二層體系結(jié)構(gòu)的伸縮性和擴展性有了很大加強。

在分布式環(huán)境中,無論是硬件平臺還是軟件平臺都不可能做到統(tǒng)一。大規(guī)模的應(yīng)用系統(tǒng)通常要求軟硬件在各不相同的網(wǎng)絡(luò)環(huán)境中運行,為了更好的開發(fā)和應(yīng)用能夠運行在這種異構(gòu)平臺上的軟件,迫切需要一種基于標準的、獨立于計算機軟硬件的開發(fā)和運行環(huán)境,中間件技術(shù)也就在這種情況下應(yīng)運而生了。中間件是一種軟件,它位于系統(tǒng)的不同分布式組件之間,獨立于計算機軟硬件平臺,且具有標準的程序接口和協(xié)議,使不同硬件和操作系統(tǒng)平臺上分布式應(yīng)用的數(shù)據(jù)共享和互操作。它作用是為處于自己上層的應(yīng)用軟件提供運行和開發(fā)環(huán)境,幫助用戶靈活、高效的開發(fā)和集成復雜的應(yīng)用軟件。OMG的COBRA技術(shù)規(guī)范、微軟的COM/DCOM技術(shù)規(guī)范、Sun公司的J2EE技術(shù)規(guī)范是目前三種主流的面向?qū)ο笾虚g件技術(shù)。

圖1 多層分布式體系結(jié)構(gòu)模型

2.2 CORBA技術(shù)規(guī)范

CORBA分布計算技術(shù)是OMG組織基于眾多開放系統(tǒng)平臺廠商提交的分布對象互操作內(nèi)容的基礎(chǔ)上制定的公共對象請求代理體系規(guī)范。它是為處理基于對象的分布式計算系統(tǒng)之間的移植和互操作而定義的一套框架性標準和規(guī)范。它定義了IDL語言映射、單個ORB體系結(jié)構(gòu)和多個ORB間互操作機制及標準協(xié)議( IIOP),有潛力包容現(xiàn)有客戶機/服務(wù)器中間件的每一種格式,可將現(xiàn)有應(yīng)用軟件都歸到對象軟件上來,最新的CORBA規(guī)范如圖2所示[2]。

圖2 CORBA規(guī)范模型

在CORBA規(guī)范中,最底層是對象請求代理ORB,這是分布對象系統(tǒng)中的“軟總線”,從而使客戶方不必再關(guān)心底層的通信,實現(xiàn)了客戶程序與服務(wù)器程序的完全分離,從而使客戶端與服務(wù)端可以采用不同的語言和使用不同供應(yīng)商的ORB。同時CORBA提供了接口定義語言到C、C++、Java、COBOL等語言的映射機制編譯器,它可以生成服務(wù)器方的框架和客戶方存根代碼,再通過分別與客戶端和服務(wù)器端的聯(lián)編,即可得到服務(wù)方和客戶方的程序。

2.3 COM/DCOM技術(shù)規(guī)范

COM是一個獨立于語言的、基于對象的編程規(guī)范,使用COM可以定義一類對象,這類對象可以在不同的進程中調(diào)用,從而為開發(fā)多層應(yīng)用系統(tǒng)提供了必要的基礎(chǔ),但 COM本身并不能構(gòu)造完整的多層應(yīng)用系統(tǒng)框架,它只能在本地生成組件對象。為了能在網(wǎng)絡(luò)環(huán)境中構(gòu)建多層應(yīng)用系統(tǒng),這就需要進一步使用DCOM。DCOM擴展了COM,它可以支持實現(xiàn)在網(wǎng)絡(luò)環(huán)境中不同計算機之間對象的通信。也就是說,DCOM可以使一個應(yīng)用系統(tǒng)分布在不同的網(wǎng)絡(luò)環(huán)境中,從而可以更有效地為客戶提供服務(wù)。

2.4 J2EE技術(shù)規(guī)范

J2EE是一個基于JAVA的適合服務(wù)器端組件體系結(jié)構(gòu)的結(jié)合了 Java Enterprise API的完整的企業(yè)級應(yīng)用系統(tǒng)開發(fā)平臺或中間件體系結(jié)構(gòu),它通過提供一組應(yīng)用組件和運行時環(huán)境來構(gòu)造可伸縮的企業(yè)應(yīng)用。J2EE技術(shù)以核心 Java平臺或Java 2平臺的標準版J2SE為基礎(chǔ),并且鞏固了標準版J2SE中的許多優(yōu)點,例如“編寫一次,到處運行”的特性、JDBC API、CORBA技術(shù)以及能夠在因特網(wǎng)應(yīng)用中保護數(shù)據(jù)的安全模式等。同時J2EE還提供了對EJB、Java Servlets API、JSP以及XML技術(shù)的全面支持。

典型的J2EE 結(jié)構(gòu)的應(yīng)用程序包括四層:客戶層、表示邏輯層、業(yè)務(wù)邏輯層和企業(yè)信息系統(tǒng)層,如圖3所示[3]。

圖3 J2EE 多層體系結(jié)構(gòu)

3 三種分布式對象技術(shù)比較和通信

CORBA、DCOM和J2EE各有其特定的產(chǎn)生背景、技術(shù)特點和使用范圍。CORBA標準是最早出現(xiàn)的,也是最完美的[4]。與COM/DCOM技術(shù)在擴展性方面的局限和Java RMI在實現(xiàn)語言方面的不足相比,CORBA是一種在異構(gòu)平臺下的語言無關(guān)的對象互操作模型。

3.1 相互比較

在支持語言方面,CORBA是一個規(guī)范,可以用在不同的平臺、操作系統(tǒng)和編程語言之上,只要該平臺支持ORB的實現(xiàn),而且有對編程語言的映射就可以。相對而言,DCOM比較適合與 C++緊密集成,對象的實現(xiàn)需要 WIN32 API的支持。J2EE則建立在Java 語言之上,只能使用Java語言和Java RMI進行接口定義和應(yīng)用開發(fā)。雖然Java語言提供了和其它語言的接口,但這種接口使用起來非常復雜。

在平臺支持方面,DCOM是基于微軟操作系統(tǒng)的,使用RPC和安全機制產(chǎn)生符合 DCOM協(xié)議標準的標準網(wǎng)絡(luò)包,但 DCOM只是簡單地把本地跨進程通信用一個網(wǎng)絡(luò)協(xié)議傳輸來替代。雖然通過使用第三方組件,開發(fā)者可以實現(xiàn)其它操作平臺上的DCOM組件,但這些實現(xiàn)必須和微軟的實現(xiàn)相匹配。J2EE是一種純Java的解決方案,只要安裝有Java虛擬機,就可以實現(xiàn)J2EE,但是它對集成的支持卻很脆弱。EJB使用Java遠程方法調(diào)用接口RMI,RMI使用JRMP作為通信傳遞協(xié)議,但JRMP是一個非標準的協(xié)議,不允許使用交叉語言編寫的對象之間進行通信,這就要求客戶端和服務(wù)器都必須是基于Java的。CORBA使用IIOP和GIOP作為通信層協(xié)議,兩個協(xié)議從本質(zhì)上來講非常簡單,但提供了建立可擴展的 CORBA服務(wù)器的能力。

在分布式事務(wù)處理方面,DCOM沒有提供自動的容錯和負載平衡服務(wù),這個工作全是交給MTS來完成的。EJB使用Java事務(wù)服務(wù)JTS來完成分布式事務(wù)處理,應(yīng)用程序通過JTA使用事務(wù)管理功能。CORBA規(guī)范中的OTS為分布式CORBA對象提供了事務(wù)管理的接口,支持平面事務(wù)和嵌套式事務(wù),同時OTS基于X/open DTP標準,所以不是基于CORBA的應(yīng)用程序也可以與OTS互操作。

3.2 相互通信

CORBA是一個通用的分布式對象規(guī)范說明,沒有給出具體的實現(xiàn)方案,所以為實現(xiàn)提供了極大的靈活性。IDL反編譯工具可以從Java RMI實現(xiàn)類生成IDL文件,根據(jù)Java到CORBA的映射規(guī)范可以確定CORBA和EJB架構(gòu)各元素之間的對應(yīng)關(guān)系。目前很多ORB產(chǎn)品都實現(xiàn)了基于IIOP的RMI,如Sun的Java IDL、InPrise的VisiBroker,以及一些開發(fā)源碼的ORB產(chǎn)品,如OPenORB、JacORB等。

在.NET中,IDL是由開發(fā)工具生成的。.NET中涵蓋的DCOM技術(shù)和CORBA一樣,在網(wǎng)絡(luò)傳輸層都采用TCP/IP協(xié)議和相應(yīng)的IDL規(guī)范,但微軟沒有公開這個規(guī)范。在實施時,CORBA的IDL采用類C++的定義,是公開的規(guī)范,但DCOM的IDL的文件是文本形式的。在DCOM中,客戶機存根稱為代理,而服務(wù)器存根稱為存根。相反,CORBA中的客戶機存根稱為存根,而服務(wù)器存根稱為框架。這樣,在DCOM和CORBA之間由于存在數(shù)據(jù)類型、命名方式、參數(shù)值形式等方面的差異性,使得相互通信很困難。

4 結(jié)束語

DCOM只支持 Win32,如果系統(tǒng)主要運行微軟操作系統(tǒng),并且其地域分布上不是很廣的話,COM/DCOM或許是比較合適的選擇。J2EE在Internet環(huán)境下集組件模式、跨異構(gòu)平臺、兼具事務(wù)處理、數(shù)據(jù)庫連接等許多基礎(chǔ)結(jié)構(gòu)服務(wù),開發(fā)效率高、簡單,缺點是僅限于支持Java語言。相比較而言,CORBA提供了一個多功能的一致的對象模型,具有高度的透明性。同時 CORBA具有良好的跨平臺和跨語言的特征,支持客戶端應(yīng)用和服務(wù)器對象的特點,并且具有良好的運行效率,成為了大部分分布式系統(tǒng)設(shè)計首選[5]。

[1] 潘俊虹.淺析三種主流分布式組件對象模型對比及互操作[J].南平師專學報,2006,25(4):56-59.

[2] 劉建兵.基于CORBA的對象Web研究[J].電腦知識與技術(shù),2009,5(2):308-312.

[3] 閆珅,郭燚.基于Eclipse開發(fā)環(huán)境的J2EE編程技術(shù)[J].唐山職業(yè)技術(shù)學院學報,2008,6(4):45-46.

[4] 李紅宇,王秀珍.分布式對象技術(shù)應(yīng)用探討[J].現(xiàn)代計算機,2007(251):72-75.

[5] 史永昌,李亞崗.CORBA、DCOM和J2EE技術(shù)比較[J].唐山師范學院學報,2007,27(5):98-100.

猜你喜歡
存根體系結(jié)構(gòu)客戶端
黃紙白花
一張火車票
——中國鐵路客運發(fā)展的記憶“存根”
傳記文學(2022年10期)2022-10-29 06:28:12
蘇州河畔的暢想
青年文學家(2021年1期)2021-03-24 20:48:56
縣級臺在突發(fā)事件報道中如何應(yīng)用手機客戶端
傳媒評論(2018年4期)2018-06-27 08:20:24
孵化垂直頻道:新聞客戶端新策略
傳媒評論(2018年4期)2018-06-27 08:20:16
基于Vanconnect的智能家居瘦客戶端的設(shè)計與實現(xiàn)
電子測試(2018年10期)2018-06-26 05:53:34
鐵路回收車票自動核驗系統(tǒng)的研發(fā)與應(yīng)用
基于粒計算的武器裝備體系結(jié)構(gòu)超網(wǎng)絡(luò)模型
作戰(zhàn)體系結(jié)構(gòu)穩(wěn)定性突變分析
基于DODAF的裝備體系結(jié)構(gòu)設(shè)計
嘉黎县| 江孜县| 青龙| 当涂县| 广丰县| 西安市| 思茅市| 武强县| 方正县| 武川县| 阿克苏市| 遵义县| 宁阳县| 舟山市| 福清市| 鄱阳县| 阜宁县| 临澧县| 镇雄县| 昌吉市| 班玛县| 孟连| 临猗县| 陆良县| 防城港市| 丹棱县| 余干县| 平罗县| 蓝田县| 普宁市| 苏州市| 达日县| 土默特右旗| 鸡泽县| 含山县| 道孚县| 富锦市| 桐柏县| 曲阜市| 慈利县| 眉山市|