merupakan general paket XMPP berisi informasi yang dikirim dari satu entitas ke entitas lainnya. Pengiriman paket ini bersifat fire and forget, artinya entitas
pengirim tidak akan mendapatkan result dari paket message yang telah dia kirimkan. Selain itu juga message ini dikirimkan dari dan ke one-to-one entitas
atau one-to-many. Jenis yang kedua adalah presence, dikirimkan dengan tujuan availability kehadiran entitas yang terhubung dalam jaringan.Kita dapat
mengetahui status online atau offline dari setiap entitas karena adanya aliran data presence ini.Tidak seperti message, presence dikirimkan ke semua entitas
broadcast yang sudah “subscribe” ke entitas tersebut.Terakhir, jenis yang ketiga adalah IQ, digunakan untuk mekanisme request-response antar entitas dalam
jaringan XMPP. Mirip dengan metode GET dan POST pada protokol HTTP. Terdapat sebuah entitas yang mengirimkan request ke entitas lain, dan akan
menerima response balasan dari entitas tersebut.
Gambar 2.6 Aliran XML
4. Server XMPP
Pada jaringan XMPP, tidak semua operasi dilakukan oleh server.Tugas server hanya terbatas pada meneruskan aliran data, mencatat status kehadiran
entitas dan mengatur roster subscribing userentitas. Pemprosesan setiap paket akan dilakukan sendiri oleh masing-masing entitas. Dalam beberapa kasus bahkan
kita tidak memerlukan operasi tambahan di server.Kita hanya membutuhkan core protokol dan server XMPP bekerja sebagaimana mestinya. Semua operasi dan
proses dilakukan oleh aplikasi client yang kita bangun. Kasusnya seperti pada
game sederhana “Tankar” ini. Game ini merupakan game multi player yang juga memanfaatkan core protokol XMPP untuk bertukar data dan berkomunikasi antar
pemainnya. Semua proses sepenuhnya ada pada aplikasi client yang di jalankan independent pada masing-masing player. Tidak ada spesifik server, karena aliran
data akan berjalan melewati server-server XMPP yang sudah ada.
5. Payload
Setiap child element dari aliran XML yang ditransmisi merupakan payload data aplikasi. Kalau dalam ilmu komunikasi dan informasi, payload yang saya
maksudkan disini, sekumpulan data seperti data buku, event, atau informasi apapun yang nantinya akan di proses oleh aplikasi yang kita bangun. Ketiga jenis
aliran XML yang sudah saya sebutkan diatas message, presence, dan IQ, dapat membawa data-data informasi untuk sistem aplikasi.
6. Extensions Protokol
Komunitas XMPP telah membuat banyak sekali extensions yang dapat kita manfaatkan untuk build sistem aplikasi. Extensions disini bukanlah library,
module atau add-ons. Bisa dibilang extension ini merupakan kekuatan utama protokol XMPP.
X dari singkatan XMPP merupakan “extensible”.Merupakan sifat yang dimiliki oleh core protokol XMPP. Istilah extensible menurut saya berkenaan
dengan sifat core protokol XMPP untuk membawa data payload yang telah kita definisikan untuk membangun berbagai macam sistem aplikasi yang berbeda.
Sistem aplikasi mulai dari content syndication, push notification, lightweight
middleware and web services, whiteboarding, multimedia session negotiation, intelligent workflows, geolocation, social gaming, social networking dan bahkan
cloud computing. Dari sifat “extensible” ini kemudian terdapat sebuah istilah extensions yang
berarti proses dan payload data yang sudah developer rancang untuk tujuan tertentu. Setiap developer dapat merancang atau membangun extensions-nya
sendiri. Sehingga akan sangat banyak sekali extensions yang akan dapat kita temukan. Tapi terdapat juga extensions standar yang diatur oleh XSF XMPP
Standart Foundations. Extensions standar ini kemudian di kenal dengan istilah