Day 4: PSP dan Java di Oracle


Learning In HomeOriginal Date: 16 Januari 2009

Dalam web programming, teknologi server side programming seperti PHP, ASP, dan JSP sangat terkenal. Oracle Database juga punya sesuatu yang mirip seperti mereka, yaitu PSP (PL/SQL Server Pages). Berikut ini adalah contoh halaman PSP:


<%@ plsql procedure="latihan_psp" %>

<HTML>
<HEAD>
<TITLE>Latihan PSP</TITLE>
</HEAD>
<BODY>
Sekarang Tanggal <%= CURRENT_DATE %>
</BODY>

</HTML>

Sebelum PSP di atas dapat dijalankan, aku harus menerjemahkannya terlebih dahulu menjadi sebuah procedure, dengan perintah seperti berikut di command prompt:


loadpsp -user jocki/password@latihan latihan_psp.psp

Setelah itu, akan terbentuk sebuah procedure baru di schema jocki dengan nama latihan_psp. Aku bisa menjalankannya di browser dengan mengetik URL berikut:


http://localhost:7777/latihan/latihan_psp

Ok, PSP mungkin terlihat agak menipu karena ia akhirnya diterjemahkan juga ke procedure PL/SQL. Hampir sama seperti JSP yang diterjemahkan menjadi servlet, hanya saja PSP lebih ‘kurang’ otomatis.

Bicara soal Java, Oracle Database datang dengan versi Java yang sudah dirubah yang disebut OracleJVM. Class Java dapat disimpan sebagai salah satu object di schema database, kemudian dapat dijalankan sebagai stored procedure. Misalnya, aku membuat sebuah class Java sederhana seperti berikut ini:


public class LatihanJava {
  public static String
    cetakLatihan() {
      return "Hello World!";
  }
}

Lalu aku men-compile source tersebut menjadi LatihanJava.class. Setelah itu, aku akan memasukkannya ke dalam database dengan memanggil loadjava:


loadjava -user jocki/jockihendry LatihanJava.class

Kemudian, aku membuat procedure sebagai wrapper dengan perintah SQL berikut:


CREATE OR REPLACE FUNCTION CETAKHELLO RETURN VARCHAR2 AS LANGUAGE JAVA NAME 'LatihanJava.cetakLatihan() return java.lang.String';

Untuk mengujinya, aku memberikan SQL berikut:


SELECT cetakHello FROM DUAL;

Sesuai perkiraan, query tersebut menghasilkan “Hello World!”.

Perihal Solid Snake
I'm nothing...

Apa komentar Anda?

Please log in using one of these methods to post your comment:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s

%d blogger menyukai ini: