News & Events

Membuat Integrasi Antar Aplikasi Menggunakan Message Broker Solace: Pola Queue dan Consume

Published on August 4, 2020

Pola pengiriman pesan dengan queue dan consume memastikan pesan sampai kepada konsumen secara 100%. Hal ini dilakukan untuk mencegah data hilang ditengah jalan. Setiap pesan yang di generate oleh publisher akan ditangani dalam satu sistem antrian (queue) pada event broker sampai konsumen benar-benar siap untuk menerima pesan.

Sebagai contoh, ketika terjadi suatu masalah pada aplikasi konsumen maka event broker akan menahan setiap pesan yang datang dari publisher dan menunggu sampai aplikasi konsumen pulih kembali, setelah itu pesan akan otomatis diterima oleh aplikasi konsumen. Pola pengiriman pesan dengan queue ini sangat tepat diterapkan pada aplikasi mission-critical seperti kartu kredit, online payment dan lain-lain.

Membuat Integrasi Antar Aplikasi Menggunakan Message Broker Solace: Pola Queue dan Consume

Pada tutorial kali ini kita akan mengintegrasikan sebuah aplikasi chat sederhana untuk terhubung ke message broker solace. Setiap pesan yang dipublish akan masuk ke queue pada https://solace.com/products/event-broker/cloud/ dan akan diterima oleh aplikasi chat ini sendiri.

Untuk persiapan lakukan instalasi tools berikut untuk mengikuti tutorial ini:

1. Java Development Kit (JDK) 1.8 keatas

2. Apache Maven

3. Sign up ke solace event broker cloud (free)

4. Git dan Github version control

5. Text editor

Memulai aplikasi:

1. Untuk mendapatkan source code bisa pull dari Github Solace Training.

Membuat Integrasi Antar Aplikasi Menggunakan Message Broker Solace: Pola Queue dan Consume

2. Kemudian checkout ke developer-exercise-2 pada git version control.

Membuat Integrasi Antar Aplikasi Menggunakan Message Broker Solace: Pola Queue dan Consume

3. Unduh Solace client Javascript library atau menggunakan NPM package manager dengan command npm install solclientjs

Membuat Integrasi Antar Aplikasi Menggunakan Message Broker Solace: Pola Queue dan Consume

4. Simpan solclientjs library di folder src->main->resource->static

Membuat Integrasi Antar Aplikasi Menggunakan Message Broker Solace: Pola Queue dan Consume

5. Sign in ke Solace pubsub+ event broker sekaligus membuat messaging service.

6. Buat queue pada messaging service yang telah dibuat sebelumnya.

Membuat Integrasi Antar Aplikasi Menggunakan Message Broker Solace: Pola Queue dan Consume

7. Menambahkan queue baru pada tombol tab queues disebelah kanan atas.

Membuat Integrasi Antar Aplikasi Menggunakan Message Broker Solace: Pola Queue dan Consume

8. Membuat nama queue (contoh: SOLACE_CHAT).

Membuat Integrasi Antar Aplikasi Menggunakan Message Broker Solace: Pola Queue dan Consume

9. Masuk ke tab subscription dan tambahkan subscription baru (contoh: solace/chat). Step ini berhubungan dengan step pada poin 12.

Membuat Integrasi Antar Aplikasi Menggunakan Message Broker Solace: Pola Queue dan Consume

10. Buka aplikasi yang sudah di pull dari https://github.com/SolaceTraining/fundamentals-of-solace-dev dengan text editor favorit kalian.

11. Duplicate file application-properties-template.js dan application-template.properties lalu rename file tersebut menjadi application-properties.js dan application.properties.

Membuat Integrasi Antar Aplikasi Menggunakan Message Broker Solace: Pola Queue dan Consume

12. Edit file application-properties.js dengan menginputkan properties yang ada di solace pubsub+ cloud.

Membuat Integrasi Antar Aplikasi Menggunakan Message Broker Solace: Pola Queue dan Consume

Membuat Integrasi Antar Aplikasi Menggunakan Message Broker Solace: Pola Queue dan Consume (2)

13. Edit file pubsubplusbroker.js dengan menambahkan kode berikut ini pada method publish.

Membuat Integrasi Antar Aplikasi Menggunakan Message Broker Solace: Pola Queue dan Consume

Membuat Integrasi Antar Aplikasi Menggunakan Message Broker Solace: Pola Queue dan Consume (2)

14. Jalankan command mvn spring-boot:run pada terminal.

Membuat Integrasi Antar Aplikasi Menggunakan Message Broker Solace: Pola Queue dan Consume

15. Buka http://localhost:8081 pada web browser dan ketikkan beberapa pesan.

Membuat Integrasi Antar Aplikasi Menggunakan Message Broker Solace: Pola Queue dan Consume

16. Cek/refresh status service queue yang sebelumnya dibuat. Terdapat beberapa pesan yang telah diterima oleh queue dari publisher.

Membuat Integrasi Antar Aplikasi Menggunakan Message Broker Solace: Pola Queue dan Consume

17. Kembali ke text editor kemudian tambahkan kode berikut pada method consume pada file pubsubplusbroker.js

Membuat Integrasi Antar Aplikasi Menggunakan Message Broker Solace: Pola Queue dan Consume

18. Restart mvn spring-boot:run

Membuat Integrasi Antar Aplikasi Menggunakan Message Broker Solace: Pola Queue dan Consume

19. Refresh http://localhost:8081. Semua pesan yang sebelumnya di tahan di queue kemudian diterima seluruhnya di aplikasi chat consumer.

Membuat Integrasi Antar Aplikasi Menggunakan Message Broker Solace: Pola Queue dan Consume

20. Cek kembali status queue dan kemudian refresh. Secara otomatis queue akan kosong karna data telah berhasil terkirim ke konsumen.

Membuat Integrasi Antar Aplikasi Menggunakan Message Broker Solace: Pola Queue dan Consume

Sumber: Solace

PT Strategic Partner Solution

  The Bellezza Shopping Arcade
    2nd Floor Unit SA15-16
    Jl. Arteri Permata Hijau, Kec. Kby. Lama
    DKI Jakarta 12210
  +62 812 8700 0879
  info@myspsolution.com

NETWORKING

Bandung

  Jl. Jend. Sudirman No. 757
    Bandung 40212
(62-22) 603 0590 (Hunting)
(62-22) 603 0967

Medan

  Kawasan Industri Medan Star
    Jl. Pelita Raya I Blok F No. 5
    Tanjung Morawa Km 19,2
    Deli Serdang 20362
  (62-61) 7940800
  (62-61) 7941990

Semarang

  Jl. Tambak Aji I / 6
    Komp. Industri Guna Mekar
    Semarang 50185
  (62-24) 866 3521
  (62-24) 866 3529

Surabaya

  Jl. Ngemplak No. 30
    Komplek Ambengan Plaza
    Blok B 35-37
    Surabaya 60272
  (62-31) 531 9635 (Hunting)
  (62-31) 531 9634

Lampung

  Perumahan Gunung Madu Plantation
    Jalan Pulau Morotai Blok B No. 1
    Kecamatan Sukarame - Tanjung Baru
    Bandar Lampung

Surakarta

  Jalan Melati No. 2,
    Kelurahan Purwosari
    Laweyan, Surakarta

Palembang

  Komplek Ilir Barat Permai
    Blok D.I. No. 31
    Kelurahan 24 Ilir, Palembang

Samarinda

  Jalan Ir. Sutami, Pergudangan Tahap II
    Blok S No.3B
    Karang Asam, Samarinda

Makassar

  Jalan Ir. Sutami,
    Komplek Pergudangan Parangloe Indah
    Blok C-II 3/6, Makassar

Pontianak

  Jalan Raya Wajok Hilir Km. 15,65
    Siantan, Pontianak