Creativity and News Tech

Simple, Fast, and Sharp Information

Active Server Pages November 17, 2007

Filed under: News — intics @ 9:38 am
ASP atau Active Server Pages adalah produk server-side scripting yang ikeluarkan oleh Microsoft Corporation. Terdapat beberapa perbedaan antara ASP
dengan server-side scripting lainnya, diantaranya :

 	- Lisensi, seperti yang diketahui ASP adalah bersifat proprietary.
 	- Distribusi, ASP hanya dapat dijalankan di sistem operasi windows dengan IIS yang terinstall didalamnya, Walaupun dapat dijalankan
          di linux/unix dengan Chilisoft ASP, tidak dapat selancar bila di windows.
	- Penggunaan COM object yang kental, salah satu keunggulan ASP adalah kekayaannya dalam integrasi dengan COM Object dalam kinerjanya.
 	- Dapat berkolaborasi dengan script lainnya, seperti VBScript, JScript, PerlScript, PyhonScript, dan lainnya.
 	- Dominan memakai ADO dalam konektivitas databasenya.

	Dalam perkembangannya, saat ini ASP sudah mengimplementasikan konsep .NET didalamnya. Berikut adalah sejarah singkat dari perkembangan ASP :
 	- ASP version 1.0 (distributed with IIS 3.0) , Desember 1996,
 	- ASP version 2.0 (distributed with IIS 4.0) , September 1997,
 	- ASP version 3.0 (distributed with IIS 5.0) , November 2000,
 	- ASP.NET version 1.0 (part of the Microsoft .NET platform) , Januari 2002
 	- ASP.NET version 1.1 , April 2003
 	- ASP.NET version 2.0 , November 7 2005)

 	Pada artikel ini akan dijelaskan bagaimana membuat dan mengimplementasikan ActiveX DLL di halaman ASP. Mengapa menggunakan ActiveX DLL? Karena komponen tersebut
dapat diubah dan dibuat dengan mudah, tentunya jika diimbangi dengan pengetahuan pemograman
yang baik. Secara umumnya, pengaksesan komponen ActiveX DLL dari script ASP adalah :

 | set obj = Server.createobject(object/file_name.classname)

	Objectname adalah nama object/file yang sudah teregistrasi di windows sebelumnya, dan classname adalah nama class dari object tersebut. Sedangkan untuk pengaksesan fungsi
atau method yang ada di object tersebut adalah :

 | obj.methodname(param)

 	Param adalah parameter masukan untuk fungsi. 

[ How to build ]

	Dalam membuat komponen ActiveX untuk ASP perlu diperhatikan hal-hal sebagai berikut :
 	- Privilege atau hak akses. Jika komponen ActiveX perlu menjalankan suatu program,  menghapus/membuat file dan kegiatan akses sistem lainnya, perlu konfigurasi
          privilege yang baik. Karena jika tidak maka akan terjadi penolakan hak akses dari sistem operasi.
 	- Run-time, pada saat eksekusi komponen ActiveX maka komponen tersebut akan diload oleh IIS Worker Process atau w3wp.exe. Maka bila terjadi kesalahan atau kondisi
	  dimana komponen tidak respon, diperlukan penanganan seperti merestart service IIS guna membuka handle ke file ActiveX DLL tsb.
 	- Registrasi komponen, registrasi komponen dengan menggunakan tools regsvr32.exe
 	  diperlukan agar IIS dapat mengetahui komponen yang akan dijalankannya. Registrasi \ dapat dilakukan dengan cara mengetikkan : regsvr32.exe [path/nama DLL] pada
	  kotak Run dan untuk unregister komponen dengan cara : regsvr32.exe /u [path/nama DLL].

	Selanjutnya kita akan membuat contoh komponen ActiveX yang sederhana dengan bahasa emograman Visual Basic 6.0. Untuk memilih pembuatan ActiveX, dapat dilakukan dengan cara
memilih jenis projek pada jendela pilihan projek. Pilihlah projek New ActiveX DLL. Maka akan tersaji 1 buah class kosong yang siap digunakan. Perlu diketahui bahwa pengaturan
properties class Instancing harus diset ke nilai 5 atau MultiUse. Berikut adalah contoh fungsi yang akan mengembalikan nilai perhitungan aritmatika :

------------------ START COPy FROM HERE ------------------
 |
 | Public Function hitung(ByRef x As Integer, ByRef y As Integer) As Integer
 |  hitung = (x + y) * 2
 | End Function
 |
------------------ STOP COPy FROM HERE ------------------

	Lalu simpanlah projek dengan nama coba.vbp dan nama class dengan nama hitung1.cls.
Lalu buatlah komponen ActiveX dari projek tersebut dengan memilih menu File -> Make Coba.dll
dari toolbar. Registrasi komponen tersebut dengan command dari kotak Run : Regsvr32.exe coba.dll.
Buatlah file ASP berikut ini :

------------------ START COPy FROM HERE ------------------
 |
 | <%
 |   dim hasil
 |   set obj = Server.createobject("coba.hitung1")
 |   hasil = obj.hitung(1,2)
 |   Response.Write hasil
 | %>
 |
------------------ STOP COPy FROM HERE ------------------

	Lalu jalankanlah dari browser anda, maka akan terlihat bahwa tercetak angka "6"
dari hasil perhitungan fungsi hitung. Memang terlihat masih sangat sederhana, tetapi
komponen ActiveX dapat dibuat dan digunakan untuk keperluan yang sangat banyak, Seperti
perhitungan matematis yang rumit, prosedur Pengecekan Anti-Virus, mengirimkan email
secara otomatis, dan lain sebagainya. Disamping kemudahan menggunakan komponen ActiveX dalam ASP,
juga terdapat kekurangannya yaitu pemanggilan fungsi/method dari object diperlukan waktu
yang lama.Bahkan untuk membuat object itu sendiri juga diperlukan waktu yang lama. 

	Berikut adalah tabel perbandingan antara waktu eksekusi VBS, JS dan VB :

Time taken by same code in VB/VBS/JS.	

--------------------------------------------------------------------------------------------------------
 VB Code 	 			VBS Time [mics] 	 JS Time [mics]  	 VB5 Time [mics]
---------------------------------------------+-------+----------+--------------+--------+--------------+
 Application("A2"), 0items 	  		35 	 		54 	 		 7
 Application("A4"), 1000items 	  		42 	 		65 		 	15
 request.querystring 	 	 		124 	  					 8
 request.querystring("A") 	 		176 	 	       161 	 		47
 request.querystring.Item("A") 	 		210 	 	       205 	 		47
 request.servervariables("HTTP_REFERER") 	177 	 	       175 	 		55
 request.ServerVariables("REMOTE_ADDR") 	205 	 	       175 	 		74
 request.servervariables("X") 	 		224 	 	       226 	 		95
 request.servervariables("HTTP_COOKIE") 	318 	  	 			       109
 request.cookies("AAA") 	 		165 	 	       160 	 		47
 request.totalbytes 	 			 61 	 	        61 	 		 3
 A = X & "AAAA" 	 			4.6 	  	 				 1.7
 A = "" & Now() 	 			40.7 	  	 				29.3
 D = Now 	 				10.8 	  	 				 9.8
 A = FormatNumber(5.5,2) 	 		17.6
 A = Format(5.5, "0.00") 	  	  	 						52.4
 A = Left(X,2) 	 				 5.8 	  	 				 1.7
 D = InStr(X, "bb") 				 4.4 	  	 				 1.4
 Call sub 	 				 7.4 	  	 				 1.4
 CreateObject("ADODB.Connection") 	 	1110 	  	 				471
 CreateObject("ADODB.Recordset") 	 	 751 	  	 				 83
 CreateObject("Scripting.Dictionary") 	 	 590 	  	 				257
 CreateObject("Scripting.FileSystemObject") 	 350 	  	 				 27
---------------------------------------------------------------------------------------------------------

	Penggunaan memory juga mempengaruhi kinerja dari ASP. ASP mempunyai karakteristik
menyimpan file include di dalam memory setiap dipanggil. Jadi bila Terdapat banyak file
include, maka akan membebani sistem itu sendiri. Contohnya bila terdapat 100 kB file include
dan tiap byte dari file tersbut memakan 3 byte di memory dan file tersbut di include
ke dalam 100 file ASP, maka 100 * 3 * 100 = 30 MB jumlah memory yang digunakan.Sedangkan
pada penggunaan komponen ActiveX pada ASP akan sedikit menguntungkan, karena komponen
akan terus di memory begitu ia diload atau di eksekusi hingga di bebaskan kembali oleh IIS. 

[ Penutup ]

	Penggunaan komponen ActiveX di halaman ASP sangat mudah dibuat dan diimpelemntasikan.
Komponen ActiveX dapat membuat konten web lebih dinamis dan membantu perhitungan matematis
bila diperlukan. Penggunaan komponen ActiveX juga terdapat kelemahannya, seperti pembuatan
dan pemanggilan object yang cukup memakan waktu.

[ Notes ]
	- Penulis TIDAK bertanggung jawab atas penggunaan maupun penyalahgunaan dari artikel ini.
	- Tujuan dibuat artikel HANYA untuk BAHAN PEMBELAJARAN saja.
        - Penggunaan nama, merek, atau logo hanya sebagai CONTOH dan REFERENSI saja, TIDAK ada maksud
          mempromosikan pihak tertentu.
        - Penulis mohon maaf apabila seluruh/sebagian dari isi artikel ini sudah tersirat dalam
          artikel sejenis lainnya.

[Referensi]

 	[1] http://en.wikipedia.org/wiki/Active_Server_Pages
 	[2] http://www.motobit.com/tips/detpg_DLLinclude/
 	[3] http://www.planet-source-code.com/
 	[4] http://support.microsoft.com/kb/249873
 	[5] http://www.google.co.id/
Advertisements
 

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s