亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? corba憀術厭java憀術疄緓合-java idl.txt

?? java入門必讀
?? TXT
字號:
CORBA技術和Java技術的結合-Java IDL
一、什么是Java IDL
----Java IDL(Interface Definition Language)可實現網絡上不同平臺上的對象相互之間的交互,該技術基于通用對象請求代理體系結構CORBA規范說明。IDL是不依賴于語言的接口定義語言,所有支持CORBA的語言都有IDL到該語言的映射。就像其名字所表示的那樣,Java IDL支持到Java語言的映射。CORBA規范說明和IDL映射是由OMG(Object Management Group)定義的。OMG由700多個成員組成,Sun公司是其成員之一,它在定義IDL到Java映射的工作中起了主要作用。
----JDK1.1給Java開發人員提供了開發100%純Java分布式應用的功能,即遠程方法調用Java RMI。而Java2平臺提供的Java IDL可以在分布式應用中使用非Java語言,也就是說,Java2平臺提供的ORB(Object Request Broker)可以和任何遵從CORBA規范的ORB互操作,包括IONAT echnologies的Orbix、Visigenic Software的Visi Broker、IBM的Component Broker等。目前,主要的Web瀏覽器(MicrosoftIE4.0和NetscapeNavigator4.0)實現的主要是JDK1.1中的功能。不過,利用Sun公司提供的Java插件(Plug-in)可以使瀏覽器具備Java2平臺的所有特征。
----需要說明的是,Java2平臺提供了兩種不同的方法來構造分布式應用系統,即Java RMI和Java IDL,它們具有相似的特征和功能,Java RMI支持用Java語言寫的分布式對象,Java IDL可以與支持CORBA的任何程序設計語言如C、C++、COBOL等寫的分布式對象交互。這兩種方法各自具有不同的特點:
----(1)100%純Java和對遺產應用系統(legacy system)的支持。Java RMI是對分布式應用系統的100%純Java解決方法,具有Java的"Write once, run anywhere"的優點。用Java RMI開發的應用系統可以部署在任何支持Java運行環境的平臺上。
----相反,Java IDL是基于CORBA規范標準的技術,可以遠程調用非Java語言編寫的對象,因此Java IDL提供了對那些用非Java語言開發的遺產應用系統的支持。
----(2)使用不同的通信協議。Java RMI和Java IDL目前使用不同的通信協議,Java IDL使用CORBA/IIOP協議,IIOP(Internet Inter-ORBProtocol)協議可以使位于不同平臺上、用不同語言寫的對象以標準的方式進行通信;Java RMI目前使用Java遠程消息交換協議JRMP(Java Remote Messaging Protocol)進行通信,JRMP是專為Java的遠程對象制定的協議,不過Sun和IBM已經宣布將來會支持在RMI中使用IIOP協議,以便和遵從CORBA規范的遠程對象通信。
----(3)通過引用調用對象還是通過值調用對象。在Java IDL中,客戶端通過引用與遠程對象交互,即客戶機使用樁(Stub)對遠程服務器上的對象進行操作,但并不拷貝服務器上的對象。
----相反,RMI使得客戶機可以通過引用和遠程對象交互,也可以把遠程對象下載到客戶機運行環境進行操作,由于在RMI中使用的對象都是Java對象,因此RMI使用Java中的對象串行化(Serialization)功能在服務器和客戶機之間傳輸對象。不過CORBA規范的以后版本將包括按值調用對象的功能。
----Java RMI和Java IDL各有自己的優缺點,從某種意義上說,RMI可以看作是RPC(Remote Procedure Calls)的面向對象版本。RMI的最大優勢是可以用它來提供100%純Java的解決方案,這意味著構造RMI應用系統將比較簡單,但這也正是基于RMI的應用系統的一個缺點,即只能在Java環境中運行,不能充分利用遺產應用系統。
----Java RMI和Java IDL均可滿足一定范圍的用戶需求,都適用于一定范圍的應用,兩者之間存在著重疊,有些應用可使用兩者中的任何一種技術開發,但對于某些應用來說,采用其中的某一種比采用另一種更為恰當。
二、使用CORBA和Java IDL
----從1989年以來,OMG一直致力于開放的軟件總線體系結構CORBA的規范說明的定義,利用CORBA,不同供應商開發的、運行在不同平臺上的構件可以互操作,而不管該對象位于何處,用什么語言實現。Java IDL使得Java也支持CORBA規范說明。作為Java企業計算API的一部分,Java IDL可以保證企業異質計算中的無縫互操作性和可連接性。
----CORBA對象和一般的程序設計語言中的對象的區別在于:
  CORBA對象可以位于網絡中的任何位置;
  CORBA對象可以和其他平臺上的對象交互;
  CORBA對象可以用任何程序設計語言編寫,只要有IDL到該語言的映射即可(目前已包括到Java、C++、C、Smalltalk、COBOL、Ada等語言的映射)。
----接口定義語言IDL用于定義CORBA對象的接口,所有的CORBA對象都支持IDL接口。IDL語法和C++非常類似,利用Java IDL,可以在Java中定義、實現、存取CORBA對象。對于每個IDL,idl to java生成一個Java接口和其他一些必要的.java文件,包括一個客戶端樁(Stub)和服務器端骨架(Skeleton)。
----為了使用Java IDL,需要有idl to java編譯器,idl to java產生和任何遵從CORBA規范的ORB一起工作的客戶端樁和服務器端骨架,Java2平臺中包括CORBAAPI和ORB,使得Java應用系統通過IIOP協議可以調用遠程的CORBA對象,JavaORB支持暫態(Transient)CORBA對象,提供了暫態名字服務器把對象組織成樹目錄結構,名字服務器遵從CORBA中COS規范說明的命名服務規范說明(Naming Service Specification)。
----圖1說明了從客戶端到服務器發送一個消息請求的過程,其中客戶端也可以是一個CORBA對象:
----客戶機不需要了解CORBA對象的位置與實現細節,也不需要了解哪個ORB用于存取對象。
----在客戶端,應用系統包括遠程對象的引用,對象引用使用樁方法作為遠程方法的代理,這個方法事實上在ORB中的,所以調用樁方法會調用ORB的連接功能,ORB會把對樁方法的調用傳遞到服務器端。
----在服務器端,ORB利用骨架代碼把遠程調用轉換成本地對象的方法調用,骨架需要對調用和參數的格式進行轉換。同時,當方法返回時,骨架對結果進行變換,然后通過ORB把結果返回給客戶機。
----不同的ORB之間通過IIOP協議進行通信,IIOP是建立在TCP/IP之上的協議。
----CORBA目前還處于發展階段,一些標準還在定義之中,但CORBA中的大部分基本結構已經定義,許多軟件供應商已根據CORBA的定義作了很多開發工作,Java IDL就是該規范說明的一個實現。但在Java2平臺中,并沒有實現CORBA規范說明中的所有特征,如:
  接口庫:在一般的Java IDL操作中并不需要接口庫,Java客戶機可以存取其他的接口庫,如C++ORB提供的接口庫;
  RMI/IIOP協議;
  按值調用對象;
  IDL中的一些類型如wchar、wstring、longdouble等。
三、IDL到Java的映射
----為了使Java支持CORBA規范說明,需要一個把IDL中的元素映射為Java中元素的標準途徑,Sun已經制訂了兩者之間的映射規則,并提供了編譯器idl to java,以便從IDL得到相應的樁和骨架。
----下表列出了一些IDL中元素和Java中元素的映射關系。
----和Java中的接口一樣,IDL接口不包含方法的具體實現,Java開發人員需在Java類中提供對這些方法的具體實現。
四、使用Java IDL開發應用的過程及實例
----用Java IDL開發分布式應用系統一般可分為五個步驟:
----1.定義遠程接口
----用IDL定義遠程對象的接口,使用IDL而不是Java語言是因為idl to java編譯器可以自動地從IDL產生Java語言的樁和骨架源文件,以及和ORB連接時所需要的一些代碼。使用IDL,開發人員可以用其他語言來實現客戶機和服務器。如果要為一個已經存在的CORBA服務實現客戶機,或為一個已經存在的客戶機實現服務,則首先要給出IDL接口,然后運行idl to java編譯器產生樁和骨架,在此基礎上再進行實現。
----2.編譯遠程接口
----在IDL文件運行idl to java編譯器,產生Java版本的接口,以及樁和骨架代碼文件,這些代碼文件使得應用程序可以和ORB相連接。
----3.實現服務器
----把idl to java編譯器產生的骨架和服務器應用程序集成在一起,除了要實現遠程接口中的方法之外,服務器代碼還要包括啟動ORB以及等待遠程客戶機的調用等部分。
----4.實現客戶機
----類似地,以樁作為客戶端應用程序的基礎,客戶機建立在樁之上,通過Java IDL提供的名字服務查詢服務器,獲得遠程對象的引用,然后調用遠程對象中的方法。
----5.啟動應用程序
----一旦實現了服務器和客戶機,就可以啟動名字服務,接著啟動服務器,然后運行客戶機。
----下面以一個經典的HelloWorld程序來說明具體的開發過程。HelloWorld包含一個操作,該操作返回一個字符串并打印出來,Client和Server之間的通信過程如下:
----(1)客戶端應用程序或小應用程序調用HelloServer的sayHello操作;
----(2)ORB把調用傳遞到已注冊的服務對象;
----(3)服務對象運行sayHello方法,返回一個Java字符串;
----(4)ORB把該字符串返回給客戶機;
----(5)客戶機打印該字符串的值。
----盡管HelloWorld程序比較簡單,但它涉及到的任務和幾乎任何一個使用CORBA靜態調用的分布式應用系統所涉及到任務相同,圖2說明了如何用CORBA在客戶機和服務器之間實現經典的"HelloWorld"程序。
----首先是定義Hello.idl,下面是用IDL描述的Hello.idl,只有一個操作(方法),該操作返回一個字符串。
  Module Hello App
  {
  interface Hello
  {
  stringsay Hello ( );
  };
  };
----然后把Hello.idl文件映射為Java源代碼文件,用以下命令編譯Hello.idl文件:
----idl to javaHello.idl
----根據命令行中的不同選項,idl to java編譯器產生不同的文件,上面這條命令將創建子目錄HelloApp并在其中產生五個文件:_HelloImplBase.java、_HelloStub.java、Hello.java、HelloHelper.java、HelloHolder.java。
----要完成該應用程序,還要分別在這五個文件的基礎上提供服務器端和客戶機端的實現。
----CORBA服務器程序的結構和大部分Java應用程序的結構一樣,即導入所需要的包,聲明服務器類,定義main方法,處理一些例外等。另外,CORBA服務器要有一個ORB對象,每個服務器實例化一個ORB,并向其注冊服務對象,因此當ORB接收到調用請求時可以尋找到服務器。最后是服務對象的管理,服務器是一個進程,實例化了一個或多個服務對象,服務對象具體實現接口中說明的操作。HelloServer和命名服務一起工作,使得服務對象對于客戶機來說是可用的,服務器需要對名字服務的對象引用,可以向名字服務注冊,并保證向Hello接口的調用被路由到其服務對象上,最后是等待客戶機的調用。
----CORBA客戶機的結構和大部分Java應用程序的結構基本相似,即導入所需要的包、聲明應用類、定義main方法、處理一些例外等。另外和服務器程序一樣,一個CORBA客戶機也需要本地的ORB來執行所有的配置工作,每個客戶機實例化一個org.omg.CORBA.ORB對象,然后向該對象傳遞一些必要的信息以進行初始化,最后是利用ORB取得所需要的服務。一旦一個應用有了ORB,即可通過ORB來確定應用所需要的服務的位置,在本例子中即是Helloserver。為了調用CORBA對象中的操作,客戶端應用要有對該對象的引用,有很多種方法可以得到這種引用,如調用ORB.resolve_initial_references或使用其他的CORBA對象(如命名服務),當在分布式環境中沒有命名服務可用時,CORBA客戶機使用字符串化對象引用(Stringifiedobjectreference)來得到其第一個對象。

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日日夜夜精品视频免费| 色悠悠久久综合| 99re免费视频精品全部| av电影在线观看一区| 色婷婷av一区二区三区大白胸| 97久久精品人人爽人人爽蜜臀| 国产一二精品视频| 亚洲国产综合在线| 日本不卡不码高清免费观看| 久久91精品久久久久久秒播 | 美女一区二区视频| 国产一区二区三区最好精华液| 国产精品一色哟哟哟| 99精品欧美一区二区蜜桃免费| 91官网在线免费观看| 欧美一区二区性放荡片| 国产精品久久久久影院亚瑟| 亚洲福中文字幕伊人影院| 91在线视频官网| 欧美精品少妇一区二区三区| 精品国产凹凸成av人导航| 一区二区三区日韩欧美精品| 日日夜夜精品视频免费| 亚洲精品久久7777| 亚洲日本va午夜在线电影| 日韩一区精品视频| 91视频观看免费| 26uuu亚洲婷婷狠狠天堂| 亚洲手机成人高清视频| 黄页网站大全一区二区| 在线观看一区不卡| 国产精品亲子伦对白| 精品一区二区三区的国产在线播放 | 精品视频1区2区| 亚洲欧美视频在线观看| 激情图片小说一区| 欧美一区二区三区白人| 亚洲一区免费观看| 91免费国产在线| 中文字幕av一区二区三区高| 国产在线视视频有精品| 日韩一区二区三区免费观看| 亚洲国产综合色| 欧美日韩亚洲综合一区| 一个色妞综合视频在线观看| 色婷婷国产精品久久包臀 | 一本一道波多野结衣一区二区| 欧美激情一区二区三区蜜桃视频| 经典一区二区三区| 日韩精品一区二区三区中文不卡 | 五月综合激情网| 欧美一区二区三区在线观看| 免费精品99久久国产综合精品| 欧美高清dvd| 韩国欧美国产一区| 国产片一区二区| 91丨九色porny丨蝌蚪| 成人欧美一区二区三区小说| 91小视频在线观看| 亚洲精品国产视频| 欧美一区二区三区系列电影| 蜜臀av性久久久久蜜臀aⅴ| 久久综合色之久久综合| 成人黄页在线观看| 亚洲国产精品久久久久秋霞影院| 欧美日韩视频在线一区二区| 狠狠色丁香婷婷综合| 中文字幕成人网| 欧美精品v日韩精品v韩国精品v| 日韩不卡一区二区三区 | 波多野结衣亚洲| 亚洲午夜免费电影| 久久久久青草大香线综合精品| 成人精品视频一区二区三区尤物| 一区二区三区在线视频观看 | 99久久久无码国产精品| 污片在线观看一区二区| 国产欧美精品在线观看| 欧美日韩久久一区| www.欧美精品一二区| 蜜桃视频一区二区三区在线观看| 国产精品久久久久久久久免费樱桃| 欧美精选一区二区| 91香蕉视频黄| 国产福利91精品一区二区三区| 亚洲妇女屁股眼交7| 国产精品全国免费观看高清 | 国产iv一区二区三区| 日本不卡一二三| 精品国产sm最大网站| 麻豆精品久久久| 亚洲特黄一级片| 中文字幕中文字幕一区| 久久久精品免费网站| 日韩亚洲欧美成人一区| 欧美日韩一区二区三区在线| 91久久精品一区二区三| 99久久伊人精品| av一本久道久久综合久久鬼色| 国产成人在线视频免费播放| 国内精品国产成人国产三级粉色| 日韩高清不卡在线| 日本成人中文字幕在线视频| 亚洲成人中文在线| 免费观看久久久4p| 日本三级韩国三级欧美三级| 天堂午夜影视日韩欧美一区二区| 亚洲第一福利视频在线| 亚洲国产视频一区| 奇米777欧美一区二区| 蓝色福利精品导航| 国产一区二区不卡| 粉嫩aⅴ一区二区三区四区五区| 国产精品中文字幕日韩精品| 国产高清不卡一区二区| caoporen国产精品视频| 欧美在线观看视频一区二区| 欧洲一区在线电影| 日韩女优电影在线观看| 国产精品少妇自拍| 亚洲永久精品国产| 日本不卡123| 欧美一级欧美三级| 精品久久久久久久久久久久久久久久久 | 亚洲精品国产一区二区三区四区在线| 亚洲伦在线观看| 日韩制服丝袜av| 成人aa视频在线观看| 欧美日本视频在线| 中文字幕免费在线观看视频一区| 亚洲成人tv网| 国产99精品国产| 91精品国产综合久久精品| 久久久精品tv| 日精品一区二区三区| 99热精品一区二区| 久久一区二区视频| 亚洲.国产.中文慕字在线| 国产xxx精品视频大全| 欧美高清视频不卡网| 亚洲欧美视频在线观看视频| 国产精一区二区三区| 欧美浪妇xxxx高跟鞋交| 亚洲人成网站精品片在线观看| 国产一区二区在线观看视频| 欧美精品久久99| 亚洲线精品一区二区三区八戒| 91麻豆精品一区二区三区| 国产日韩欧美精品综合| 激情五月激情综合网| 日韩一区二区免费在线观看| 午夜精品久久久久久久久| 在线视频一区二区三区| 亚洲伦理在线精品| eeuss国产一区二区三区| 中文字幕免费一区| 99久久777色| 日韩美女视频一区| 色婷婷av一区二区三区大白胸| 亚洲裸体在线观看| 欧洲一区二区三区在线| 亚洲第一主播视频| 欧美一区二区三区人| 久久国产麻豆精品| 国产亲近乱来精品视频| 成人亚洲一区二区一| 亚洲色图另类专区| 欧美日韩国产免费一区二区| 日韩精品欧美精品| 欧美精品一区二区不卡| 成人激情开心网| 亚洲va韩国va欧美va精品 | 最新中文字幕一区二区三区 | 亚洲国产精品一区二区久久恐怖片 | 亚洲线精品一区二区三区| 欧洲一区二区三区免费视频| 日日摸夜夜添夜夜添亚洲女人| 精品欧美一区二区三区精品久久 | 91麻豆免费在线观看| 香蕉成人伊视频在线观看| 欧美www视频| 在线视频你懂得一区| 久久99国产精品久久99果冻传媒| 国产日韩欧美在线一区| 欧美色网一区二区| 国产精品伊人色| 午夜激情久久久| 国产精品久久久久7777按摩 | 韩国理伦片一区二区三区在线播放| 26uuu久久天堂性欧美| 91色.com| 国产成人精品亚洲777人妖| 一区二区国产盗摄色噜噜| 久久久精品综合| 日韩一区二区三区观看| 欧美日韩视频专区在线播放| 95精品视频在线| 成人晚上爱看视频| 久久成人18免费观看| 午夜国产精品一区|