Comet Technology

| Comments

ada yang penasaran gimana teknologi dibelakang sistem chat nya facebook, atau timeline nya plurk?? betul dibelakang itu semua mereka menggunakan javascript. tapi ga cukup cuma dengan AJAX. karena AJAX bersifat asynchronous, server ga pernah bisa mentrigger flow eksekusi javascript setelah script tersebut sampai di client. nah kita coba lihat aplikasi chat real time seperti meebo. dari mana browser tahu kalau lawan bicara kita sedang mengetik, atau sudah mengirim pesan… secara hampir real time? jawabannya adalah comet.

teknologi ini menggunakan metode push event driver untuk javascript (yang juga asynchronous). konsekuensi nya, browser harus melakukan pooling secara terus menerus ke server… berbeda dengan AJAX yang melakukan request dengan interval waktu tertentu, atau atas perintah langsung dari user. dengan begini setiap kali server mendapatkan update data. data tersebut akan langsung dikirimkan ke client yang tersambung… sehingga latency komunikasi berkurang.

dalam hal skalabilitas. tentu saja dari segi server harus mendukung… untuk mengurangi overhead dari server konvensional. beberapa komunitas mengembangkan server comet nya masing-masing… cometd dari dojo toolkit, dan orbited menggunakan protocol bayeux yang diimplementasikan dalam bahasa python. salah satu fitur yang menarik adalah TCPSocket yang memungkinkan browser membinding data dari TCP stream secara langsung… IRC over HTTP(S) anyone??? :p

lalu ada AJAX Push Engine alias APE yang mengimplementasikan comet abstratction server dalam bahasa C, sehingga diklaim lebih cepat. hanya saja karena menggunakan epoll milik kernel linux, sampai saat ini APE belum bisa dijalankan di platform lain. fitur-fitur dan cara kerja APE bisa dilihat di sini

nice info about comet