*
The moose likes Distributed Java and the fly likes Client/server application using CORBA Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login


Win a copy of The Java EE 7 Tutorial Volume 1 or Volume 2 this week in the Java EE forum
or jQuery UI in Action in the JavaScript forum!
JavaRanch » Java Forums » Java » Distributed Java
Bookmark "Client/server application using CORBA" Watch "Client/server application using CORBA" New topic
Author

Client/server application using CORBA

Harry Nandy
Greenhorn

Joined: Oct 22, 2013
Posts: 2
the server side application that i have to write are as follows:
Server 1 - �Simple Server�
The first POA-based server you need to develop is the �simple server�. This server should perform the
following tasks:
1. Start a timer
2. Create 1,000 Count objects with names �My Count1� ... �My Count1000�, and activate each object at
the time of its creation
3. Stop the timer and print out the average time to create and activate each counter
4. Register each Count object with the Naming Service (you do not need to time how long this operation
takes)
5. Wait for client requests
Note that this server does not use a servant manager.

Can someone help on how to handle this program please?

// SimpleServer.java: The Simple Server main program

import org.omg.PortableServer.*;
import org.omg.CosNaming.*;

class SimpleServer
{ public static void main(String[] args)

{

try

{ // Initialize the ORB
org.omg.CORBA.ORB orb = org.omg.CORBA.ORB.init(args, null);

// get a reference to the root POA
POA rootPOA =
POAHelper.narrow(orb.resolve_initial_references("RootPOA"));

// Create policies for our persistent POA
org.omg.CORBA.Policy[] policies = {
rootPOA.create_lifespan_policy(LifespanPolicyValue.TRANSIENT)
};

// Create myPOA with the right policies
POA myPOA = rootPOA.create_POA( "count_poa", rootPOA.the_POAManager(),
policies );

//Start the timer
for(int i=0;i<1000;i++)
{

// Calculate Start time
long startTime = System.currentTimeMillis();

// Create the servant
CountPOAServant countServant = new CountPOAServant();

//Create the object id
MyCount[] c=new MyCount[i];


// Decide on the ID for the servant
byte[] countId = "Count".getBytes();

// Activate the servant with the ID on myPOA
myPOA.activate_object_with_id(countId, countServant);
// Activate the POA manager
rootPOA.the_POAManager().activate();

// Calculate stop time; print out statistics
long stopTime = System.currentTimeMillis();
System.out.println("Avg Ping = "
+ ((stopTime - startTime)/1000f) + " msecs");


}


// get a reference to the Naming Service root context
org.omg.CORBA.Object nameServiceObj =
orb.resolve_initial_references("NameService");
if (nameServiceObj == null)
{
System.out.println("nameServiceObj = null");
return;
}

NamingContextExt nameService =
NamingContextExtHelper.narrow(nameServiceObj);
if (nameService == null)
{
System.out.println("nameService = null");
return;
}

// bind the Count object in the Naming service
NameComponent[] countName = {new NameComponent("MyCount", "")};
nameService.rebind(countName,
myPOA.servant_to_reference(countServant));
System.out.println(myPOA.servant_to_reference(countServant)
+ " is ready.");
// Wait for incoming requests
System.out.println( orb.object_to_string( myPOA.servant_to_reference(countServant)));
orb.run();

} catch(Exception e)
{ System.err.println(e);
}
}
}
Ulf Dittmer
Marshal

Joined: Mar 22, 2005
Posts: 41599
    
  55
So in 2013 you happen to have the exact same problem as someone did in 2008? Is this a school assignment or something like that? If so, it's seriously outdated if it still teaches CORBA.


Ping & DNS - my free Android networking tools app
 
I agree. Here's the link: http://aspose.com/file-tools
 
subject: Client/server application using CORBA