Posted by : jody baharizki Monday, July 25, 2011

      PHP/java adalah extension yang digunakan sebagai jembatan untuk mengakses objek java
dari script php. PHP/Java Bridge,  merupakan integrasi teknologi php dan java yang tidak
menggunakan java Native Interface (JNI), sehingga memungkinkan komunikasi antara php dan
teknologi java seperti JSP, Servlet dapat terjalin. Penggunaan php/java ini merupakan salah satu
cara untuk mengakses Database pada platform windows seperti Microsoft Access yang hanya
dapat di pakai di sistem operasi windows, sehingga dapat di pakai pada sistem operasi lainnya
seperti FreeBSD.
Kata kunci: PHP/JAVA, Free Source,JNI

1. Pendahuluan

   Pengguna Sistem operasi selain Window tentunya akan terasa sulit untuk memanfaatkan
database access pada system operasinya, ini  dikarenakan database access dibuat hanya untuk
system operasi window. Sebenarnya sudah ada beberapa vendor yang menciptakan software yang
bisa mengatasi masalah tersebut seperti ODBC-bridge buatan EasySoft, tetapi software ini bersifat
komersil. Kemudian dicoba mencari software yang sama tetapi bersifat open source, rupanya
banyak software sejenis yang bersifat open source, seperti proxool, msjdbcproxy, jetproxy dan
lainnya. Pilihan tertuju pada Java Enterprise Technologies, Inc. membuat JDBC-proxy yang
memungkinkan akses database melalui IP address sehingga memungkinkan  akses database pada
system operasi yang berbeda.

2. PHP/JAVA extension
 
   PHP/java adalah extension yang digunakan sebagai jembatan untuk mengakses objek java dari
script php.   Ada 3 macam php/java yang bisa digunakan yaitu :
1. Zend PHP/Java Bridge (comersial) , produk buatan Zend ini menawarkan fitur yang menarik
yaitu Single JVM Instantiation (hanya membutuhkan Satu JVM untuk seluruh script PHP), Direct
Calls from PHP (Mengakses java langsung dari php) dan  Seamless Integration (Library dan class
terintegrasi langsung dengan script php)

2. Java PHP Extension  (free Source) , dibuat  oleh Sam Ruby dan team  merupakan experiment
untuk mengintegrasikan java dengan php menggunakan Java Native Interface(JNI). Pada
awalnya disediakan pada source PHP namun perkembangannya kemudian, untuk versi
linux(Mandrake,Redhat dan lainnya) produk ini dihentikan pada php versi 5.0 tetapi masih di
support untuk versi 4.X.X sedangkan untuk versi windows sampai php versi 5.2.0 produk ini
masih masih digunakan tetapi dalam bentuk binary code.

3. PHP/Java Bridge (free Source),  merupakan integrasi teknologi php dan java yang tidak
menggunakan java Native Interface (JNI), sehingga memungkinkan komunikasi antara php dan
teknologi java seperti JSP, Servlet dapat terjalin.



Gambar  2 : php/java extension vs php/java bridge
Perbedaan mendasar dari php/java extension  dan php/java bridge adalah pada php/java
extension masing-masing  script php yang menggunakan java diproses oleh masing-masing jvm
sedangkan php/java bridge seluruh script php yang menggunakan java diproses oleh satu JVM. Jadi
untuk segi kecepatan maka php/java bridge lebih cepat dibandingkan dengan php/java extension.
3. Studi Kasus : Mengakses Microsoft Access dari FreeBSD
Penggunaan php/java merupakan solusi sebagai jembatan penghubung yang memungkinkan
pemanfaatan teknologi java pada php. Ide utamanya adalah bagaimana mengakses Microsoft
Access dari sistem operasi selain Windows. Pertanyaannya adalah bagaimana hal ini bisa
dilakukan?. Cara yang umum di  terapkan pada database sekelas server adalah memungkinkan
berkomunikasi dengan database melalui port, misalkan untuk mengakses MySQL dapat dilakukan
dengan mengakses port 3306 dan SQL server dapat diakses  melalui port 133.
Microsoft Access adalah bukan database server, sehingga database ini tidak mungkin dapat
diakses diluar sistem operasi Windows. Solusinya adalah membuat Interface yang memungkinkan
komunikasi tersebut dapat dilakukan yaitu dengan membuat Database Proxy. JetProxy merupakan
java opensource yang memungkinkan mengakses database melalui IP dan Port.
Gambar 3. Arsitektur JetProxy
Berikut ini akan dijelaskan bagaimana menggunakan Jet Proxy sehingga dapat digunakan pada
php/java.
Mekanisme untuk menjalankan jet Proxy ada 4 langkah yaitu :
1. download file jp_server_2.1.zip di http://jmatrix.net/download
2. extrack file jp_server_2.1.zip dengan software ZIP misalnya dengan 7ZIP
3. Setting Database Server yaitu dengan memperbaiki file jetproxy.properties pada directory
config. Beberapa hal yang perlu di rubah  adalah
- LOG_TO_CONSOLE="false", diisi false jika  log tidak ingin ditampilkan pada saat
client di jalankan
- REGISTRY_HOST="xx.xx.xx.xx",  diisi ip address server.
- REGISTRY_PORT="52372", diisi nilai port server.
- SINGLE_PORT_OPERATION="true", diisi nilai true jika akan mengunakan satu port
- SINGLE_PORT="52372", diisi nilai port yang sama dengan REGISTRY_PORT jika
SINGLE_PORT_OPERATION bernilai true.
- FIREWALL_PROXY="xx.xx.xx.xx", disi nilai ip address jika firewall di aktifkan di
server.

- Kemudian menentukan database yang bisa di share, database yang dishare ada dua
yaitu MYSQL dan Access.
SHARES=
{
   datababe=
   {
     DRIVER_CLASS="org.gjt.mm.mysql.Driver"  
CONNECTION_URL="jdbc:mysql://xx.xx.xx.xx/jadwal"
      CONNECTION_PROPERTIES=
      {
  user="xxxx"
  password="xxxx"
      }
   }
   datababe1=
   {
      DRIVER_CLASS="sun.jdbc.odbc.JdbcOdbcDriver"
      CONNECTION_URL="jdbc:odbc:accesdb"
      CONNECTION_PROPERTIES=
      {
      user="xxxx"
      password="xxxx"
      }
   }
}



4. Menjalankan jet Proxy server, dengan menjalankan script jetproxy.bat pada directory bin.
Gambar 4 : Menjalankan Server Jet Proxy
Setelah server jet Proxy berjalan maka langkah selanjutnya adalah membuat program clientnya
yaitu di Sistem operasi FreeBSD.

1. Membuat File java yang berfungsi sebagai library untuk mengakses query pada jet Proxy.
import java.util.*;
import java.sql.*;
import com.jet.jdbc.pdriver.*;
public class test_jetproxy_Client
{
    public ResultSet baca_data()
    {
     // menentukan alamat host JET Proxy Server
      String host="xx.xx.xx.xx"; Seminar Nasional Teknologi 2007 (SNT 2007)    ISSN : 1978 – 9777
Yogyakarta, 24 November 2007
D ‐ 6
      // Menentukan port untuk komunikasi dengan server
      int port=52372;
      // nama database share pada ProxyServer
      String share="datababe";
      ResultSet rs=null;
     
      try
      {
         PDriver pdriver=PDriver.getInstance();
         Vector shares=pdriver.getAvailableShares(host, port);
         String connectionURL="jdbc:jet:proxy@"+host+":"+port+"?share="+share;
         Connection con=DriverManager.getConnection(connectionURL);
         Statement state=con.createStatement();
         String sql="select nim from mhs";
         rs=state.executeQuery(sql);
       }

     catch (Exception ex)
      {
         ex.printStackTrace();
      } Seminar Nasional Teknologi 2007 (SNT 2007)    ISSN : 1978 – 9777
Yogyakarta, 24 November 2007
D ‐ 7
       return rs;
    }
}

2. membuat file php yang berfungsi untuk memanfaat library yang telah di buat sebelumnya
untuk mengakses database.
<?php
java_require("/java_prog/jetproxy/jpdriver.jar;/java_prog/jetproxy/jars/jet_util.jar;/java_prog/je
tproxy/");
$obj = new Java("test_jetproxy_Client");
$rs=new Java("java.sql.ResultSet");
$system = new Java('java.lang.System');
$mulai=$system->currentTimeMillis ();
$rs = $obj->baca_data ();
$selesai=$system->currentTimeMillis ();
echo ($selesai-$mulai)."<br>";
    while($rs->next())
    {
      $v1=$rs->getString(1);
      $v2=$rs->getString(2);
      echo $v1."|".$v2."<br>";
    } Seminar Nasional Teknologi 2007 (SNT 2007)    ISSN : 1978 – 9777
Yogyakarta, 24 November 2007
D ‐ 8
$selesai1=$system->currentTimeMillis ();
echo ($selesai1-$selesai)."<br>";
@java_reset();
?>

3. Menjalankan program php di browser
Gambar 5 : Menjalankan Jet Proxy client

4. Kesimpulan
Penggunaan php/java sebagai jembatan penghubung yang memungkinkan penggunaan
database non server dapat dijadikan database server-like. Database yang yang dapat digunakan
tidak hanya sebatas Microsoft Access tetapi dapat database yang lainnya  seperti FoxBase, Dbase
dan lain-lain. Kelemahan penggunaan Database Proxy adalah akses yang sedikit lebih lambat. Dan
kelebihannya adalah dapat diakses pada Sistem operasi apapun yang support php/java seperti
LINUX, dan MAC OS.

5. Daftar Pustaka
BĂ–ekermier, Jost and Koerber, Jon., What is php/java bridge,  http://phpjavabridge.sourceforge.net/pjb, November 2007.
ETProxy – A Type 3 JDBC proxy Driver, http://jmatrix.net/content/jetproxy_home.jsp
JETProxy JDBC server, http://jmatrix.net/content/jetproxy_server.jsp

{ 1 comments... read them below or add one }

  1. Thanks sob artikelnya bermanfaat, silahkan di cek sob aplikasi akunting buatan anak Indonesia yang gak kalah keren ama buatan luar di kiper.co.id

    ReplyDelete

Psang Iklan?

Psang Iklan?
Klik gambar diatas

Like Us!

Youtube

\
\

Labels

Powered by Blogger.

Total Pageviews

- Copyright © 2016 Jody Baharizki -@jodybaharizki- Powered by Blogger -