程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> J2EE >> CORBA 及Java IDL應用編程

CORBA 及Java IDL應用編程

編輯:J2EE
善,形成現在被軟件行業普遍認可的標准——CORBA/IIOP 規范2.3。CORBA的開發者OMG最初由3Com、American Airlines、Canon、Data General、Hewlett-Packard、Philips、 Sun 和Unisys等八家公司在1989年組建,專門從事公共軟件平台的研究和行業標准的制訂, 目前已經有800多個成員單位加入OMG。  CORBA的核心是開放軟件總線——ORB,它提供了網絡環境無關性、操作系統無關性和開發語言無關性的公共平台。在面向對象的應用環境中,CORBA對象(本文所說的“對象”是面向對象系統中的術語,是指一個實體)的請求者不必知道它所請求的對象是在哪裡,是如何實現的,而是由ORB來負責跨平台的運作管理,無須應用系統的開發者干預。CORBA所具有的跨平台、分布式、面向對象的這些優點使它具有廣闊的應用前景,日益受到軟件行業的重視。  CORBA是一個中間件規范並不是一個實體軟件。軟件開發者通過使用第三方的ORB工具或IDL語言來定義CORBA對象,實現ORB功能。    一、CORBA應用模型    下圖展示了CORBA在分布式面向對象應用中,從客戶端發出請求直到服務端實現CORBA對象的一個流轉過程。  CORBA對象的客戶有一個對該對象的“對象引用”,客戶使用“對象引用”來請求“對象方法”。如果服務端不在本地(不在同一機器的同一應用系統中或不在同一機器中),則“對象引用”指向stub功能(在Java 中,stub和skeleton都是類來實現),stub利用ORB機制將請求帶到服務端的對象。stub通過ORB來確定運行對象的服務端的機器,並請求該機器的ORB連接到對象的服務端去。stub同ORB建立連接後,向該機的skeleton發送“對象引用”及相關參數,再由skeleton功能連接到目標對象的“對象實現”上。skeleton將請求和參數轉換成規定格式然後調用該對象。最後,“對象實現”的結果沿著來的路徑傳送回客戶請求端。  以上是CORBA實現對象應用的全過程。在這個操作過程中,客戶並不知道CORBA對象的位置、它的實現細節,也不必知道所使用的ORB是什麼。在ORB之間通過建立在TCP/IP標准之上的IIOP-Internet InterORB Protocol進行通信聯系,相互傳送信息。客戶只是使用CORBA對象的接口來調用對象的方法,CORBA對象的接口則使用IDL語言來定義。對象的接口定義了對象的類型,對象的方法和引用參數以及對象方法可能返回的異常結果。IDL編譯器將把CORBA對象的定義轉換成特定的編程語言。IDL還對每個對象生成相應的stub文件(類)和skeleton文件(類),通過它們實現應用系統同ORB的連接。    二、Java IDL應用編程    Java JDK 1.2提供了對CORBA的支持,Java IDL即idltojava編譯器就是一個ORB,可用來在Java語言中定義、實現和訪問CORBA對象。Java IDL支持的是一個瞬間的CORBA對象,即在對象服務器處理過程中有效。實際上,Java IDL的ORB是一個類庫而已,並不是一個完整的平台軟件,但它對Java IDL應用系統和其他CORBA應用系統之間提供了很好的底層通信支持,實現了OMG定義的ORB基本功能。  下面將以“中國,早上好!”客戶/服務應用為例,詳細說明Java IDL的實際編程方法。在本例中,客戶端向服務端提出服務請求,服務端回送“中國,早上好!”,然後在客戶端的屏幕上顯示出來。  1
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved