最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

詳解 Corba開發(fā)之Java實(shí)現(xiàn)Service與Client

 更新時(shí)間:2017年10月18日 15:12:59   投稿:lqh  
這篇文章主要介紹了詳解 Corba開發(fā)之Java實(shí)現(xiàn)Service與Client的相關(guān)資料,希望通過本文能幫助到大家,需要的朋友可以參考下
詳解 Corba開發(fā)之Java實(shí)現(xiàn)Service與Client
1      概述

CORBA(Common Object Request Broker Architecture,公共對象請求代理體系結(jié)構(gòu))是由OMG組織制訂的一種標(biāo)準(zhǔn)的面向?qū)ο髴?yīng)用程 序體系規(guī)范?;蛘哒f CORBA體系結(jié)構(gòu)是OMG為解決分布式處理環(huán)境(DCE)中,硬件和軟件系統(tǒng)的互連而提出的一種解決方案。

OMG:Object Management Group,對象管理組織。是一個國際化的、開放成員的、非盈利性的計(jì)算機(jī)行業(yè)標(biāo)準(zhǔn)協(xié)會,該協(xié)會成立于1989年,其職責(zé)是為應(yīng)用開發(fā)提供一個公共框架,制訂工業(yè)指南和對象管理規(guī)范,加快對象技術(shù)的發(fā)展。。任何組織都可以加入OMG并且參與標(biāo)準(zhǔn)制定過程。OMG制定了統(tǒng)一建模語言UnifiedModeling Language?(UML?),模型驅(qū)動架構(gòu)ModelDriven Architecture? (MDA?)等建模標(biāo)準(zhǔn)。使強(qiáng)大的視覺設(shè)計(jì),執(zhí)行和維護(hù)軟件等工序成為可能。并且,OMG還制定了廣為人知的中間件標(biāo)準(zhǔn)CommonObject Request Broker Architecture (CORBA?)。

通用對象代理體系結(jié)構(gòu)CORBA(Common Object Request BrokerArchitecture)是OMG所定義的用來實(shí)現(xiàn)現(xiàn)今大量硬件、軟件之間互操作的解決方案,CORBA也是邁向面向?qū)ο髽?biāo)準(zhǔn)化和互操作的重要一步。

簡單地說,CORBA允許應(yīng)用之間相互通信,而不管它們存在于哪里以及是誰設(shè)計(jì)的,即跨平臺、跨語言。CORBA1.1于1991年由OMG發(fā)布,其中定義了接口定義語言(IDL)以及在對象請求代理(ORB)中實(shí)現(xiàn)客戶對象與服務(wù)器對象之間交互的應(yīng)用編程接口(API)。CORBA2.0于1994年發(fā)布,規(guī)定了各個供應(yīng)商之間的ORB的通信規(guī)則。

CORBA標(biāo)準(zhǔn)主要分為三個部分:接口定義語言(IDL)、對象請求代理(ORB)以及ORB之間的互操作協(xié)議IIOP。

IDL是CORBA定義的語言,CORBA還定義了IDL到各種語言的映射,標(biāo)準(zhǔn)映射的有Ada、C、C++、Smalltalk、Java、以及Python。有了這些映射,就可以將IDL翻譯成各種語言,從而實(shí)現(xiàn)了跨語言。IDL語言是一種接口定義語言。IDL語言不同于所有已有的程序設(shè)計(jì)語言,它是一種描述性語言,也就是說,用它描述得到的接口是不能直接被編譯執(zhí)行。OMG IDL語言采用ISOLatin-1(8859.1)字符集。該字符集可以分為字母、數(shù)字、圖形符號、空格符、和格式符號。其中字母包括英文26個字母的大小寫,數(shù)字包括10個阿拉伯?dāng)?shù)字0到9。

ORB是CORBA的核心,是對象之間建立Client/Server關(guān)系的中間件。使用ORB,客戶可以透明地調(diào)用一個服務(wù)對象上的方法,這個服務(wù)對象可以在本地,也可以在通過網(wǎng)絡(luò)連接的其他機(jī)器上。ORB截獲這一調(diào)用同時(shí)負(fù)責(zé)查找實(shí)現(xiàn)服務(wù)的對象并向其傳遞參數(shù)、調(diào)用方法返回最終結(jié)果??蛻舨⒉恢婪?wù)對象位于什么地方,它的編程語言和操作系統(tǒng)是什么,也不知道不屬于對象接口的其他系統(tǒng)部分。這樣,ORB在異構(gòu)分布環(huán)境下為不同機(jī)器上的應(yīng)用提供了互操作性,并無縫地集成了多種對象系統(tǒng)。

在client端去調(diào)用server端的代碼時(shí),ORB對于client端是不可見的,client感覺好像調(diào)用了自己對象的方法一樣,但是網(wǎng)絡(luò)傳輸?shù)倪^程都被封裝在了ORB中。

 2      idl文件創(chuàng)建

在開發(fā)之前需要按照上一章中配置好Eclipse插件開發(fā)環(huán)境,

1、  客戶端開發(fā)idl文件,idl文件由服務(wù)端接口提供,或者自定義創(chuàng)建,如下圖:



modulehelloapp {
  interfaceHello {
    string sayHello();
    oneway void shutdown();
  };
};

2. 選擇IDL文件,右鍵ORBMenu--->Compile,就自動生成相應(yīng)的操作文件

 

自動生成需要的操作文件一共7個;

 

 3       服務(wù)端開發(fā)

1.      src上右鍵New--->Other--->CORBAWizard--->Server--->Active object map--->Next如下圖:

 

 2.      在彈出的對話框里IDL filename欄選擇/{projectName}/src/{IDLname}.idl

   Interface欄選擇IDL文件里定義的接口名

   Package欄里填寫包名

   Server classname欄里填寫服務(wù)端類名

--->Next 在彈出的對話框,選中Createserver class:項(xiàng)


3. 為生成的服務(wù)端類添加未實(shí)現(xiàn)的方法,并填寫方法體

 


至此服務(wù)端配置完成,Server_AOM class為服務(wù)端啟動入口。

 4       客戶端開發(fā)

1、新建java project;

2. src上右鍵New--->Other--->CORBA Wizard--->IDL files--->Simple IDL,如下圖:

 

3.選擇之前的idl文件,

完成后自動生成客戶端文件操作,如下圖:

 

4. 在客戶端類的main方法里,取消注釋test.getORBInterface().operation1("Amessage in the bottle..."); 并調(diào)用之前自定義的方法,修改傳遞的String內(nèi)容。即可完成客戶端調(diào)用。

 備注: 運(yùn)行服務(wù)端程序Server_AOM.java,然后運(yùn)行客戶端程序MyServiceClientImpl.java

至此簡單的Service and client開發(fā)完成!

 如有疑問請留言或者到本站社區(qū)交流討論,感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!

相關(guān)文章

最新評論

家居| 霍城县| 喜德县| 大埔县| 上思县| 三都| 海阳市| 光山县| 多伦县| 寿光市| 崇义县| 周口市| 台南县| 华蓥市| 武川县| 韩城市| 竹溪县| 卢龙县| 桓仁| 固原市| 商洛市| 洪江市| 平湖市| 连山| 孝义市| 墨竹工卡县| 林州市| 信宜市| 巴东县| 东安县| 邢台县| 额济纳旗| 临沭县| 通化市| 城固县| 武安市| 嘉善县| 北宁市| 饶平县| 敖汉旗| 武强县|