JAVA CODE FOR CORBA | URDINESH

Software Programming, Tutorials, Interview Preparations,Stock Market,BSE/NSE, General informations

Tuesday, May 20, 2014

JAVA CODE FOR CORBA

INTERFACE:

module HelloApp
{
    interface Hello
{
    string sayHello();
    oneway void shutdown();
       };
   };

PROGRAM: (SERVER)

import HelloApp.*;
import org.omg.CosNaming.*;
import org.omg.CosNaming.NamingContextPackage.*;
import org.omg.CORBA.*;
import org.omg.PortableServer.*;
import org.omg.PortableServer.POA;

import java.util.Properties;

class HelloImpl extends HelloPOA
 {
    private ORB orb;

     public void setORB(ORB orb_val)
        {
         orb = orb_val;
        }
   
      public String sayHello()
         {
           return "\nHello world !!\n";
          }
   
       public void shutdown()
        {
           orb.shutdown(false);
         }
     }

       public class HelloServer
       {

           public static void main(String args[])
{
            try
            {
      
             ORB orb = ORB.init(args, null);
             POA rootpoa = POAHelper.narrow(orb.resolve_initial_references("RootPOA"));
              rootpoa.the_POAManager().activate();
             HelloImpl helloImpl = new HelloImpl();
             helloImpl.setORB(orb);
             org.omg.CORBA.Object ref = rootpoa.servant_to_reference(helloImpl);
             Hello href = HelloHelper.narrow(ref);
             org.omg.CORBA.Object objRef =
             orb.resolve_initial_references("NameService");
             NamingContextExt ncRef = NamingContextExtHelper.narrow(objRef);
             String name = "Hello";
 NameComponent path[] = ncRef.to_name( name );
              ncRef.rebind(path, href);
             System.out.println("HelloServer ready and waiting ...");
             orb.run();
  }  
           
    catch (Exception e)
            {
            System.err.println("ERROR: " + e);
            e.printStackTrace(System.out);
            }
System.out.println("HelloServer Exiting ...");
           
      }
}

PROGRAM: (CLIENT)

import HelloApp.*;
import org.omg.CosNaming.*;
import org.omg.CosNaming.NamingContextPackage.*;
import org.omg.CORBA.*;

public class HelloClient
{
   static Hello helloImpl;

   public static void main(String args[])
    {
      try
      {
               ORB orb = ORB.init(args, null);

                org.omg.CORBA.Object objRef =
                orb.resolve_initial_references("NameService");
                NamingContextExt ncRef = NamingContextExtHelper.narrow(objRef);

       
              String name = "Hello";
              helloImpl = HelloHelper.narrow(ncRef.resolve_str(name));

             System.out.println("Obtained a handle on server object: " + helloImpl);
             System.out.println(helloImpl.sayHello());
             helloImpl.shutdown();

            }
             catch (Exception e)
            {
              System.out.println("ERROR : " + e) ;
              e.printStackTrace(System.out);
              }
        }
 } 

OUTPUT:

SERVER:                                                                     CLIENT:

Obtained a handle on server sobject:Hello
Hello World!!

HelloServer Exiting ...

No comments:

Post a Comment

Thanks for your valuable comments

Followers