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);
}
}
}
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);
}
}
}










