U E D R , A S I H C RSS

코바예제/시계



1.

CORBA . . . 할 ORB .

2.

CORBA FRAMEWORK 해하 .

3.

ObjTimeServer getTime() getTime() 환해 . CORBA . IDL IDL . IDL ( VisiBroker) ORB 포함 . IDL . IDL . ORB Java ORB Java(Stub, Skeleton) . IDL (proxy object) . 클 IDL 한 호 . ("stand-in") . . . 통해 환하 퉁해 , , 행하 환하 . IDL , . ORB ORB . 한 투 .

4. IDL

~cpp 
//TestTimeServer
module TestTimeServer {
    interface ObjTimeServer {
        string getTime();
    };
};

IDL (idl2java) .

5. (implementation object)

IDL . ObjTimeServer_Skeleton.java , . IDL . , . IDL 톤 클 합해. .

~cpp 
//  
//TestTimeServerImpl.java
import CORBA.*;

class ObjTimeServerImpl extends TestTimeServer.ObjTimeServer_Skeleton {
// 

//
public ObjTimeServerImpl() { }

//
public String getTime() throws SystemException {
  return ("The current time is : " + current_time);
}

}


6.

화하, , 클 , .

~cpp 
//   
import CORBA.*;
public class TimeServer_Server {
public static void main(String [] args) {
try {
// ORB 화
ORB orb = ORB.init();
.
.

//  
ObjTimeServerImpl time_server_obj = new ObjTimeServerImpl(args[0]);
.
.
} catch(SystemException e) {
System.err.println(e);
}
}
}
행하 IOR 환할 . .
IOR : 00000012346121112444232....( .)

7.

통해 . CORBA 환, ORB 화한. ORB 화한 ORB (pseudo-object) . ORB ' ' 통해 형태 , CORBA 한 파 . . . . ' 화' , ' '.(IOR) "효한" . CORBA, ORB object_to_string() string_to_object() . CORBA 2.0 호환 ORB . . 'narrow'. ORB 화하 CORBA 한 표 . 클 , .

~cpp 
//   
//TimeServer_Client.java
import java.io.*;
import CORBA.*;

public class TimeServer_Client {
public static void main(String [] args) {
try{
//ORB 화
ORB orb = ORB.init();
.
.

//    ,       .
object myObj = orb.string_to_object(args[0]);
.
.

//     .(narrow down)
TestTimeServer.ObjTimeServer TimeServer = TestTimeServer.ObjTimeServer_var.narrow(obj);

} catch(SystemException e) {
System.err.println(e);
}
}
}
Valid XHTML 1.0! Valid CSS! powered by MoniWiki
last modified 2021-02-07 05:31:19
Processing time 0.0336 sec