Membangun Sistem Instant Messaging pada Jaringan Lokal

Membangun Sistem Instant Messaging pada Jaringan Lokal

Tujuan dari tutorial kali ini adalah membangun sebuah aplikasi Instant Messaging pada jaringan internal kita. Kawan-kawan bisakomputer mungkin sudah tidak asing lagi dengan aplikasi Instant…

Tujuan dari tutorial kali ini adalah membangun sebuah aplikasi Instant Messaging pada jaringan internal kita. Kawan-kawan bisakomputer mungkin sudah tidak asing lagi dengan aplikasi Instant Messaging. Aplikasi seperti Skype, Yahoo Messaging, IRC, WhatsApp merupakan aplikasi yang biasa kita pakai untuk berkomunikasi dengan teman-teman. Lalu apakah sulit untuk membangun sistem aplikasi seperti itu? Ternyata tidak, kita hanya memerlukan sedikit usaha untuk membuatnya. Membangun sendiri sistem messaging ini cocok diterapkan pada sebuah instansi, perusahaan, kampus maupun sekolah-sekolah pada jaringan internal mereka. Selain memang untuk menghemat bandwidth koneksi internet, sistem messaging dapat kita sesuaikan sendiri fitur-fiturnya yang akan disupport.

Berikut adalah dua tool yang harus kita persiapkan untuk membangunnya:

1. Openfire Server, di sini anggap saja merupakan server penyedia layanan chatting. Tapi secara umum openfire adalah cross-platform server yang biasa dipakai untuk RTC(Real-Time Collaboration).

2. Spark, merupakan aplikasi instant messaging sama seperti YM atau facebook messager. aplikasi ini yang akan kita gunakan untuk berkomunikasi dengan layanan chatting openfire.

Secara build-in openfire sudah menyiapkan beberapa komponen yang sudah siap pakai. Openfire terdiri dari beberapa service komunikasi data menggunakan protokol XMPP. Setiap komponen disini mewakili sebuah service pada server. Salah satu komponen yang paling banyak dipakai saat ini adalah MUC(Multi-User Chat). Komponen ini biasa digunakan untuk build sebuah aplikasi Instant Messaging yang merupakan tujuan dari pembahasan artikel ini.

Instalasi dan Konfigurasi Openfire

Baik instalasi maupun setting openfire cukup mudah, Anda tinggal mengikuti saja langkah-langkah yang ada.

Instalasi

Tidak ada yang cukup rumit untuk instalasi openfire, hanya jalankan installer dan kemudian service akan secara otomatis dibuat. Tapi sebelum itu, pastikan juga bahwa JRE java sudah terinstall, hal ini memang openfire murni dibuat murni dengan bahasa java. Installer openfire dapat kita temukan pada link ini.

Ada beberapa installer yang dapat kita download. Pilih sistem operasi yang sesuai, kemudian jalankan.

Setting

Sebelum mensetting openfire, jalankan dulu service-nya dengan hanya klik “\bin\openfire.exe” untuk anda pengguna windows dan ketikkan perintah berikut untuk Anda pengguna linux

~$ sudo /etc/init.d/openfire start

Sampai disini server openfire sudah jalan dan siap untuk kita setting. Buka admin console pada alamat http://localhost:9090 dan lakukan beberapa settingan untuk server openfire Anda.

1. Pilih bahasa yang diinginkan

Setting Openfire Server

Setting Openfire Server

2. Pilih domain server

Setting Domain Openfire Server

Setting Domain Openfire Server

3. Setting database. Untuk memudahkan anda, pilih embedded database.

Setting Database Openfire Server

Setting Database Openfire Server

Setting Database Openfire Server

Setting Database Openfire Server

4. Buat administrator account

Setting Admin Account Openfire Server

Setting Admin Account Openfire Server

Untuk mencatat semua setting yang barusan kita lakukan, lakukan restart pada service openfire. Dan kemudian akses kembali admin console.

Openfire Admin Console

Admin console openfire memiliki tampilan yang sederhana, tidak ada yang terlihat cukup rumit untuk dipahami disini. Berikut adalah beberapa panel bagian pada admin console:

  • Server Tab
  • Users/Group Tab
  • Sessions
  • Group Chat
  • Plugins
Admin Console Openfire

Admin Console Openfire

Yang perlu diketahui disini adalah, secara default layanan chatting openfire berada pada alamat

conference.DOMAIN_SERVER_ANDA

Spark Client (Instant Messaging)

Seperti yang sudah dijelaskan di awal artikel, aplikasi ini merupakan salah satu aplikasi instant messaging seperti YM, Facebook messager, Skype. Tapi perbedaannya disini, spark memberikan kebebasan pada user untuk melakukan koneksi pada server XMPP yang sudah ada. Dengan menggunakan aplikasi ini, kita dapat berkomunikasi dengan layanan chat yang telah kita bangun dengan openfire. Secara default spark akan terkoneksi dengan layanan chat pada server Openfire yang kita bangun.

Baik instalasi maupun penggunaan aplikasi ini sangat mudah, anda dapat menemukan aplikasi ini pada link berikut ini.

Install aplikasi dan kemudian jalankan, Anda akan mendapatkan panel login spark seperti pada gambar berikut.

Spark Login

Spark Login

Spark View

Spark View

Penutup

Kebanyakan Instant Messaging sekarang ini memanfaatkan sebuah protokol standard XMPP. untuk mendalami lebih lanjut, saya sarankan kawan-kawan untuk mempelajari dulu arsitektur jaringan protokol XMPP. Ada satu artikel yang kemarin saya tulis juga pada bisakomputer, mungkin kawan-kawan bisa memulai mempelajari protokol ini dengan membaca 7 karakteriktik dasar protokol XMPP pada link berikut ini.

Tag: , , , ,

9 Comments

Leave Comment
  1. evan says:

    manteb mas sharenya, btw kalo mau buat app chat di smartphone, gmn ya caranya? maap masi nubie :)

    • Mustofa says:

      Bisa saja mas, protokol yang dipake ini merupakan protokol standard IETF sama seperti HTTP, Push IMAP, SMTP dll. Sehingga mudah di implementasikan pada platform manapun. Hanya tinggal buat aplikasi client di smartphone nya aja mas :)

  2. evan says:

    manteb, ijin bookmark dah :) makasi mas :)

  3. nashrullah says:

    Mantap mas……

  4. nashrullah says:

    Sy mau bertanya mengenai server XMPPnya nih mas.
    Di XMPP Definitive Guide, katanya: jika ingin membangun XMPP server yang expert, anda harus menginstall 1 dari sekian banyak codebases dan menjalankannya dengan domain anda sendiri atau develop your own server implementation.

    Trus sy browsing2, dapat di stackoverflow.com, ada yg bilang:
    “Why do you want to develop your own XMPP server? There are several very good alternatives that you can both modify and use as is. Like Openfire, ejabberd, Tigase”
    —–

    Kasus Proyek Akhir sya:
    Aplikasi yang mau saya buat di VB:
    -Interface client messagingnya kayak “spark”
    -Interface untuk update status kayak facebook

    Menurut mas, servernya kyak gimana tuh mas??
    Dipisah ya mas, kyak gini:
    -Database XMPP (Openfire)
    -Build Database (mySQL) untuk update status
    ????????

    Ataukah buat 1 database terpusat untuk xmpp dan update statusnya, klo seperti ini, kyak bikin open fire sendiri tp di modifikasi gitu yah mas??????

    Klo menurut mas Mustofa gimana yah????
    Punya referensinya/bacaan/guide untuk masalh server ini g’ mas????

    Makasih banyak atas perhatian n bantuaanya mas…

    • Mustofa says:

      Kalau mau membangun XMPP server sendiri, menurutku kurang tepat mas Nasrullah. Lebih baik buat service XMPP sendiri menurut aturan plugin/module development dari Ejabbered atau Openfire. Atau mungkin tidak membuat service tapi meng-“hook” proses dari service MUC atau pubsub, dan tentunya juga dalam bentuk plugin/module server XMPP.
      Tapi sebelum memutuskan demikian cari dulu standard service/extensions XMPP yang bisa mengakomodasi kebutuhan mas Nasrullah.

  5. Ananta says:

    Sy mau tanya, kalau membuat xmpp client di android itu tutorial nya bagaimana ya mas?
    terima kasih..

  6. edi says:

    salam mas Mustofa
    Saya kebetulan menggunakan openfire server untuk kebutuhan small office saya, kok saya tidak bisa mengakses server nya yah? padahal sebelum2nya bisa…yg muncul itu seperti ini:
    “Database setup or configuration error: Please verify your database settings and check the loError starting the server. Please check the log files for more information.
    gs/error.log file for detailed error messages.
    java.lang.IllegalArgumentException: java.sql.SQLException: ConnectionManager.getConnection() failed to obtain a connection after 11 retries. The exception from the last attempt is as follows: java.sql.SQLException: File input/output error: java.io.IOException: org.hsqldb.HsqlException: Unexpected token: …

    itu knp yah? saya kebetulan hanya newbie dan belajar via internet aja….

    tolong dibantu yah mas Mustofa.

    makasih.

Write Comment

Your email will not be published. The marked label is required.