Jumat, 14 Januari 2011

AJAX

AJAX adalah kependekan dari Asycronous Javascript and XML, dalam bahasa indonesianya asinkron antara javascript dan XML, pengertian mudahnya menggabungkan antara javascript dan xml untuk mengakses sumber data di server. Jadi server tidak diakses secara langsung, biarkan mesin ajax yang mengaksesnya. Javascript sebagai pemrograman di sisi client (artinya program yang dibuat dengan javascript, bisa dijalankan tanpa menggunakan server) sekarang ini bisa digunakan untuk mengakses server secara asinkron (di belakang layar, artinya proses akses tidak terlihat oleh user). Dan XML digunakan untuk format data hasil kembalian dari server. Javascript bisa mengakses server dengan menggunakan suatu object yang disebut dengan XMLHttpRequest(). Ini object loh, sudah built-in dalam mesin javascript, sehingga anda tidak perlu membuatnya. Object inilah yang akan menjadi inti mesin dari AJAX, dari mengkases data sampai dengan menerima respon dari server, semuanya dikendalikan oleh object ini. Karena mesin javascript ada di dalam browser, maka aplikasi web berbasis ajax akan terpengaruh penggunaan browser, jangan khawatir hampir semua browser terbaru (mozilla 1.x sampai 2.x atau yang terbaru, IE 5+ sampai yang terbaru, Opera, Netscape) sudah mendukung object ini.
Dari sini sudah bisa diambil kesimpulan, yaitu
  • Ajax ditulis dengan javascript, memanfaatkan object javascript yang sudah ada yaitu XMLHttpRequest.
  • Ajax tergantung dengan browser, jika browser mendukung javascript, maka bisa dipastikan mendukung ajax.
  • Berdasarkan pernyataan point no 2 diatas, ajax merupakan teknologi browser. Benar, hanya memanfaatkan teknologi browser.
  • Ajax digunakan untuk mengakses server, dan user menerima kembalian dari server tidak secara langsung, tetapi masuk ke dalam mesin ajax terlebih dahulu, baru ditampilkan. Dan proses ini tidak merefresh halaman. Hanya bagian tertentu dari halaman web saja yang diganti, sesuai dengan request tadi.
Jika sudah mengerti tentang pengertian ajax diatas, kita lanjutkan fakta tentang ajax. Penggunaan object javascript (XMLHttpRequest) untuk merequest ke server, dalam beberapa browser tidak sama. Untuk browser keluaran microsoft menggunakan komponen ActiveX, namanya Microsoft.XMLHTTP, terdapat banyak versi dari komponen ini, tergantu dari versi browser internet Explorer (IE). Sedangkan browser keluarga mozilla, seperti firefox, opera menggunakan XMLHttpRequest. Namanya berbeda tetapi memiliki fungsi yang sama yaitu melakukan request ke server secara asinkron. Perbedaan ini tidak menjadi masalah, nantinya aplikasi yang dibuat sama kok.
Dimana peran XML ? XML hanyalah sebuah format data, XML digunakan untuk menampung data ketika dikirimkan dari server ke komputer client (web browser). Dokumen xml dibuat sesederhana mungkin, agar bisa diparser dengan mudah dan cepat. Yang perlu diingat, dengan menggunakan ajax, server bukanlah mengirimkan halaman, tetapi data. Ada perbedaan yang tipis antara data dan halaman jika kita berbicara soal web. Data dalam web adalah inti dari informasi itu sendiri, tidak peduli bagaimana data tersebut ditampilkan, bahkan data tidak memiliki tampilan. Tampilan akan dibuat secara on the fly di komputer client. Sedangkan halaman sudah memiliki tampilan, sudah termasuk didalamnya data, sehingga jumlah bit yang dikirim oleh server menjadi lebih banyak. Ajax menggunakan XML sebagai alat angkut datanya karena ke-fleksi-belan format XML. Dokumen xml akan diparser oleh XML parser, sehingga bisa ditampilkan sesuai dengan keinginan.
Ajax bukan teknologi baru, ajax sudah ada sejak adanya object tersebut (XMLHttpRequest), hanya saja tidak dimanfaatkan. Untuk pertama kalinya tahun 2005 Jesse James Garret dari Adaptive Path mempublikasikan sebuah artikel tentang bagaimana mengembangkan web yang berbeda dari web tradisional, ia menyebutnya dengan AJAX. Kemudian AJAX mulai populer setelah Google memakainya secara luas.
Contoh situs yang menggunakan ajax adalah Yahoo mail beta, Gmail, proses upload file di googlepages. Untuk situs googlepages, jika anda pernah menggunakannya, proses upload bisa dilakukan secara bersamaan.
Ajax memiliki kekurangan, yaitu tidak bisa di crawler secara baik oleh search engine, karena search engine bekerja dengan menelusuri url, sedang web berbasis ajax urlnya selalu sama, meskipun user meminta data. Inilah tantangan terbesar ajax. Tapi menurut saya justru disinilah kelebihan ajax. Ia lebih aman dibanding web yang mudah dicrawler. Makanya ajax itu lebih baik digunakan untuk halaman member, yang mana datanya tidak boleh di crawler, contohnya mail box
Keuntungan AJAX adalah aplikasi tersedia langsung di website, istilahnya "web application". Kerena itu ada juga kelemahannya, yaitu tidak bisa bekerja jika offline di mana koneksi Internet tidak ada. Tetapi ini wajar karena AJAX ini masih relatif baru. Menurut saya nantinya akan terjadi merger dengan aplikasi dekstop, jadi mungkin nanti bisa jalan meskipun offline, tentu saja untuk keperluan yang berhubungan dengan offline, misalnya: membaca email. Hal ini sebenarnya sudah disupport oleh browser melalui cache maupun "save page as" di mana anda bisa baca halaman yang sudah anda simpan.

AJAX atau Asynchronous JavaScript And XML, adalah teknik dalam pengembangan website untuk membuat aplikasi berbasis website secara interaktif. Sebagai mana diketahui bahwa aplikasi berbasis website (web application) membutuhkan resource yang sangat banyak dan bagian-bagian website harus di download ulang ketika sebuah halaman di refresh. Dengan AJAX, maka bagian tertentu dari website dapat di update tanpa mendownload seluruh halaman.


Hingga saat ini, aplikasi web mengikuti alur arsitektur berikut : satu – satunya cara
dalam merepresentasikan content baru (sebagai contoh, dalam merespon interaksi
antara user dengan halaman pada aplikasi) dilakukan dengan cara mengirimkan
request kepada server dan menampilkan halaman baru pada user. Terdapat
teknologi client side scripting (JavaScript, VBScript, dan sebagainya) yang
memberikan gambaran pada user bahwa mereka telah membuka content baru
dengan sebuah click pada tombol. Namun, teknologi scripting tersebut hanya dapat
memodifikasi content yang terdapat pada sebuah halaman; teknologi tersebut juga
hanya dapat bekerja terhadap informasi yang telah dikirimkan pada client.
Bermacam solusi telah dibuat sebelumnya, yang bertujuan untuk mengubah
paradigma yang ada, namun beberapa diantaranya bersifat komersial (Microsoft
memiliki sebuah solusi yang hanya berfungsi dengan Internet Explorer), sulit untuk
diprogram, dan tidak dapat diakses dengan mudah.
Kemudian hadirlah ajak sebagai penyelesaiannya.

Menyerupai J2EE, Ajax adalah 2 hal yang digabungkan : merupakan sebuah
teknologi, sekaligus arsitektir pemrograman.

Ajax Sebagai Tehknologi
Ajax adalah singkatan dari “Asynchronous JavaScript and XML”, yang dibuat dari
serangkaian teknologi dengan berbagai kemampuan : JavaScript, XML dan sebuah
method komunikasi asinkron antara client dan server.
3 teknologi yang saling berinteraksi : JavaScript menangkap isyarat, gerak serta
aksi. Sebagaimana pada situasi yang mungkin terjadi, JavaScript menggunakan jalur
komunikasi pada server (object JavaScript dengan nama XMLHttpRequest) untuk
memanggil method yang tersimpan pada server dan menggunakan XML sebagai
mekanisme pengiriman data. Jika JavaScript pada client telah menerima respon dari
server, maka JavaScript akan menggunakan kemampuan bawaannya untuk
memanipulasi struktur DOM halaman untuk menambahkan content yang didapat dari
server. Perubahan yang terjadi pada struktur DOM kemudian diterjemahkan oleh
browser pada client, sehingga meningkatkan efek interaktivitas pada user.


Ajax  sebagai sebuah Arsitektur
Pada awalnya Ajak dibuat sebagai sebuah rangkaian dari teknologi, namun
kemudian Ajax mengalami perkembangan. Sebagai contoh, adanya aplikasi web
yang tidak menggunakan XML dalam mentransfer data dari client ke server. Cara
tersebut dilakukan dengan menggunakan object XMLHttpRequest.
Berdasarkan realita di atas, beberapa pihak mendefinisikan sebagai paradigma baru
dalam pemrograman, disamping teknologi yang menyediakan fungsionalitas. Mari
kita bahas lebih mendalam tentang arsitektur Ajax.
Pengembang telah mengembangkan web programming sebelum hadirnya Ajax :
action dari user yang membutuhkan data dari server ditampilkan dalam halaman
yang digunakan, dimana data request dari user dikirimkan menuju server. Setelah
mengolah halaman tersebut, server menampilkan halaman baru bagi user yang
mengandung hasil dari proses sebelumnya.
Permasalah dari macam arsitektur tersebut adalah lambat dan cukup memakan
waktu, terutama bila dibandingkan dengan aplikasi desktop. Aplikasi desktop mampu
merespon cepat atas request dari user, aplikasi ini tidak memproses ulang masing –
masing komponen interface yang akan ditampilkan sebagai respon.
ajak  menggunakan arsitektur pemrograman tersebut pada aplikasi Web. Daripada
memberikan sebuah halaman penuh pada server dan mendapatkan pula sebuah
halaman penuh sebagai hasil operasi, AJAX mengijinkan kita untuk mengirimkan
request dalam ukuran yang lebih kecil pada server. Halaman yang terpakai hanya
termodifikasi untuk menampilkan hasil, bukan tergantikan dengan sebuah halaman
baru.
Faktor penting yang lain dari arsitektur AJAX adalah request dan response dijalankan
secara asinkron : AJAX tidak melarang user untuk melakukan proses lain pada
halaman yang dipakai. User dapat mengisi dan menggunakan area lain pada
halaman, sedangkan AJAX bekerja pada background.
Yang terakhir, AJAX mengijinkan user untuk berinteraksi dengan server sebagai
respon terhadap seluruh hal yang dilakukan oleh user. Arsitektur yang ada
sebelumnya hanya mengijinkan kita untuk berkomunikasi dengan server pada saat
user menekan tombol atau link yang akan mengirim data pada halaman. AJAX
memperbolehkan untuk me-request data baru dari server dalam bentuk mouseovers,
keypress dan even lain yang dikenali oleh JavaScript.

0 komentar:

Posting Komentar