Membangun Instant Messenger Sendiri menggunakan Jabber/XMMP (bagian 1)

26 01 2007

Instant messaging merupakan fasilitas komunikasi chatting untuk para pengguna internet. Dengan menggunakan fasilitas ini, user dapat berkomunikasi dengan cara mengirimkan pesan berupa text dengan user lain. Selain itu, Instan Messaging juga berfungsi untuk tukar menukar file secara peer to peer. Saat ini Instan Messaging yang terkenal adalah Yahoo Messenger dan MSN Messenger. Namun kita dapat membuat Instan Messanger sendiri menggunakan protokol Jabber serta aplikasi yang Open Source dan serta memodifikasi client sesuai dengan keinginan kita. Bahkan saat ini, Google mengembangkan Instan Messengernya, Gtalk, yang juga berbasiskan protokol XMMP (Jabber).

 

Protokol XMMP (Jabber)

Dalam perancangan sistem Instant Messaging ini, penulis menggunakan sistem berbasis Jabber yang merupakan sistem open source dan sudah banyak digunakan oleh berbagai komunitas. Jabber adalah protokol eXtended Markup Language (XML) yang terbuka yang berfungsi sebagai pertukaran pesan dan kehadiran antara dua host dalam internet. Implementasi pertama dari Jabber adalah Instant Messenger yang mempunyai fungsi yang sama seperti IM yang sudah ada seperti ICQ, AOL, MSN dan Yahoo messenger[1]. Jabber menawarkan beberapa keuntungan dibandingkan IM yang lainnya, antara lain:

  • Open. Protokol Jabber adalah free, terbuka, publik dan mudah dimengerti serta banyak implementasi open-source yang sudah dan sedang dikembangkan meliputi Jabber server, Jabber client dan tools lainnya.
  • Extensible. Basis XML memudahkan Jabber untuk dikembangan ke aplikasi lainnya untuk fungsi yang lain. Pengembangan yang umum diatur oleh Jabber Software Foundation.
  • Decentralized. Setiap orang bisa membuat Jabber server sendiri.
  • Secure. Jabber server bisa dibuat terisolasi dari jaringan lain, juga komunikasi SSL dapat diimplementasikan selain komunikasi end-to-end yang bisa menggunakan PGP/GPG.

Sebagai usaha menjadikan Jabber sebagai protokol standar Instant Messaging, pada Juni 2000 komunitas Jabber telah mempublikasikan protokol tersebut sebagai Request for Comment (RFC) pada Internet Engineering Task Force (IETF) sebagai bagian dari standar Instant Messaging and Presence Protocol (IMPP), tetapi IMPP ini tidak berjalan sukses. Pada bulan Mei 2001, Jabber Community dan Jabber Inc. membuat Jabber Software Foundation untuk menyediakan asisten organisasi secara langsung (direct organizational assistance) dan asisten teknis secara tidak langsung terhadap komunitas Jabber.

Pada tahun 2002, Internet Engineering Steering Group (IESG) menyetujui formasi Extensible Messaging and Presence Protocol Working Group (XMPP) dengan Internet Engineering Task Force (IETF). Ruang lingkup working group adalah untuk mengeksplorasi dan dimana protokol tersebut digunakan, memodifikasi protokol yang sudah ada agar dapat memenuhi RFC 2799 seperti persyaratan yang ditentukan dalam spesifikasi Common Presence and Instant Messaging (CPIM). Fokus utama working group adalah membuat XML stream termasuk stream pada level security dan autentikasi, elemen data dan namespace yang dibutuhkan untuk mencapai dasar IM dan Presence[2]. XMPP working group menerbitkan XMPP Core Internet-Draft sebagai dokumen yang menggambarkan fitur-fitur utama Extensible Messaging dan protokol Presence.

 

Arsitektur Jabber

Arsitektur Jabber

gambar diambil dari http://oficinalibre.net

 

Jabber menggunakan arsitektur client-server, bukan arsitektur langsung peer-to-peer seperti yang digunakan oleh sistem messaging lainnya. Akibatnya, seluruh data Jabber dikirim dari satu client ke client lainnya harus melewati minimal satu server Jabber. Client Jabber terhubung pada sebuah server Jabber pada TCP melalui port 5222. Koneksi ini selalu on untuk session client yang berjalan pada server, artinya client tidak dapat mengumpulkan pesan sebagai sebuah email client. Sebuah pesan diharapkan tersedia pada client dan dengan segera diharapkan client messenger sepanjang client masih terhubung. Server akan dapat menjajaki (tracking) apakah client masih online atau tidak, dan ketika client dalam kondisi off-line akan menyimpan beberapa pesan yang telah dikirim kepada client untuk menyediakan kapan dia akan terhubung lagi.

Kekhasan yang dimiliki oleh protokol Jabber antara lain modular server dan simple client yang penjelasannya sebagai berikut :

1. Modular server

Server Jabber memiliki tiga peranan utama yaitu :

  • Menangani koneksi client dan berkomunikasi secara langsung dengan client Jabber
  • Berkomunikasi dengan server Jabber yang lain
  • Mengkoordinasikan beragam komponen server yang diasosiasikan dengan server

Server Jabber di desain modular, dengan paket kode internal yang khusus sehingga dapat menangani fungsionalitasnya seperti registrasi, auntentikasi, present, contact list, penyimpanan pesan yang berstatus off-line dan sebagainya. Selain itu server Jabber dapat dikembangkan dengan komponen eksternal yang memungkinkan administrator server untuk mensuplemen server pusat dengan layanan tambahan semacam gerbang untuk sistem messaging lainnya.

2. Simple client

Satu kriteria desain sistem Jabber bahwa ia harus memiliki kemampuan untuk mendukung client yang sederhana misalnya koneksi telnet pada port yang benar. Dalam hal ini tentu saja arsitektur Jabber memberikan sedikit batasan pada client. Task-task pada client Jabber harus dapat mengenal dan melengkapi :

  • Komunikasi dengan server Jabber melalui soket TCP
  • Melakukan parsing dan interpretasi XML dengan format yang baik melalui XML stream
  • Memahami tipe data utama Jabber (message, presence dan iq)

Keuntungan di dalam Jabber adalah dapat memindahkan kompleksitas dari client ke server. Secara praktis, banyak fungsi yang low-level pada client seperti proses parsing XML dan memahami tipe data core Jabber yang ditangani oleh library-library client Jabber, memungkinkan client developer untuk fokus pada user interface [2]

bersambung…


Actions

Information

10 responses

26 01 2007
Membangun Instant Messenger Sendiri menggunakan Jabber/XMMP (bagian 2) « aCh

[…] (bagian 2) 26Jan07 Artikel ini merupakan lanjutan dari tutorial sebelumnya tentang Membangun Instant Messenger Sendiri menggunakan Jabber/XMMP. Disini akan dibahas mengenai bagaimana cara Instalasi server Instant Messenger yang lebih […]

28 01 2007
helgeduelbek

Berat tutorialnya, bisa gak yah saya? Perlu simak step by stepnya nih.

19 04 2007
rezaachmad

tapi gimana buat ngeshare nya.ke orang orang
kan kalu ym kita harus download aplikasinya

30 05 2008
vandjoul

klo buat nya pake aplikasi open fire gimana caranya?

5 03 2009
Street.Walker

@rezaachmad
Klo jabber bs pake aplikasi Jabber client boz, bnyak tuh berkliaran di internet dan bs dunlud gratis, bisa dilihat diblogq

@vandjoul
yg pasti PC nya musti konek internet trus tinggal ikuti step step instalasi Openfire,

19 02 2010
pututik

meski sudah lama bgt tp infonya cukup lengkap.

27 02 2012
aan

alternatif lain selain menggunakan Jabber ada gak ya

30 12 2012
Rohid Alhamdulillah

hemm

7 11 2013
Fitria IntanPurwanti (@FyeTree)

Subarashiii.. membantu banget,, izin share ya

25 09 2016
RD Cell

maksu bisa buat sendiri gimana gan? brarti aktifitar orang lain yang nyambung ke server kita, kita bisa tau termasuk pasword dari akun orng itu

Leave a Reply

Please log in using one of these methods to post your comment:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s




%d bloggers like this: