Coding4ever’s Blog

Just coding… coding… and coding… because coding should be fun :)

Menyimpan Konfigurasi Aplikasi Secara Terpusat Menggunakan Consul Key-Value Store Bagian #2

| Comments

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 LoadAppConfignya:

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
Install-Package RestSharp -Version 105.2.3
Install-Package Newtonsoft.Json -v 9.0.1

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 :-)

consul, service discovery

Tentang Penulis

Software developer yang fokus mengembangkan aplikasi di atas platform .NET (Desktop, ASP.NET MVC, Web Service, Microservice) dan Android. Senang mempelajari teknologi baru terutama di bidang OOP, Design Pattern, ORM, Database, Continuous Integration & Deployment dan arsitektur Microservice.
Selain mengajar, saat ini penulis juga bekerja sebagai staf IT di salah satu PTS di Yogyakarta sebagai senior software developer. Di waktu luang insya Alloh akan terus berbagi pengalaman di blog ini :)

« Solusi Mengakses Database Lokal (IP Private) Secara Online

Comments