2008-08-29

JMS....Lagi-Lagi Java

Jms ? Makhluk apa itu? JMS (Java Message Service)
The Java Message Service (JMS) memberikan sebuah standar interface berbasis java untuk pelayanan message dari Message-Oriented-Middleware (MOM) beberapa provider.
MOM ?
messaging --> adalah suatu metoda komunikasi diantara komponen-komponen software atau aplikasi-aplikasi. Berbeda dengan electronic mail (e-mail) yang merupakan metoda komunikasi antara orang atau antara software aplikasi dan orang. Sebuah messaging system merupakan fasilitas peer-to-peer; sebuah messaging client dapat mengirim message ke client lain dan dapat juga menerima message dari client yang lain. Masing-masing client dikoneksikan ke sebuah messaging agent yang memberikan fasilitas untuk membuat, mengirimkan, menerima dan membaca message.

Enterprise messaging, yang diketahui juga sebagai Message-oriented Middleware (MoM) adalah merupakan kunci teknologi dari infrastruktur sistem komputasi terdistribusi. Enterprise messaging system memberikan pelayanan yang luwes dan andal untuk mengirim data memberitahukan setiap kejadian (even ) yang terjadi diantara komponen-komponen sistem.

Java Messaging Service (JMS) secara de facto telah menjadi standar industri untuk enterprise messaging. JMS memberikan suatu API yang umum dan framework yang membuka pengembangan aplikasi-aplikasi messaging yang portable dalam bahasa pemrograman java. JMS API mendukung model-model pemrograman messaging yang umum pada saat ini.

Messaging system diklasifikasikan kedalam beberapa model yang berbeda, yang ditentukan oleh client yang mana yang menerima message. Model Messaging secara umum adalah:

· Publish-SubscribMessaging, banyak message yang di terima publisher.
· Point-To-Point Messaging, sebuah proses ke proses lain.
· Request-Reply Messaging

Tidak semua provider ? mendukung seluruh model ini.
Publish-Subscribe Messaging
Ketika aplikasi diperlukan untuk menerima beberapa message, Publish-Subscrib Messaging digunakan. Konsep utama dari Publish-SubscribMessaging adalah Topic(messaging server). Beberapa Publisher boleh mengirim message ke Topic(Messaging Server) dan seluruh Subcriber menerima message yang dikirim oleh Topic. Model ini diperlihatkan gambar. 1. Secara ekstrim Publish-SubscribMessaging ini berguna ketika sebuah group aplikasi ingin memberitahukan kepada setiap anggota group sebuah kejadian yang khusus.
Yang perlu digaris bawahi dalam Publish-SubscribMessaging adalah bahwa boleh mempunyai banyak pengirim dan penerima.

Point-To-Point Messaging
Ketika sebuah proses perlu mengirim sebuah message ke proses yang lain, Point-To-Point Messaging dapat digunakan. Bagaimanapun disini adalah kemungkinannya merupakan salah satu cara berhubungan. Client ke Messaging system hanya boleh mengirim message, menerima message, atau mengirim dan menerima message. Pada waktu yang sama client yang lain dapat juga mengirim dan/atau menerima message. Dalam kasus yang sederhana satu client adalah pengirim daripada message dan client yang lain merupakan penerima message.

Ada dua tipe dasar dari Point-To-Point Messaging. Pertama mengandung sebuah client yang langsung mengirim sebuah message ke client yang lain. Kedua merupakan suatu implementasi yang lebih umum adalah berbasis kepada konsep antrian message.
Yang perlu digaris bawahi dari Point-to-Point messaging ini adalah bahwa walaupun boleh beberapa pengirim yang mengirimkan message, tetapi hanya satu penerima yang menerima message.

Request-Reply Messaging
Ketika sebuah aplikasi mengirimkan message dan diharapkan untuk menerima sebuah message sebagai hasil, maka Request-Reply Messaging dapat digunakan. Hal ini adalah format dari synchronous object-messaging. Model messaging seperti ini sering didefinisikan sebagai bagian(subset) dari kedua model di atas (Publish-Subscrib Messaging dan Point-to-Point messaging). Java Message Service (JMS) tidak secara eksplisit mendukung Request-Reply Messaging walaupun diijinkannya dalam konteks metode yang lain.

Java Message Service (JMS) Architecture
Java Message Service (JMS) Architecture digambarkan seperti gambar 3.

gambar 3. The Java Message Service Architecture

Seperti diperlihatkan pada gambar 3. Pelayanan JMS memberikan implementasi interface JMS pada lapisan atas pelayanan messaging. JMS mendefinisikan atrian (queue) dan Topics(messaging server), tetapi tidak disyaratkan memberikan implementasi keduanya.
Jadi Java Message Service (JMS) mencoba memaksimalkan portabilitas solusi dengan berbagai karakteristik yang mungkin.
Karakteristik utama dari Java Messaging Service adalah sebagai berikut :
· Fakto-faktor koneksi yang digunakan dalam JMS digunakan untuk membuat koneksi-koneksi yang disediakan JMS secara spesifik.
· Dalam JMS, Publish-Subscribe dan Point-To-Point Messaging diimplementasikan dan didefinisikan dengan interface yang terpisah. Jadi pelayanan tidak harus didukung oleh keduanya.
· JMS mendefinisikan konsep Topics dan Queue sebagai target dari message. Topics digunakan untuk Publish-Subscribe Messaging. Queues digunakan untuk Point-to-Point Messaging.
· Memberikan code code yang didefinisikan oleh interface dalam JMS. Kebebasan implementasi untuk subclass-subclass yang terbatas.
· JMS memberikan dukungan untuk transaksi yang terdistribusi

Publish-Subscribe Messaging dan Point-To-Point Messaging diturunkan dari himpunan abstrak interface yang umum seperti diperlihatkan dalam tabel 1. berikut:

JMS Parent Publish-Subscribe Domain Point-To-Point Domain
Destination Topic Queue
ConnectionFactory TopicConnectionFactory QueueConnectionFactory
Connection TopicConnection QueueConnection
Session TopicSession QueueSession
MessageProducer TopicPublisher QueueSender
MessageConsumer TopicSubscriber QueueReceiver, QueueBrowse

Tabel 1. Hubungan antara Point To Point dan Publish Subscribe Interface

No comments: