Thursday, June 26, 2014

ejabberd: Erlang Jabber Daemon

Pada dasarnya server jabber merupakan software aplikasi sebagai bentuk implementasi core protokol jabber. Secara fungsional, software ini memiliki tiga peranan besar: (1) Mengkomunikasikan entitas satu dengan entitas lain, (2) Mengkomunikasikan satu server jabber dengan server jabber lainnya, (3) Mengkoordinasikan beragam komponen (XEP-0144) yang diasosiasikan dengan server jabber. Gambar berikut melihatkan ketiga fungsi dasar ini,


Pada umumnya server jabber didesain secara modular, dengan paket kode internal yang khusus sehingga dapat menangani fungsionalitasnya seperti registrasi, otentikasi, presence, contact list, mekanisme pesan yang berstatus delay dan lain sebagainya. Beberapa software server jabber akan banyak kita temukan sekarang ini. Namun berikut, saya paparkan sedikit mengenai software ejabberd yang memiliki penggunaan secara luas beberapa tahun terahir ini.

ejabberd memiliki kesesuaian implementasi yang ketat dengan standarisasi protokol jabber. Baik itu core jabber RFC 3920 maupun beberapa XEP standar yang dikoordinasikan oleh XSF. ejabberd memiliki antarmuka web yang dapat diterjemahkan ke dalam bahasa lain. Mendukung proses komputasi terdistribusi dengan menjalankan beberapa node yang saling terkoneksi, mendukung runtime upgrade dan menyediakan dukungan untuk virtual host. Terdapat beberapa alternatif sistem manajemen database yang dapat digunakan, seperti PostreSQL, MySQL dan ODBC. Mendukung otentikasi LDAP, SSL/TLS, dan SASL.

Salah satu alasan utama kenapa ejabberd banyak direkomendasikan adalah erlang. ejabberd ini dibuat dan berjalan diatas erlang platfom/OTP. Semua sifat yang melekat pada ejabberd, datangnya dari erlang/OTP ini. Diantaranya adalah cross-platform, fault-tolerant, clusterable dan modular. Erlang memang dibuat dan sangat cocok untuk aplikasi yang membutuhkan pengolahan sistem terdistribusi, soft real-time, sistem konkurensi dan juga non-stop.

ejabberd terdiri dari banyak modul yang dapat memberikan dukungan dan kemampuan tambahan seperti menyimpan pesan offline, menghubungkan dengan protokol IRC, informasi personal vCards user (menyimpan vCards di LDAP atau database ODBC yang kompatibel mungkin dengan modul lain). Selain itu, beberapa modul dapat memberikan dukungan untuk ekstensi protokol XMPP, seperti MUC, HTTP-polling, publish-subscribe, dan pengumpulan statistik via XMPP. Dimulai dengan versi 2.0.0, ejabberd mendukungan transfer dengan proxy65 yang memungkinkan entitas jaringan  Jabber/XMPP di belakang NAT untuk berbagi file melalui SOCKS5 proxy. ejabberd dapat berkomunikasi dengan server jabber lain serta juga jaringan diluar dengan jabber dengan menggunakan sebuah gateway. Dan berikut merupakan daftar lengkap extensions protokol jabber yang juga terimplementasi pada ejabberd. Beberapa diantaranya adalah extensions protokol yang masih experimental dan bahkan ada yang sudah “usang” tapi masih relevan untuk pengembangan aplikasi-aplikasi yang berjalan pada jaringan jabber.
[Link] Daftar extensions yang didukung oleh ejabberd

1 comment:

  1. Beautiful Blog Picture
    https://a-mz.blogspot.com

    ReplyDelete