最新国产好看的视频,伊人天堂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,公共對(duì)象請(qǐng)求代理體系結(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,對(duì)象管理組織。是一個(gè)國(guó)際化的、開放成員的、非盈利性的計(jì)算機(jī)行業(yè)標(biāo)準(zhǔn)協(xié)會(huì),該協(xié)會(huì)成立于1989年,其職責(zé)是為應(yīng)用開發(fā)提供一個(gè)公共框架,制訂工業(yè)指南和對(duì)象管理規(guī)范,加快對(duì)象技術(shù)的發(fā)展。。任何組織都可以加入OMG并且參與標(biāo)準(zhǔn)制定過程。OMG制定了統(tǒng)一建模語言UnifiedModeling Language?(UML?),模型驅(qū)動(dòng)架構(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?)。

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

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

CORBA標(biāo)準(zhǔn)主要分為三個(gè)部分:接口定義語言(IDL)、對(duì)象請(qǐng)求代理(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ù)字、圖形符號(hào)、空格符、和格式符號(hào)。其中字母包括英文26個(gè)字母的大小寫,數(shù)字包括10個(gè)阿拉伯?dāng)?shù)字0到9。

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

在client端去調(diào)用server端的代碼時(shí),ORB對(duì)于client端是不可見的,client感覺好像調(diào)用了自己對(duì)象的方法一樣,但是網(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,就自動(dòng)生成相應(yīng)的操作文件

 

自動(dòng)生成需要的操作文件一共7個(gè);

 

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

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

 

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

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

   Package欄里填寫包名

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

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


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

 


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

 4       客戶端開發(fā)

1、新建java project;

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

 

3.選擇之前的idl文件,

完成后自動(dòng)生成客戶端文件操作,如下圖:

 

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

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

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

相關(guān)文章

最新評(píng)論

依兰县| 元江| 武城县| 常宁市| 应城市| 中江县| 永善县| 门源| 深水埗区| 汉寿县| 巴塘县| 凌云县| 樟树市| 托克托县| 永平县| 罗平县| 海丰县| 密山市| 岗巴县| 冷水江市| 万载县| 加查县| 汝南县| 疏勒县| 黎川县| 当雄县| 麦盖提县| 凤庆县| 潞城市| 丹江口市| 图木舒克市| 金川县| 和平区| 扎兰屯市| 荣成市| 道孚县| 衡阳市| 遂昌县| 岳阳市| 柘荣县| 沂南县|