Hallo guys,
Di era yang semakin canggih ini, kebutuhan untuk menghubungkan aplikasi melalui jaringan komputer semakin tidak dapat dinafikan. Bahkan tidak berlebihan jika dikatakan kemampuan aplikasi untuk dapat terhubung satu-sama lain menjadi sebuah keharusan. Tidak hanya aplikasi komputer, aplikasi berbasis smartphone juga rata-rata sudah dapat terhung dengan server yang umumnya menggunakan antarmuka Application Programming Interface atau yang juga dikenal dengan istilah API.
Pada implementasinya, pendekatan yang banyak digunakan untuk melakukan pertukaran data pada aplikasi database berbasis client server adalah melalui HTTP Request. Para pengembang aplikasi biasanya membuat aplikasi kecil yang sering disebut dengan istilah mikro service atau umumnya disebut API, selanjutnya aplikasi client akan meminta dan mengirimkan informasi (melalukan pertukaran data) melalui service atau API tersebut.
Pada postingan ini saya akan share source code aplikasi database client server menggunakan bahasa pemrograman pascal. Aplikasi ini dapat melakukan pertukaran data melalui protokol HTTP, baik proses pengambilan atau pengiriman data. Seluruh data yang dikirim dan diterima dibungkus ke dalam format JSON agar lebih mudah untuk diproses. Berikut sedikit informasi terkait aplikasi ini.
- Menggunakan FPC 3.2.2 + Lazarus 4.0
- Mengimplementasikan HTTP Request (Multithread)
- Menggunakan SQLite Database
- Server App as a Service (Start, Stop and Logging) , implementasi HTTP Server.
- Client App (Retrieve, Insert, Update, Delete, Upload and Download File), implementasi HTTP Client.
Aplikasi ini masih sederhana, kemampuan yang dimiliki hanya sebatas Insert, Update, Delete, mengambil data dari server untuk ditampilkan pada komponen String Grid serta proses pengiriman file baik upload dan download dari aplikasi client. Meski demikian, rasanya sudah cukup mewakili untuk memahami konsep pertukaran data melalui HTTP request pada Free Pascal dan Lazarus. Jika anda tertarik mengembangkannya silahkan cek di github pada link ini. Anda dapat mengembangkan dengan menambahkan fitur-fitur lainnya sesuai kebutuhan. Selamat mencoba.