CORBA-c, , IDL. ORB. , .
(Naming service) CORBA- . .. - . . , .
(Event service) .
(Persistence service) . , .
(Transaction service) , . .
(Relationship service) CORBA-. : . CORBA-, , .
(Concurrency control) service - . - . . . , .
(Externalization service) CORBA- , ..
, (stub). , , . (skeleton) , . , . (). CORBA Java , (Interface Definition Language, IDL). test.idl
module testApp {
interface test
{ long count(in string msg); };
};
.
, ORB. (testServant) ORB. (NameService) , . count .
|
|
ORB orb = ORB.init(args, null);
testServant testRef = new testServant();
orb.connect(testRef);
org.omg.CORBA.Object objRef =orb.resolve_initial_references("NameService");
NamingContext ncRef = NamingContextHelper.narrow(objRef);
. : ORB count.
. NameComponent. resolve(NameComponent[] path), ( CORBA-). narrow(org.omg.CORBA.Object obj) testHelper ( idltojava ) test.
NameComponent nc = new NameComponent("test", "");
NameComponent path[] = {nc};
org.omg.CORBA.Object obj= ncRef.resolve(path);
test testRef=testHelper.narrow(obj); count
String msg = "try to count";
int count = testRef.count(msg);
24. ORB: , , . ORB. IIOP.
. . -: , . , . , . . . ORB . IIOP
IIOP (Internet Inter-ORB Protocol) ORB.
IIOP TCP/IP-. . IIOP . IIOP .
, CORBA , , , .
ORB . - , IDL-, (Dynamic Invocation Interface). IDL , ++, Smalltalk . , .