Cobra
Cobra
PEMROGAMAN JARINGAN
Anggota Kelompok :
1. Membuat sebuah folder untuk project ConverterCORBA yang akan dibuat, dan diberi
nama corba
2. Membuat File IDL, simpan dengan nama Convert.idl dan diletakkan pada folder project
corba
module TempConvertApp
{
interface Convert
{
double cToF(in double c);
};
};
3. Membuat Package TempConvertApp, pada folder project yang dibuat tadi, buat folder
baru lagi dengan nama TempConvertApp untuk tempat package pengolahan komponen
CORBA
4. Buat File “Convert.java” Dan Letakkan Dalam Folder “TempConvertApp”, dan simpan
file Convert.java tersebut pada package (TempConvertApp)
package TempConvertApp;
/**
*
* @author hdzmxx
*/
public interface Convert extends org.omg.CORBA.Object {
double cToF(double c);
}
package TempConvertApp;
/**
*
* @author hdzmxx
*/
abstract public class ConvertHelper {
org.omg.CORBA.CompletionStatus.COMPLETED_MAYBE);
}
// Dispatch method request to its handler
switch (__method.intValue()) {
case 0: // TempConvertApp/Convert/cToF
{
double c = in.read_double();
double $result = (double) 0;
//invoke the method
$result = this.cToF(c);
//create an output stream for delivery of the result
out = $rh.createReply();
//Marshal the result via output stream which connects
//the input stream of client
out.write_double($result);
break;
}
default:
throw new org.omg.CORBA.BAD_OPERATION(0,
org.omg.CORBA.CompletionStatus.COMPLETED_MAYBE);
}
return out;
} // _invoke
// Type-specific CORBA::Object operations
private static String[] __ids = {
"IDL:TempConvertApp/Convert:1.0"};
10. Buat File “ConvertServer.java” Dan Letakkan Di Dalam Folder Project “Corba”
(Bukan package “TempConvertApp”).
package corba;
/**
*
* @author hdzmxx
*/
import TempConvertApp.*;
import org.omg.CosNaming.*;
import org.omg.CosNaming.NamingContextPackage.*;
import org.omg.CORBA.*;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.event.*;
11. Buat File “ConvertClient.java” Dan Letakkan Di Dalam Folder Project “Corba”
(Bukan package “TempConvertApp”), untuk mengakses komponen CORBA dari
server.
package corba;
/**
*
* @author hdzmxx
*/
import TempConvertApp.*;
import org.omg.CosNaming.*;
import org.omg.CosNaming.NamingContextPackage.*;
import org.omg.CORBA.*;
import org.omg.PortableServer.*;
import java.util.Properties;
POAHelper.narrow(orb.resolve_initial_references("RootPOA"));
rootpoa.the_POAManager().activate();
// create servant and register it with the ORB
ConvertImpl convertImpl = new ConvertImpl();
convertImpl.setORB(orb);
//get object reference from servant
org.omg.CORBA.Object ref =
rootpoa.servant_to_reference(convertImpl);
Convert href = ConvertHelper.narrow(ref);
//get naming context
org.omg.CORBA.Object objRef =
orb.resolve_initial_references("NameService");
// cast the generic object reference to a proper type
NamingContextExt ncRef =
NamingContextExtHelper.narrow(objRef);
//bind the name “Convert” with naming service
NameComponent path[] = ncRef.to_name("Convert");
ncRef.rebind(
path,
href);
// wait for invocations from client
orb.run();
} catch (Exception ex) {
System.err.println("ERROR: " + ex);
ex.printStackTrace(System.out);
}
}
}
Running aplikasi menggunakan command prompt :
6. Maka akan muncul DOS baru, menyatakan bahwa java sedang running dengan
memproses ConvertServer.java
7. Kemudian jalankan aplikasi client, setelah itu isi pada kolom celcius
Sumber : https://ilmukomputer.org/2011/04/14/membuat-aplikasi-converter-suhu-
dengan-memanfaatkan-corba/