Istilah Ajax pertama kali dikemukakan pada tahun 2005oleh Jesse James Garret, presiden dan pendiri perusahaan Adaptive Path. menurutnya, nama Ajax diberikan untuk memudahkan dalam berkomunikasi dengan klien dari pada harus menyebut "Asynchronous JavaScript + CSS + DOM + XMLHttp Request". Teknik ini sebenarnya sudah ada sejak 1999. pada masa itu Microsoft membuat objek bernama XMLHttp Request sebagai kontrol activeX pada Internet Exploler 5. Ajax menjadi sangat populer ketika digunakan secara intens oleh Google dan Yahoo.
Asynchronous JavaScript and XMLHTTP, atau disingkat AJaX, adalah suatu teknik pemrograman berbasis web untuk menciptakan aplikasi web interaktif. Tujuannya adalah untuk memindahkan sebagian besar interaksi pada komputer web surfer, melakukan pertukaran data dengan server di belakang layar, sehingga halaman web tidak harus dibaca ulang secara keseluruhan setiap kali seorang pengguna melakukan perubahan. Hal ini akan meningkatkan interaktivitas, kecepatan, dan usability. Ajax merupakan kombinasi dari:
DOM yang diakses dengan client side scripting language, seperti VBScript dan implementasi ECMAScript seperti JavaScript dan JScript, untuk menampilkan secara dinamis dan berinteraksi dengan informasi yang ditampilkan
Objek XMLHTTP dari Microsoft atau XMLHttpRequest yang lebih umum di implementasikan pada beberapa browser. Objek ini berguna sebagai kendaraan pertukaran data asinkronus dengan web server. Pada beberapa framework AJAX, element HTML IFrame lebih dipilih daripada XMLHTTP atau XMLHttpRequest untuk melakukan pertukaran data dengan web server.
XML umumnya digunakan sebagai dokumen transfer, walaupun format lain juga memungkinkan, seperti HTML, plain text. XML dianjurkan dalam pemakaian teknik AJaX karena kemudahan akses penanganannya dengan memakai DOM
JSON dapat menjadi pilihan alternatif sebagai dokumen transfer, mengingat JSON adalah JavaScript itu sendiri sehingga penanganannya lebih mudah
Seperti halnya DHTML, LAMP, atau SPA, Ajax bukanlah teknologi spesifik, melainkan merupakan gabungan dari teknologi yang dipakai bersamaan. Bahkan, teknologi turunan/komposit yang berdasarkan Ajax, seperti AFLAX sudah mulai bermunculan.
Ajax sesungguhnya bukanlah suatu bahasa pemrograman, melainkan hanya suatu tehnik yang memungkinkan untuk membuat aplikasi web yang lebih interaktif. Dengan menggunakan Ajax, sebuah aplikasi web dapat berinteraksi dengan server di latar belakang sehingga tidak mempengaruhi halaman web secara keseluruhan. Sebagai gambaran, saat pertama kali anda membuat alamat email, tentu ketika anda mengetikkan user id pada halaman registrasi, sistem dapat memberitahukan apakah user id ini sudah terpakai atau belum. kemudian bagaimana sebuah aplikasi web dapat memberikan informasi seperti itu sedangkan anda tidak menekan tombol apapun? Rahasianya terletak pada proses di latar belakang yang dilakukan oleh Ajax.
gambar dibawah ini menunjukkan model aplikasi web yang berbasis Ajax dan yang tidak.
lapisan Ajax sering disebut dengan Ajax Engine. ada beberapa hal yang perlu diketahui dalam lapisan Ajax, sebagai berikut :
1. Lapisan Ajax meminta layanan ke server atau tidak, tergantung pada jenis layanan dari interface.
contoh :
untuk validasi terhadap objek form, tidak perlu melakukan request ke server, cukup ditangani di sisi klien. namun untuk pemeriksaan password, harus melakukan request ke server karena harus berhubungan dengan database.
2. Sekalipun penambahan lapisan Ajax terkesan memperlambat proses karena request ke server tidak dilakukan secara langsung, namun pada kenyataanya yang terjadi adalah sebaliknya.
hal ini karena request yang dilakukan oleh lapisan Ajax jauh lebih sedikit dari pada request klien secara langsung untuk seluruh halaman.
3. Lapisan Ajax bekerja secara asinkron, berarti bahwa klien dapat meminta layanan dari server dan tidak perlu menunggu sampai server melayanimnya.
dengan demikian, saat informasi dari server belum didapat, layanan kepada user tetap bisa dilakukan.
4. Komunikasi antara klien dan server tidak perlu mengubah keseluruhan interface dalam halaman web, tetapi cukup hanya bagian tertentu saja.hal ini tidak dapat dilakukan aplikasi web konvensional.
Perlu diingat, AJAX akan berkomunikasi dengan server tanpa harus me-refresh semua halaman. Konsep ini berbeda dengan aplikasi web sistem tradisional. Dalam model AJAX, aksi dari sisi klien dibagi menjadi dua bagian, yaitu layer user interface dan layer AJAX.
Ketika user mengklik sebuah link atau mengirimkan sebuah form maka input tersebut akan ditangani oleh layer AJAX dan diinteraksikan dengan server, kemudian meng-update user interface (UI). Jadi, dalam AJAX, interaksi UI secara logika terpisah dengan interaksi jaringan.
Pendekatan yang digunakan AJAX adalah bagaimana mengirimkan jumlah data yang kecil dari dan ke server atas request dari user. Model aplikasi web tradisional di mana browser akan merespons sendiri atas inisialisasi request, memproses request dari web server. Dalam AJAX terdapat layer yang diberi nama “AJAX engine” untuk menangani komunikasi. “AJAX Engine” adalah sebuah obyek JavaScript atau function yang dipanggil ketika informasi diperlukan dari server.
Proses yang dilakukan mesin AJAX (AJAX Engine) adalah menerima respons dari server, melakukan parsing data dan melakukan sedikit perubahan untuk keperluan menampilkan informasi. Oleh karena proses mengirimkan sedikit informasi, jika dibanding dengan model aplikasi web tradisional maka user interface di-update lebih cepat dan user mampu melakukan pekerjaannya dengan cepat.
Beberapa poin penting untuk menggambarkan AJAX:
• Layer AJAX tidak memerlukan komunikasi dengan server (contohnya untuk validasi form karena dapat ditangani sepenuhnya oleh client-side).
• Oleh karena request antara layer AJAX dan server berupa bagian kecil dari informasi (tidak komplit satu halaman) maka sering digunakan untuk interaksi dengan database sehingga waktu render dan waktu pengiriman menjadi pendek.
• Layer UI secara langsung tergantung pada respons server sehingga user dapat melanjutkan interaksi dengan sebuah halaman selama aktivitas dikerjakan di background (background process). Berarti, untuk beberapa interaksi, waktu tunggu user hampir tidak ada.
• Komunikasi antarhalaman dan server tidak selama memerlukan AJAX untuk mengubah perubahan UI. Contoh, beberapa aplikasi menggunakan AJAX untuk notifikasi dengan halaman, tetapi tidak melakukan apa pun terhadap response dari server.
Pengembangan web secara tradisional bekerja secara synchronously, antara aplikasi dan server, setiap kali melakukan link atau melakukan operasi “submit” pada form. Caranya, browser mengirim data ke server, server merespons dan seluruh halaman akan di refresh.
Aplikasi web yang bekerja dengan AJAX bekerja secara asynchronously, yang berarti mengirim dan menerima data dari user ke server tanpa perlu me-load kembali seluruh halaman, melainkan hanya melakukan penggantian pada bagian web yang hendak diubah. Penggunaan AJAX mulai popular ketika digunakan oleh Google pada tahun 2005.
AJAX bukanlah bahasa pemrograman baru, tetapi merupakan teknik baru penggunaan standar yang telah ada. Dengan AJAX kita dapat menjadi lebih baik, cepat dan menambah unsur user-friendly dan interaktif pada aplikasi web kita. AJAX berbasiskan pada JavaScript dan request HTTP.
AJAX berbasiskan standar terbuka seperti:
• JavaScript
• XML
• HTML/XHTML
• CSS
Dengan menggunakan JavaScript AJAX dapat mengirim dan menerima data antara web server dan web browser. Teknik yang dimiliki AJAX akan bergantian bertukar data dan mere-load ulang seluruh halaman.
Dengan demikian, untuk mempelajari AJAX, harus dipahami pula konsep standar di atas. AJAX di-support sebagian besar browser popular sehingga aplikasi AJAX adalah aplikasi cross-platform dan cross-browser.
Melalui AJAX, JavaScript dapat dikomunikasikan secara langsung dengan server menggunakan obyek JavaScript XMLHttpRequest. Obyek JavaScript ini dapat men-trade data sebuah web server tanpa harus me-reload (refresh) halaman web.
AJAX menggunakan asynchronouse data transfer (pada HTTP request) antara browser dan web server, yang memperbolehkan halaman web me-request bit yang kecil atau seluruh informasi dari server. Teknik AJAX membuat aplikasi internet menjadi kecil, cepat dan lebih user-friendly.
AJAX adalah aplikasi web yang lebih baik. Aplikasi web menambah keuntungan dibanding aplikasi desktop:
• Dapat menjangkau pengguna yang luas
• Mudah diinstal
• Mudah dikembangkan
• Mudah dipelihara
Seperti yang kita ketahui, aplikasi internet tidak selalu susah dan user friendly seperti aplikasi dekstop. Dengan AJAX aplikasi internet semakin kecil, cepat dan mudah digunakan.
APPLET
Java applet adalah sebuah program kecil yang ditulis dengan menggunakan bahasa pemrograman Java berbasis window, yang diakses melalui halaman Web dan dapat di-download ke dalam mesin klien yang kemudian menjalankannya di dalam jendela penjelajah web. Java applet dapat secara dinamis menambahkan beberapa fungsi kepada halaman-halaman Web yang bersifat statis. Akan tetapi, untuk menjalankannya sebuah komputer harus memiliki program penjelajah web yang dapat menjalankan Java, seperti Microsoft Internet Explorer 4.0 ke atas, Netscape Navigator, Mozilla Firefox, dan Opera.
Ketika sebuah Java applet dibuat, semua pernyataan Java yang terkandung di dalam kode sumbernya akan dikompilasi menjadi Java bytecode, yakni sebuah bahasa mesin semu (virtual engine/machine language) yang dibentuk oleh Java. Berkas yang berisi Java bytecode ini akan disimpan sebagai sebuah berkas kelas Java (Java class file) di dalam sebuah Web server, seperti halnya Apache HTTP Server atau Microsoft Internet Information Services (IIS). Sebuah halaman Web yang hendak menggunakan applet tersebut harus menggunakan tag di dalam kode sumber-nya. Ketika sebuah penjelajah Web milik klien melakukan request kepada halaman Web tersebut dan menemukan bahwa di dalamnya terdapat tag , bytecode di dalam Java class file akan dieksekusi oleh mesin semu di dalam jendela penjelajah Web, yang dapat berupa Microsoft Java Virtual Machine atau Java Runtime Engine dari Sun Microsystems
Sebuah applet adalah tipe yang spesial dari program java yang dieksekusi melalui internet. Secara khusus berjalan pada suatu web browser seperti Netscape Navigator, Mozilla, atau Microsoft Internet Explorer. Bagaimanapun, jika dibandingkan dengan aplikasi Java yang normal, tidak diijinkan mengakses applet pada komputer yang mana dijalankan untuk alasan keamanan. Applet ini cukup terbatas jika dibandingkan dengan aplikasi java.
Ketika membuat sebuah applet, dibutuhkan suatu extend class Applet. Sebagaimana yang disebutkan sebelumnya, classnya dapat ditemukan dalam java.applet package. Oleh karena itu, mengimport the java.applet package merupakan suatu keharusan. Juga, telah disebutkan sebelumnya bahwa class Applet adalah subclass dari class Panel. Hal ini mengimplikasikan bahwa beberapa methods dari class applet ditemukan dalam class Panel.Untuk mengakses methods atau fields dalam class Panel atau class-class induk, diperlukan suatu aksi untuk import package java.awt .
Beberapa konsep pokok arsitektur applet adalah:
1.Applet adalah dituntun kejadian(event driven).
Applet dipenuhi sekumpuan rutin layanan interupsi. Applet menunggu sampai suatu kejadian muncul. AWT member peringatan (notify) mengenai kejadian mucul dengan memanggul penangan kejadian (event hendler) yang telah disediakan kelas applet. Applet harus melakukan aksi yang cocok dan kemudian secara cepat mengambalikan kendali ke AWT.
2.Pemakai melakukan inisialisasi interaksi applet.
Pada program nonwindow, ketika program memerlukan masukan, program memberikan promt seperti “masukan angka: ” dan kemudian memanggil metode seperti readline(). Cara ini bukan cara di applet. Pemakai dapat berinteraksi dengan applet begitu dikehendaki. Interaksi ini dikirim ke applet dimana applet harus menanggapi.
Contoh:
Pemakai melakukan tindakan berikut:
• Klik mouse di window applet maka mouse-clicked-event dibangkitkan.
• Menekan tombol di wondow appet yang mempunyai focus, maka keypress-ivent dibangkitkan.
Applet dapat berisi berbagai control.ketika kita berinteraksi lewat control, suatu kejadian dibangkitkan.
Arsitektur applet lebih rumit dibandingkan program konsol. AWT menyediakan pendekatan bersih yang mempermudahpenguasaan pemograman applet.
JSF
JSF adalah framework untuk membangun user interface untuk aplikasi web. Dibangun berdasar pada konsep-konsep yang diperkenalkan oleh Struts dan membagi bersama keuntungan sebuah arsitektur yang benar-benar memisahkan presentasi layer dari business logic dan sebuah standard komponen user interface yang perangkatnya serupa dengan widget Swing.
method
Sebuah method yang harus mempunyai suatu komponen UI untuk bertindak sebagai action handler disebut method aplikasi. Kemudian, dalam bagian View, Kita akan melihat bagaimana pengikatan selesai. Sementara itu, ada beberapa aturan yang dibutuhkan untuk membuat sebuah method aplikasi :
Method harus dideklarasikan public
Method harus tanpa parameter
jenis return method harus menjadi sebuah String
Komponen swing pada JSF:
Setiap komponen Swing menjelaskan sebuah widget interface, masing-masing dengan kemampuannya yang dapat diakses secara program menggunakan API. Contoh : sebuah komponen JTextField menampilkan sebuah field text yang dapat menerima input dari user. Nilai dapat diterima menggunakan getText().
Masing-masing komponen juga berbagi beberapa properties dan method yang bersifat umum untuk semua komponen yang lain(Sebagai contoh, sebuah method field text setName()).
Beberapa komponen Swing adalah Container, dimana mereka dapat menerima komponen-komponen lain untuk membentuk suatu gabungan yang kemudian dapat ditampilkan kepada user atau handler. Contoh : JPanel, JFrame keduanya dapat digunakan untuk diisikan oleh komponen-komponen lain.
Beberapa catatan untuk contoh halaman JSP :
• Untuk DateTimeConverter, telah ditetapkan pola M/d/yy. Karena converter menjalankan pola ini pada user, user akan memiliki masukan seperti 1/13/06 sebagai tanggal sebelum dia dapat melanjutkan ke masukan lain. Untuk pola yang tepat, periksalah dokumentasi API untuk java.text.SimpleDateFormat.
• Kita telah tambahkan atribut yang diperlukan dengan nilai yang benar/true untuk field masukan. Hal ini untuk memastikan bahwa user tidak memasukkan masukan kosong.
• Kita telah menggunakan tag
• Atribut action untuk commandButton yang dengan sengaja dibuat salah, sehingga kita dapat memfokuskan pada message yang di-generate oleh converter.
JSP
JSP (Java Server Page) ialah teknologi untuk mengontrol isi atau tampilan halaman Web melalui penggunaan servlet, program kecil yang dijalankan di server Web.
Sun Microsystem, pembuat Java, mengacu kepada teknologi JSP sebagai Servlet API (Application Program Interface).
Halaman HTML yang berisi link ke servlet Java memiliki akhiran .jsp.
Java Server Pages (JSP) adalah bahasa scripting untuk web programming yang bersifat server side seperti halnya PHP dan ASP. JSP dapat berupa gabungan antara baris HTML dan fungsi-fungsi dari JSP itu sendiri. Berbeda dengan Servlet yang harus dikompilasi oleh USER menjadi class sebelum dijalankan, JSP tidak perlu dikompilasi oleh USER tapi SERVER yang akan melakukan tugas tersebut. Makanya pada saat user membuat pertama kali atau melakukan modifikasi halaman dan mengeksekusinya pada web browser akan memakan sedikit waktu sebelum ditampilkan.
SUMBER
http://www.andisun.com/
http://id.wikipedia.org/wiki/Java_applet
http://www.ilmukomputer.com/
esensi-esensi bahasa pemograman java, bambang harianto, informatika bandung