Win a copy of The Little Book of Impediments (e-book only) this week in the Agile and Other Processes forum!
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

CORBA or RMI-IIOP

 
Raghubir Bose
Ranch Hand
Posts: 88
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
I got stumped by this question can somebody give me a clue as why the answer should be B

You have a distributed system that is not made up entirely of Java objects (some of them are CORBA) what technology should you use?



A RMI-JRMP

B CORBA

C Rewrite the objects so the system in entirely Java based

D RMI-IIOP



Choice B is correct
 
Ricardo Ferreira
Ranch Hand
Posts: 156
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Bose,

Answer B it is the correct choice of this question. Why ? Well, let's go ...

The question tell us about some objects not created in java techonology. This means that could be objects (classes) created in another programming languages such as: C++, Cobol, VB, Delphi.

In this programming languages, RMI-JRMP are not the best solutions, since it is restricted to java objects residing in a Java Virtual Machine (remember, JRMP it is a java based protocol). RMI-IIOP is an mechanism of transfer RMI data over IIOP channels. IIOP is the CORBA based protocol by OMG, but RMI over IIOP is an java proprietary protocol too, as JRMP. So, this means that only work for java objects.

Rewrite the objects in java language is not a good approach, since the question talk about legacy connectivity. CORBA is the best solution for this case, because is an neutral development plataform. Using language mappings with IDL (interface definition language), you can write a definition of the objects services (it's methods) in an interface, using IDL, and with a proprietary IDL compiler, generate the stubs and skeletons necessary to connect to the object. The CORBA mecanism will take are the stubs communications for you, and create the appropriate RPC messages to the destination object.

For example:

I could create an interface definition like this:

interface CustomerManager {
Customer getCustomerDetail(in long custID);
void saveCustomer(in Customer customer);
};

And i could create the stubs to any language (well, there are a feel languages supported by CORBA, but not all), and access the legacy objects.

Best Regards,
 
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic