Real Time AJAX Method
Asynchronous Javascript and XML aka AJAX merupakan metode yang digunakan untuk transfer data dengan mengirimkan request dan response pada background web application. Request dikirimkan oleh client kepada server kemudian server mengembalikan request kepada client dalam bentuk response.
Nah, sekarang bagaimana kita menggunakan AJAX untuk membuat suatu web application yang real time. Real time ini di maksudkan pada segala update yang terdapat pada server dapat langsung disampaikan kepada client dengan response time yang masih dapat di tolelir oleh user.
Permasalahan yang dihadapi adalah segala interaksi antara client-server selalu di inisialisasi oleh client, sehingga untuk client bisa mendapatkan update, waktu request client harus pas dengan waktu update server. Nah! apakah mungkin client tahu kapan update pada server itu terjadi? Rasanya tidak…
Beberapa metode yang sekarang dikembangkan untuk mendapatkan realtime update yang memanfaatkan HTTP request antara lain:
Polling
Sebagian besar aplikasi AJAX melakukan pengecekan terhadap server pada interval yang telah ditentukan oleh user yang dikenal sebagai Time to Refresh (TTR). Pengecekan ini terjadi secara membabi buta tidak mempedulikan state aplikasi telah berubah atau tidak. Client melakukan request terhadap server, kemudian segera menerima response dan menunggu untuk melakukan request kembali sesuai dengan TTR.
Long Polling
Untuk mengatasi batasan ini, teknik yang dinamakan long polling digunakan. Long polling memanfaatkan kenyataan bahwa untuk mempunyai sebuah koneksi terbuka, sebuah request harus datang dari client. Akan tetapi, tidak seperti pull, pada long polling sebuah response tidak segera di kembalikan terhadap client setelah request diterima. Server tetap membuka koneksi sampai terdapatnya suatu data. Pada saat terdapat update untuk di kirimkan, server melakukan push data terhadap client. Setelah client menerima response, client akan melakukan request kembali.
Streaming
HTTP Streaming mirip dengan HTTP long polling, akan tetapi pada HTTP Streaming client tidak perlu melakukan request kembali setelah mendapatkan data. Koneksi antara client dan server tetap terbuka meskipun data telah di kirimkan.
Recent Comments