Sunteți pe pagina 1din 7

1 Ex. No. 9 Interface Interface // To save : StockMarket.

idl // Middleware component for retrieving Stock Market Exchange information using CORBA

module SimpleStocks{ interface StockMarket { float get_price(in string symbol); }; }; Implementation

//To Save : StockMarketImpl.java// import org.omg.CORBA.*; import SimpleStocks.*; public class StockMarketImpl extends _StockMarketImplBase { public float get_price(String symbol) { float price=0; for(int i=0;i<symbol.length();i++) { price+=(int)symbol.charAt(i);} price/=5; return price; } public StockMarketImpl(){super();} }

Server //To save StockMarketServer.java//

import org.omg.CORBA.*;

2 import org.omg.CosNaming.*; import SimpleStocks.*; public class StockMarketServer { public static void main(String[] args) { try { ORB orb=ORB.init(args,null); StockMarketImpl stockMarketImpl=new StockMarketImpl(); orb.connect(stockMarketImpl); org.omg.CORBA.Object objRef=orb.resolve_initial_references("NameService"); NamingContext ncRef=NamingContextHelper.narrow(objRef); NameComponent nc=new NameComponent("NASDAQ",""); NameComponent path[]={nc}; ncRef.rebind(path,stockMarketImpl); System.out.println("StockMarket server is ready"); Thread.currentThread().join(); } catch(Exception e){ e.printStackTrace(); } } }

Client //To save StockMarketClient.java//

import org.omg.CORBA.*; import org.omg.CosNaming.*; import SimpleStocks.*; public class StockMarketClient { public static void main(String[] args) {

3 try { ORB orb=ORB.init(args,null); NamingContext ncRef=NamingContextHelper.narrow(orb.resolve_initial_references("NameService")); NameComponent path[]={new NameComponent("NASDAQ","")}; StockMarket market=StockMarketHelper.narrow(ncRef.resolve(path)); System.out.println("Price of My company is"+market.get_price("My_COMPANY")); } catch(Exception e){ e.printStackTrace(); } } } // StockMarket program Running Procedure StockMarket Exchange details C:\stock>set path=g:\j2sdk1.4.2\bin; C:\stock>idlj StockMarket.idl C:\stock>idlj -fall -oldImplBase StockMarket.idl C:\stock>javac StockMarketImpl.java C:\stock>javac StockMarketServer.java C:\stock>javac StockMarketClient.java C:\stock>start tnameserv -ORBInitialPort 1050 C:\stock>start java StockMarketServer -ORBInitialPort 1050 C:\stock>java StockMarketClient -ORBInitialPort 1050 Price of My company is165.6 //whetherApp - To save Weather.idl//

module WeatherApp { interface Weather { void adjusttemp(in double r);

4 double getcurrent(); double getmax(); double getmin(); void call1(in double k); oneway void shutdown(); }; }; //To save WeatherServer.java// import WeatherApp.*; import org.omg.CosNaming.*; import org.omg.CosNaming.NamingContextPackage.*; import org.omg.CORBA.*; //server import org.omg.PortableServer.*; import org.omg.PortableServer.POA; import java.util.Properties; //implementation class WeatherImpl extends WeatherPOA { private ORB orb; private double current; private double min; private double max; public void setORB(ORB orb_val) { orb=orb_val; } public void adjusttemp(double g) { current += g; if(current > max) { max = current; } else if(current < min) { min = current; } } public double getmax()

5 { return max; } public double getmin() { return min; } public double getcurrent() { return current; } public void call1(double f) { min = max = current = f; } //implement shutdown() public void shutdown() { orb.shutdown(false); } } //server public class WeatherServer { 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(); WeatherImpl h1=new WeatherImpl(); h1.setORB(orb); org.omg.CORBA.Object ref=rootpoa.servant_to_reference(h1); Weather href=WeatherHelper.narrow(ref);

6 org.omg.CORBA.Object objRef=orb.resolve_initial_references("NameService"); NamingContextExt ncRef=NamingContextExtHelper.narrow(objRef); String name="Weather"; NameComponent path[]=ncRef.to_name(name); ncRef.rebind(path,href); System.out.println("Weather server ready amd waiting"); orb.run(); } catch (Exception e) { e.printStackTrace(); } } } //To save WeatherClient.java// import WeatherApp.*; import org.omg.CosNaming.*; import org.omg.CosNaming.NamingContextPackage.*; import org.omg.CORBA.*; public class WeatherClient { static Weather x; public static void main(String args[]) { double [][] d1 ={{-1.5,4.2,5.8,-4.5},{-2.3,-7.8,6.2,-4.7},{4.3,-2.5,3.5,-6.7},{5.2,4.3,8.2,6.2}}; String [] na ={"Chennai","Mumbai","Delhi","Calcutta"}; try { ORB orb=ORB.init(args,null); org.omg.CORBA.Object objRef=orb.resolve_initial_references("NameService"); NamingContextExt ncRef=NamingContextExtHelper.narrow(objRef); String name="Weather"; x=WeatherHelper.narrow(ncRef.resolve_str(name)); x.call1(20.0); System.out.println("\n\t\t Weather Forcast");

7 System.out.println("\n\t\t ------------------"); for(int j=0;j<4;j++) { System.out.println("\n\n"); System.out.println("City:"+na[j]); for(int i=0;i<3;i++) { x.adjusttemp(d1[j][i]); } System.out.println("\n\n The Maximum temperature is :"+x.getmax()); System.out.println("\n\nThe Minimum temperature is :"+x. getmin()); } x.shutdown(); } catch (Exception e) { e.printStackTrace(); } } }

S-ar putea să vă placă și