







Study with the several resources on Docsity
Earn points by helping other students or get them with a premium plan
Prepare for your exams
Study with the several resources on Docsity
Earn points to download
Earn points by helping other students or get them with a premium plan
An introduction to remote invocation and marshalling in distributed systems. It covers the concepts of remote method invocation (rmi), remote procedure call (rpc), and event notification. The document also explains the process of marshalling and unmarshalling data for transmission between processes. The instructor's guide for coulouris, dollimore and kindberg's distributed systems: concepts and design is referenced for further reading.
Typology: Study notes
1 / 13
This page cannot be seen from the preview
Don't miss anything!








Instructor’s Guide for Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edn. 3 © Addison-Wesley Publishers 2000
Instructor’s Guide for Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edn. 3 © Addison-Wesley Publishers 2000
public class HelloServer {
public static void main(String args[]) { try{ ORB orb = ORB.init(args, null); // create and initialize the ORB // get reference to rootpoa & activate the POAManager POA rootpoa = POAHelper.narrow(orb.resolve_initial_references("RootPOA")); rootpoa.the_POAManager().activate(); HelloImpl helloImpl = new HelloImpl(); // create servant and register it with the ORB helloImpl.setORB(orb); // get object reference from the servant org.omg.CORBA.Object ref = rootpoa.servant_to_reference(helloImpl); Hello href = HelloHelper.narrow(ref); // get the root naming context org.omg.CORBA.Object objRef = orb.resolve_initial_references("NameService"); // Use NamingContextExt which is part of the Interoperable Naming Service (INS) spec NamingContextExt ncRef = NamingContextExtHelper.narrow(objRef);
String name = "Hello"; // bind the Object Reference in Naming NameComponent path[] = ncRef.to_name( name ); ncRef.rebind(path, href); System.out.println("HelloServer ready and waiting ..."); orb.run(); // wait for invocations from clients } catch (Exception e) { System.err.println("ERROR: " + e); e.printStackTrace(System.out); } System.out.println("HelloServer Exiting ..."); } }
Instructor’s Guide for Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edn. 3 © Addison-Wesley Publishers 2000