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










