當前位置:首頁 > 嵌入式 > 嵌入式硬件

摘 要:分布式對象中間件技術是為了解決分布計算和軟件復用過程中存在的異構問題而提出的。,EJB,COM/是目前主要的3大中間件技術,他們都有自己的優(yōu)勢應用領域,和的結合在解決 WWW應用方面具有無比的優(yōu)勢。本文介紹了基于/ 的 WWW信息查詢系統(tǒng)開發(fā)的一般方法。

關鍵詞:中間件;分布式對象中間件;CORBA; ?

隨著計算機技術,尤其是技術的發(fā)展,跨地域、跨企業(yè)、跨業(yè)務的計算機應用越來越廣泛。但是不同硬件平臺、網絡環(huán)境、數據庫等異質性因素影響了計算機系統(tǒng)集成應用。應用開發(fā)過程中大約有70%的時間和精力用于解決與業(yè)務邏輯沒有直接關系的跨平臺難題,因此,有必要將分布式應用所面臨的共性問題進行提煉,抽象形成一個可復用的軟件部件—中間件—供應用軟件使用。過去中間件系統(tǒng)如DCE(Distributed Computing Environment)是面向過程的軟件復用模式體系結構,隨著面向對象技術的發(fā)展和客戶/服務器模式的流行,分布式對象中間件技術已成為分布計算的主流技術。本文介紹了3大分布式對象中間件技術及基于CORBA/的WWW系統(tǒng)開發(fā)的一般過程。?

1中間件技術

中間件是一種獨立的系統(tǒng)軟件或服務程序,分布式應用借助這種軟件可以在不同技術之間共享資源,中間件位于客戶機服務器的操作系統(tǒng)之上,管理計算資源和網絡通訊。中間件的目標是要解決系統(tǒng)的互連和互操作,他的核心是解決名字服務、安全控制、并發(fā)控制、可靠性保證、效率保證等方面的問題,要實現互聯還要解決支持各種通訊協議、各種通訊服務模式、傳播各種數據內容、數據格式翻譯、流量控制、數據加密、數據壓縮等。按照IDC的分類方法,中間件分為6類:終端仿真/屏幕轉換中間件、數據訪問中間件、遠程過程調用中間件、消息中間件、交易中間件和分布式對象中間件。

傳統(tǒng)的對象技術通過封裝、繼承及多態(tài)性提供良好的代碼重用功能。但是,這些對象只存在于一個程序中,外界并不知道他們的存在,也無法訪問他們。分布式對象中間件就是要解決這些問題,他提供一個標準構件框架,能使不同廠家的軟件通過不同地址空間、網絡和操作系統(tǒng)進行交互訪問。對象技術的優(yōu)勢和分布式對象中間件的標準化,促使對象中間件功能最終將涵蓋幾類中間件的功能,從而成為中間件產品的主流。
?
2分布式對象中間件技術?

2.1公共對象請求代理體系結構CORBA

CORBA由對象管理組織OMG于1991年提出,其旨在將錯綜復雜的網絡編程從單獨的組件和應用中移走。ORB是CORBA平臺的核心,他提供了客戶—對象間實現透明通信的方法,當客戶激活一個方法時,ORB負責定位對象實現并透明激活將請求傳輸給對象實現并返回結果。IDL是不依賴于具體編程語言和計算平臺的接口語言,用來定義對象接口,IDL對描述跨平臺,跨語言應用程序提供一個公共的表示方式,IDL編譯器可根據用戶需要將IDL定義轉化為應用程序語言,如C++,等。IDL樁為客戶提供了靜態(tài)調用對象方式,IDL構架為客戶提供了靜態(tài)實現方式,他們由IDL編譯器產生,作為具有調用功能的子例程分別在客戶方和服務器方使用。而動態(tài)調用接口DII( Invocation )和動態(tài)構架接口DSI( Skeleton )提供了動態(tài)調用方式和動態(tài)實現方式。在ORB核心和對象實現之間還有對象適配器,他負責服務對象的注冊、對象引用的創(chuàng)建和解釋、對象實現的激活和去活以及客戶請求的分發(fā)等。ORB之間的互操作主要是由ORB橋,( InterORB Protocol)和EISP(Environment Specific InterORB Protocol)等互操作協議來規(guī)定。是建立在TCP協議之上的基于連接的協議。

2.2分布組件對象模式

是Microsoft與業(yè)界廠商合作提出的一種分布構件對象模型。DCOM起源于動態(tài)數據交換DDE技術。通過剪切/粘貼(cut/)實現2個應用程序之間共享數據的動態(tài)交換。對象連接和嵌入OLE就是從DDE引伸而來的,隨后Microsoft引入了構件對象模型COM,形成了COM對象之間實現互操作的二進制標準。COM規(guī)定了對象模型和編程要求,使COM對象可以與對象相互操作。DCOM出現是為了彌補COM在支持遠程組件方面的不足。他為分布在網絡不同節(jié)點的2個COM組件提供了互操作的基礎結構。

將COM,DCOM,OLE及這些服務結合起來形成了微軟創(chuàng)造的分布式網絡互聯體系結構DNA。

2.3EJB企業(yè)JAVA平臺

近年來,Sun Microsystem公司提出的基于JAVABean組件技術的EJB及 JAVA平臺,JAVABean是JAVA向組件方面的發(fā)展,組件的單位叫Bean或JAVABean,這種組件模式是JAVA編寫的可移植的,平臺獨立的組件模式,在分布計算模型中,可用來構建客戶端程序。EJB于1998年提出,是服務器方的組件模式,定義了開發(fā)和布署可重用的JAVA服務器組件模式和API規(guī)范。JAVABeans和EJB體系結構之間,一個最明顯的區(qū)別是事件處理。JAVABean是為緊耦合的桌面環(huán)境而設計,使用局部事件模式,不利于系統(tǒng)的集成。EJB體系結構對分布式的事件提供靈活的支持,允許遠程客戶通過遠程方法調用API訪問服務器功能。適應分布式體系結構中的多層應用。EJB還不是一個完整的平臺,其提供服務也有限,于是在EJB的基礎上,提出能適應廣泛企業(yè)計算的 JAVA平臺技術。 JAVA平臺包括EJB ,JSP,Servlet,JDBC等組件。

上述3種中間件各有特點,CORBA可以跨各種操作平臺,包括Windows OS ,甚至支持DOS操作系統(tǒng)而DCOM只支持Win 32; 同時CORBA跨多種語言,支持C++,Smalltalk,JAVA,,Ada等語言。DCOM主要以桌面Wintel同質平臺對象跨應用使用見長,支持帶有指針結構的語言如C,C++而不支持JAVA語言。Enterprise JAVA在Internet環(huán)境下集組件模式、跨異構平臺、兼具事務處理、數據庫連接等許多基礎結構服務,但僅限于支持JAVA語言。因此我們利用JAVA語言具有簡單、面向對象、分布式、解釋型、健壯、安全、可移植性的特點結合CORBA的跨異構平臺的特性實現對象的重用。
?
3CORBA/JAVA的WWW應用系統(tǒng)

我們設計的系統(tǒng)是要實現以下目標:在客戶端用瀏覽器下載服務器上小程序Applet,通過Java虛擬機和CORBA的ORB實現對遠端服務對象的調用,并通過服務對象訪問遠端數據庫,最后返回查詢結果并在瀏覽器上顯示。其系統(tǒng)結構圖如圖1所示。

3.1程序設計與實現

該系統(tǒng)用Borlard Jbuilder 5.0進行開發(fā), Jbuilder 5.0提供了JAVA語言的CORBA開發(fā)支持,VisiBroker for JAVA是一個內置于Jbuild 3.0 IDE的開發(fā)工具,可以用來建立、管理和開發(fā)分布式的跨多種平臺的開放的、易用的、可交互的 CORBA Java應用程序。這里開發(fā)一個可以訪問MS SQL 數據庫3層C/S模式應用。在這個系統(tǒng)中要用到定義JDBC API的.sql包,該包定義了JDBC所有的類,接口和方法。主要的類和接口有Manager—處理驅動程序的裝入;.sql.—驅動程序接口;.sql.Statement為sql語句提供一個容器,java.sql.Connection表示到特定數據的連接。

(1)定義CORBA objects和編譯IDL接口

首先定義一個接口模塊Query?idl,該模塊包含的DataQuery接口提供了一個連接數據庫并返回查詢結果的方法dbQuery( ):

用visiBroker IDL編譯器(idl2java)編譯Query?idl產生一個JAVA接口DataQuery.java和其他必需的JAVA文件。其中_st_DataQuery.java是客戶端的stub,_sk_DataQueryImplBase.java是服務器端的骨架(skeleton),另外還包括為傳遞參數提供支持的DataQueryHolder.java和提供輔助功能DataQueryHelper.java。

(2) CORBA接口的實現

對象實現類必須結合編譯產生的骨架來完成,類DataQueryImpl.java需要繼承由 IDL編譯產生的骨架_sk_DataQueryImplBase類。其中dbQuery( ) 通過JAVA.JDBC.API實現連接數據庫并返回查詢結果:

(3)創(chuàng)建服務端應用程序

類?java服務程序負責下列任務:初始化ORB和BOA,建立服務對象DataQueryImpl,通知對象可用及準備接受請求。

(4)創(chuàng)建客戶端程序

實現步驟:初始化CORBA環(huán)境,查找定位到DataQuery對象,然后調用dbquery( )方法。

最后編譯服務器端和客戶端程序,設置好程序中用到的數據源,啟動提供對象查找服務的. Agent和服務端應用程序.java,最后在客戶端IE 地址欄健入:http://:15000/clientApplet.html運行客戶程序即可實現遠端查詢。
?
4結語

中間件屏蔽了操作系統(tǒng)和網絡協議的差異,為應用層軟件提供了多種通訊機制和統(tǒng)一的應用平臺,簡化了軟件開發(fā)的復雜度,提高了開發(fā)的效率。CORBA已成為軟件開發(fā)的主流。CORBA獨立于網絡協議,獨立于編程語言,獨立于軟硬件平臺,是目前最有生命力的跨平臺分布計算技術。JAVA由于其健壯性,安全性,移動性和跨平臺及“一次編寫,各處運行”的優(yōu)點,使其成為WWW網上開發(fā)最好的語言。毫無疑問,JAVA和CORBA的結合將會把分布計算和軟件復用推向新的階段。

本站聲明: 本文章由作者或相關機構授權發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內容真實性等。需要轉載請聯系該專欄作者,如若文章內容侵犯您的權益,請及時聯系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或將催生出更大的獨角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數字化轉型技術解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關鍵字: AWS AN BSP 數字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術公司SODA.Auto推出其旗艦產品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關鍵字: 汽車 人工智能 智能驅動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務中斷的風險,如企業(yè)系統(tǒng)復雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務連續(xù)性,提升韌性,成...

關鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據媒體報道,騰訊和網易近期正在縮減他們對日本游戲市場的投資。

關鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數據產業(yè)博覽會開幕式在貴陽舉行,華為董事、質量流程IT總裁陶景文發(fā)表了演講。

關鍵字: 華為 12nm EDA 半導體

8月28日消息,在2024中國國際大數據產業(yè)博覽會上,華為常務董事、華為云CEO張平安發(fā)表演講稱,數字世界的話語權最終是由生態(tài)的繁榮決定的。

關鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應對環(huán)境變化,經營業(yè)績穩(wěn)中有升 落實提質增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務引領增長 以科技創(chuàng)新為引領,提升企業(yè)核心競爭力 堅持高質量發(fā)展策略,塑強核心競爭優(yōu)勢...

關鍵字: 通信 BSP 電信運營商 數字經濟

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術學會聯合牽頭組建的NVI技術創(chuàng)新聯盟在BIRTV2024超高清全產業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現場 NVI技術創(chuàng)新聯...

關鍵字: VI 傳輸協議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯合招商會上,軟通動力信息技術(集團)股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關鍵字: BSP 信息技術
關閉
關閉