Oke, hari ini saya ingin melanjutkan pembahasan postingan saya sebelumnya tentang penyimpanan konfigurasi aplikasi secara terpusat menggunakan consul. Jika pada postingan sebelumnya fokus pembahasan pada instalasi kemudian dilanjutkan dengan demo cara mengakses data yang tersimpan pada key-value store
menggunakan salah satu tool REST Client favorit saya yaitu Postman, maka fokus pembahasan kali ini adalah bagaimana cara mengakses data key-value store
menggunakan bahasa pemrograman Visual Basic 6 dan C# (.NET).
Mengakses Data Key-Value Store
Sebagai review untuk data yang tersimpan di key-value store
bisa diakses via RESTful API (Web API) menggunakan HTTP METHOD GET
. Adapun endpoint yang digunakan yaitu /v1/kv/NAMA_KEY
. Contoh
Informasi endpoint
dan HTTP METHOD
ini penting untuk dicatat karena berhubungan dengan kode program yang akan kita tulis di pembahasan berikutnya.
Mengakses Data Key-Value Store Dari Visual Basic 6
Sebagai contoh kasus kita akan membuat form login, di mana form login ini selain membutuhkan user
dan password
juga membutuhkan informasi server
, database
dan port
. Khusus untuk informasi server
, database
dan port
secara otomatis akan membaca data yang tersimpan di dalam Key-Value Store
.
Untuk tampilannya kita buat yang sederhana aja ya :-D
Karena data yang diakses berupa RESTful API (dokumen web), di Visual Basic 6 kita menggunakan library Microsoft XML v6.0
Setelah itu kita buat sebuah method dengan nama GetRequest
untuk mengakses RESTful API dengan menggunakan library Microsoft XML v6.0
.
Kemudian tambahkan lagi sebuah method dengan nama LoadAppConfig
, di dalam method ini kita memanggil method GetRequest
dan menampilkan hasilnya ke console. Agar method ini bisa dipangil secara otomatis, kita panggil method ini di event form load.
Jika berhasil, hasilnya seperti berikut:
Nah dari gambar di atas, kita lihat bahwa hasil pemanggilan endpoint Key-Value Store
ini mengembalikan data string dengan format JSON. Secara built-in VB6 tidak menyediakan library untuk mengolah data dengan format JSON, tapi untungnya di luar sana sudah ada yang berbaik hati membuatkan librarynya, sehingga mempermudah kita untuk mengolah data dengan format JSON menggunakan Visual Basic 6.
Setelah menambahkan library VB-JSON sekarang kita bisa langsung mengolah data JSONnya sebagai sebuah objek dan kemudian langsung menampilkan hasilnya ke dalam textbox server
, database
dan port
. Berikut adalah hasil revisinya method LoadAppConfig
nya:
Ok sampai di sini, kita bisa langsung menjalankan aplikasi untuk melihat hasilnya. Setelah form loginnya tampil aktifkan tab Connection, di mana informasi server, database dan port sudah otomatis terisi sesuai dengan informasi Key-Value Store
yang tersimpan di server consul.
Sudah tampil bukan?
Sekarang kita coba edit informasi db-confignya, melalui menu Key/Value
, kemudian jalankan sekali lagi aplikasinya.
Nah secara otomatis perubahan data yang tersimpan di Key-Value Store
juga akan terbaca oleh aplikasi.
Mengakses Data Key-Value Store Dari C# (.NET)
Untuk contoh berikutnya kita akan mengakses data Key-Value Store
menggunakan bahasa pemrograman C# (.NET). Di C# saya biasanya menggunakan library RestSharp untuk mengakses web api, selain itu kita juga membutuhkan library Newtonsoft.Json, kenapa? Karena hasil dari pemanggilan web apinya berupa string dengan format json. Jadi kita membutuhkan library ini untuk mengkonversi string json ke objek class. Untuk menginstall kedua library ini Anda bisa menggunakan Nuget Package Manager Console dengan perintah berikut:
1 2 |
|
Setelah menginstall ke dua library di atas, langkah berikutnya adalah kita akan menambahkan class model terlebih dulu. Class model ini saya beri nama AppConfig
agar nanti hasil dari pemanggilan webnya bisa langsung kita konversi ke objek class model ini dengan bantuan library Newtonsoft.Json. Berikut contoh class model yang dibuat.
Pada gambar di atas, kita bisa lihat untuk struktur class modelnya dibuat menyesuaikan struktur json yang ada di Key-Value Store
.
Setelah itu tambahkan kode berikut untuk pemanggilan web apinya.
Kemudian kita bisa langsung menjalankan aplikasi untuk melihat hasilnya. Setelah form loginnya tampil aktifkan tab Connection, di mana informasi server, database dan port sudah otomatis terisi sesuai dengan informasi Key-Value Store
yang tersimpan di server consul.
Kesimpulan
Dengan menggunakan consul sebagai pusat penyimpanan konfigurasi aplikasi, akan mempermudah kita ketika terjadi perubahan konfigurasi aplikasi yang selama ini biasanya disimpan secara lokalan. Jadi kita tidak perlu merubah konfigurasi lokal aplikasi satu per satu di pc/lapton klien.
Selamat mencoba :-)