Membuat Integrasi Antar Aplikasi Multi-Protokol dengan Message Broker Solace
Untuk mendukung integrasi antar aplikasi, Solace message broker berperan sebagai intermediasi berbagai protokol terbuka seperti MQTT, AMQP, Websocket, JMS, dan REST. Selain itu Solace juga mendukung open API seperti Paho dan Qpid. Hal ini memungkinkan developer mengembangkan aplikasi dengan berbagai bahasa pemrograman populer seperti C,.NET, IOS, Java, Javascript, JMS dan Node.js.
Pada tutorial ini kita akan mengintegrasikan aplikasi chat sederhana yang terhubung ke web server dan message broker Solace. Dari gambar dibawah ini kita bisa melihat bahwa request yang masuk ke message broker Solace dalam bentuk REST request kemudian Solace menerjemahkan request tersebut ke dalam format JCSMP API (Solace Messaging API for Java). Setelah request tersebut di autentikasi oleh login server maka hasilnya dikembalikan ke browser application dalam bentuk REST reply.
1. Client mengirim detail autentikasi dari browser untuk diteruskan ke Solace message broker.
2. Login server menerima request login dari client.
3. Login server lalu melakukan auntentikasi terhadap client dan merespon apakah request itu diterima atau ditolak.
Untuk persiapan lakukan instalasi tools berikut:
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.
2. Kemudian checkout ke developer-exercise-5 pada git version control.
3. Unduh solace client Javascript library pada link berikut atau menggunakan NPM package manager dengan command npm install solclientjs
4. Simpan solclientjs library di folder src->main->resource->static
5. Sign in ke Solace pubsub+ event broker sekaligus membuat messaging service.
6. Duplicate dan rename file application-template.properties menjadi application.properties. Serta tambahkan parameter berikut ini. Parameter ini terdapat pada aplikasi message broker solace.
7. Tambahkan kode berikut pada file SolaceCloudProxy.java dan method ResponseEntity untuk REST POST request.
8. Masuk ke folder solace-chat-common kemudian install maven dengan command mvn install.
9. Edit file LoginMessageReplier.java yang ada di folder auth-server->src->main->java->com->solace->chat->application->auth->server. Folder ini merupakan server autentikasi yang bertugas untuk menangani request dari client yang login melalui web browser.
10. Jalankan kedua server web-app-server dan auth-server dengan command mvn spring-boot:run pada dua terminal.
11. Setelah keduanya jalan, buka http://localhost:8081. Lakukan login dengan login credential yang terdapat pada file auth-server->src->main->java->com->solace->chat->application->auth->server->HashMapCredetialRepository.java
12. Jika berhasil login, anda akan diarahkan ke halaman chat berikut dengan username sesuai yang diinputkan.
13. Jika proses autentikasi gagal, anda dapat melihatnya dari logs server-auth.
Sumber: Solace