javacorba
Ⅰ 簡要說明CORBA、java RMI和DCOM/COM的異同。
public int getTextWidth(String text, Paint paint) {
Rect bounds = new Rect();
paint.getTextBounds(text, 0, text.length(), bounds);
int width = bounds.left + bounds.width();
return width;
}
public int getTextHeight(String text, Paint paint) {
Rect bounds = new Rect();
paint.getTextBounds(text, 0, text.length(), bounds);
int height = bounds.bottom + bounds.height();
return height;
}
Ⅱ 簡要說明corba,java rmi和dcom/com的異同
public int getTextWidth(String text, Paint paint) { Rect bounds = new Rect(); paint.getTextBounds(text, 0, text.length(), bounds); int width = bounds.left + bounds.width(); return width; } public int getTextHeight(String text, ...
Ⅲ java corba client運行時報異常:org.omg.CORBA.BAD_PARAM: vmcid: 0x0 minor code: 0 completed: No
空指針異常,在你當前這個文件的28行處。話說28行處發生了什麼都看不到怎麼解決?
Ⅳ 使用Java CORBA實現迭代法求平方根,要求精確到0.000001
還是java的,先寫idl、再生成java的介面和定義文件,然後寫伺服器和客戶端
Ⅳ 請問corba和RMI有什麼區別啊
RMI定義了一組遠程介面,可以用於生成遠程對象。客戶機可以象調用本地對象的方法一樣用相同的語法調用遠程對象。RMI API提供的類和方法可以處理所有訪問遠程方法的基礎通信和參數引用要求的串列化。
遠程方法調用類似於Sun公司1985年提出的遠程過程調用(RPC)特徵。RPC也要求串列化參數和返回數值數據,但由於沒有涉及對象,情況比較簡單。Sun開發了外部數據表示(XDR)系統,支持數據串列化。RPC和RMI之間的一個重要差別是RPC用快速而不夠可靠的UDP協議,RMI用低速而可靠的TCP/IP協議。
遠程方法調用(RMI)和CORBA都是分布式計算技術,在進行分布式時各有其優缺點,為了有助於了解RMI的特點和用途,有必要討論一下CORBA和RMI的區別。
CORBA(Common Object Request Broker Architecture)是OMG的Object Management Architecture(對象管理結構),它是面向對象的分布式系統建立所依據的標准。CORBA被設計成一個能供所有編程語言使用的一個開放性說明,就是說一個機器上的Java客戶可以要求另一個用SmallTalk或C++的機器服務。正是由於這種語言的獨立性使得CORBA這么靈活和吸引人。為了適應語言獨立性,CORBA採用了非常通用的標准作為其介面。在不同的語言中,遠程調用、簽名和對象的引入有各自不同的定義,所以CORBA必須盡可能的中立和開放。正是這種通用性是CORBA的一個弱點。當開發人員都採用CORBA時,他們要用一種新的標準定義語言介面,它要求開發者學習新的編程介面,從而減小了遠程模型的透明性。
RMI是為僅在Java對Java的分布式計算中而開發的。遠程調用的標準是為了Java和應用Java的自然Java簽名和調用而開發的,這使得RMI對Java的開發者相當透明而且易於實現。RMI用Java語言緊密集成從而同CORBA相比能夠提供非常好的容錯能力及對異常的處理。盡管Java的RMI標准不像CORBA那樣語言獨立,但Java本身是一個獨立的平台,這就使RMI在跨平台的分布軟體開發中是一個很好的選擇。
IIOP
它是一個用於CORBA 2.0及兼容平台上的協議。這個協議的最初階段是要建立以下幾個組件部分:一個IIOP到HTTP的網關,使用這個網關可以讓CORBA客戶訪問WWW資源;一個HTTP到IIOP的網關,通過這個網關可以訪問CORBA資源;一個為IIOP和HTTP提供資源的伺服器,一個能夠將IIOP作為可識別協議的瀏覽器。
Ⅵ java中rmi和corba的區別
java中rmi和corba的區別:
1、定義介面:
rmi自己定義介面(interface)
corba生成idl代碼,然後使用idlj -fall name.idl生成介面和幾個類文件
2、啟動服務:
rmi啟動的是rmiregistry (port)默認1099
corba啟動的是tnameserv
3、實現的繼承類:
rmi extends UnicastRemoteObject
corba extends 運行idlj時 生成的_NameImplBase
4、實現類的rebind
rmi可以直接rebind 如:Naming.rebind("rmi://localhost/meeting",meetingserver);
corba需要先調用init()如:
ORB orb=ORB.init(avgs,null);
MOTDImpl impl=new MOTDImpl(motdFile);
orb.connect(impl);
org.omg.CORBA.Object objRef=
orb.resolve_initial_references("NameService");
NamingContext ncRef=NamingContextHelper.narrow(objRef);
NameComponent nc=new NameComponent(motdService,"");
NameComponent[] path=new NameComponent[]{nc};
ncRef.rebind(path,impl);
這里corba就要麻煩很多了
5、客戶端調用corba的調用跟實現類的綁定差不多如:
ORB orb=ORB.init(avgs,null);
org.omg.CORBA.Object objRef=
orb.resolve_initial_references("NameService");
NamingContext ncRef=NamingContextHelper.narrow(objRef);
NameComponent nc=new NameComponent("MessageOfTheDay","");
NameComponent path[]=new NameComponent[]{nc} ;
org.omg.CORBA.Object motdObj=ncRef.resolve(path);
MOTD motdRef=MOTDHelper.narrow(motdObj);
System.out.println(motdRef.getMOTD());
rmi只要lookup就可以了
總的來說其實rmi和corba都差不多,都是樁和框架,兩者相互競爭,但是在java中都可以相互調用。這歸功於rmi_iiop.
Ⅶ java的API里(org.omg.CORBA)這個包里是關於什麼內容的類啊
java的API里(org.omg.CORBA)這個包里是關於什麼內容的類啊?
自拍老婆個
Ⅷ 用java寫的corba伺服器中,如何知道調用服務的客戶端的ip地址啊
在CORBA應用層,如果server需要知道client的ip地址,一般採用的方式是某個介面調用的時候,client將相應的信息傳遞給server。
如果不是採用這種方式,那麼在CORBA應用層上,server是無法獲得client的ip地址。
當然,CORBA的底層通訊使用的是TCP/IP協議,從理論上講,從IP報文中可以獲得client的ip地址。但是,這需要你深入到CORBA層以下取研究了。
Ⅸ 通過JAVA去連接華為U2000告警系統的Corba介面,怎麼做啊
按介面寫idl,使用idlj 生成一些相關的介面java文件了