Indie Lagu :: Lagu Tarbaru

Thursday, April 9, 2009

Mengenal AJAX


AJAX (Asynchronous JAvascript and XML) adalah solusi dari permasalahan yang dihadapi oleh traditional Web Application untuk mengatasi masalah waktu tunggu.  AJAX berada pada sisi client.

Traditional web application menggunakan konsep request dan response di mana ketika user melakukan permintaan (request), user harus menunggu tanggapan (response) dari server sebelum dapat melakukan aktifitas selanjutnya (gambar samping kiri).  Permasalahan muncul ketika response tak kunjung datang yang disebabkan sesuatu hal di dalam jaringan komunikasi, maka user, aplikasi yang digunakan, harus terus menunggu dan dalam kondisi yang buruk, user tidak akan bisa lagi berinteraksi dengan aplikasinya karena sudah "membeku".  


AJAX dikatakan sebagai solusi dari masalah ini karena dalam framework AJAX, user tidak akan berkomunikasi
 langsung dengan server namun berkomunikasi dengan sistem AJAX dyang akan berkomunikasi dengan server.  Komunikasi dengan AJAX digunakan Javascript dan tanggapan dari AJAX berupa HTML, CSS dan data.  Komunikasi AJAX dengan server menggunakan HTTP-request dan tanggapan dari server berupa data XML (gambar samping kanan).  Intinya jika user membutuhkan data yang berada pada server, maka user akan menggunakan Javascript untuk memberitahukan kepada AJAX dan AJAX akan meminta data dari server menggunakan HTTP-request.  Selama menunggu data terbaru, user masih tetap bisa berkomunikasi dengan AJAX sementara itu AJAX akan menunggu response dari server.  Ketika sudah terdapat response, AJAX akan memperbaharui bagian tertentu (bukan keseluruhan) pada User Interface dari user.


Keuntungan
  1. Mengurangi waktu tunggu dari user
  2. Mengurangi beban Server karena sebagian komputasi telah diserahkan ke Client.
  3. Menawarkan interaksi yang sama dengan interaksi yang biasa dilakukan pada Desktop
  4. Tidak tergantung Sistem Operasi
  5. Tidak membutuhkan Plugin.  Yang dibutuhkan hanyalah dukungan Javascript pada client web browser.

Kelemahan
  1. Tergantung pada setingan pada browser.  Jika browser yang digunakan tidak mendukung Javascript maka secara otomatis aplikasi AJAX juga tidak akan bisa dijalankan.
  2. Semua aksi terjadi pada halaman yang sama, ini berarti tombol "BACK" tidak akan berfungsi seperti biasanya. 
  3. Masalah keamanan.  Potensial terjadinya SQL injection attack.  Hacker bisa meletakan injection kedalam request string. Jika aplikasi penerima tidak melakukan filtering dan melewatkan request tersebut langsung ke database, maka kemungkinan besar akan terjadi ekspoitasi private information 
  4. Browser yang berbeda memberikan hasil yang berbeda.  Butuh pengujian pada berbagai jenis browser untuk memastikan bahwa aplikasi AJAX sudah berjalan sesuai dengan yang diharapkan.  Penyebab masalah ini adalah karena belum adanya standarisasi Javascript pada browser.
  5. Mesin pencari tidak akan bisa mendeteksi informasi yang terdapat dalam aplikasi AJAX dan menganggap aplikasi AJAX sebagai website kosong

Reference dan Sumber gambar :

1. Prof. Dr. –Ing. Juergen Ziegler, Entwiklung von Web User Interfaces, Interactive System 08/09, DUE University

Reference Lain :

2.  Dan Rahmel, Professional Joomla, Wrox
3.  Wikipedia, Ajax (programming), http://en.wikipedia.org/wiki/AJAX#cite_notetesting_security-16


No comments: