Database Api Hosting
Database Api Hosting
Disusun oleh:
Melihat cara kerja dari Database API yang sudah dijabarkan diatas akan timbul sebuah
pertanyaan, kenapa aplikasi tidak langsung dihubungkan saja ke database yang ada. Arsitektur
tersebut tentu saja lebih mudah untuk diimplementasikan namun memiliki beberapa kekurangan
saat aplikasi yang dibangun sudah semakin besar dan memiliki banyak aplikasi lain yang
menggunakan database yang sama. Hal tersebut tentu akan merepotkan developer untuk
membuat koneksi terus menerus setiap ada aplikasi yang ingin terkoneksi dengan database.
Disinilah peran Database API dibutuhkan. Adapun Keuntungan dari menggunakan Database API
adalah Integrasi yang mudah untuk aplikasi/service yang baru yang membutuhkan koneksi ke
database, Resource penggunaan koneksi database yang lebih efisien karena hanya apps/service
yang membutuhkan saja yang akan membuat koneksi berupa http ke API-DB, dan Monitoring
dan segmentasi yang jelas antara layer database dan aplikasi, sehingga kita bisa melakukan
penambahan koneksi dan efisiensi cukup di layer API-DB (misal dengan menambahkan
mekanisme caching).
Firebase
Firebase adalah layanan Google yang berguna untuk membantu para developer untuk
mengembangkan aplikasi. Firebase atau BaaS alias Backend as a Service merupakan cara
developer yang fokus mengembangkan aplikasi tanpa perlu memberikan effort besar. Firebase
menyediakan beberapa layanan yang membantu developer untuk mengembangkan aplikasi
seperti firebase analytics, cloud messaging and notification, authentication, cloud firestore,
hosting dan realtime database.
Fitur realtime database merupakan salah satu fitur unggulan firebase dimana fitur ini
merupakan database yang di-host melalui cloud sehingga pengembang bisa mengelola database
dalam jumlah lebih besar. Pengguna aplikasi akan tetap menerima update terbaru saat ponsel
yang offline terhubung ke jaringan internet berkat fungsi ini. Fitur ini juga dapat diakses
menggunakan REST API yang sudah disediakan oleh pihak firebase sehingga lebih
memudahkan para pengembang. Satu hal yang perlu diingat ketika menggunakan fitur ini adalah
bahwa dbms yang digunakan bukanlah mysql melainkan nosql yang sedikit membingungkan
bagi orang yang lebih sering menggunakan mysql.
Perintah diatas akan menambahkan data kedalam node spesifik yang ada pada database
pengguna. Data yang dikirimkan harus menggunakan format json dan dapat menggunakan
method POST atau PUT. Perlu diingat method PUT akan melakukan override pada data
sebelumnya sehingga kemungkinan data yang lama akan terhapus.
2. Read
Untuk melakukan read, pengguna hanya perlu mengetikan nama url dari database dan
mengetikan node mana yang ingin dilihat dengan memberikan akhiran json. Sebagai contoh, jika
pengguna ingin melihat isi dari data orang dalam database, maka url yang harus diketikan
haruslah berakhiran orang.json. Untuk lebih jelasnya adalah sebagai berikut :
curl https://[nama database].firebaseio.com/[nama node].json
Perintah diatas akan mengembalikan seluruh data dari nama node yang dimasukan. Data
yang dihasilkan juga menggunakan format json. Jika berhasil, maka akan mengembalikan
response berupa json yang berisi seluruh child node yang ada pada node tersebut.
3. Update
Sama seperti melakukan input dan read, update dilakukan dengan mengetikan nama url
dari database dan mengetikan node mana yang ingin diupdate dengan memberikan akhiran json.
Perlu diingat, nama node yang dimasukan harus spesifik dan juga data yang diubah harus ada di
dalam node agar perubahan dapat dilakukan dengan benar.
Jika proses update berhasil maka akan mengembalikan response berupa json yang berisi
perubahan yang dilakukan.
4. Delete
Perintah delete dilakukan dengan mengetikan nama url dari database dan mengetikan node
mana yang ingin dihapus dengan memberikan akhiran json. Delete dapat dilakukan pada salah
satu child saja atau dapat menghapus seluruh node sekaligus.