Restful API
Halo teman - teman semua, gimana nih puasa kalian? masih lancar apa ada yang udah bolong? semoga sampai nanti lebaran gaa bolong bolong yaa puasanya. Okey, di kesempatan kali ini Hadi bakalan bagi pengetahuan lagi nih, tentang Restful API, sebelum ke Restful API kita harus tau dulu nih apa sih API itu terlebih dahulu, tanpa berlama - lama lagi langsung aja ke pembahasannya.
Apa Itu API?
API adalah singkatan dari Application Programming Interface atau rangkaian standar dan juga protokol yang menghubungkan user dengan aplikasi sehingga pengguna bisa mengakses dan menggunakan software tersebut. Singkatnya API ini berfungi sebagai mediator atau komunikator antara pengguna dan sistem. Oleh karena itu, dikalangan programming API ini menjadi bagian yang sangat penting untuk mempermudah pengembangan aplikasi di Internet.
Apa Itu REST?
Sekarang kita beralih ke REST, kenapa ada REST? karena sejatinya Restful API adalah gabungan dari kata REST dan API, REST adalah singkatan dari Representational State Transfer yang merupakan arsitektur software. REST mewakili serangkaian batasan yang harus diikuti saat kalian hendak mengembangkan aplikasi di Internet.
Suatu API akan disebut sebagai Restful API apabila mampu memenuhi kriteria dan batasan yang ditetapkan oleh gaya arsitektur REST ini.
Pengertian Restful API
Jadi, dapat disimpulkan bahwa pengertian Restful API adalah gabungan antara REST sebagai gaya arsitektur atau batasan dan API sebagai mediator yang menghubungkan user dengan sistem untuk melakukan pengembangan di Internet.
Sejarah Sistem REST
Arsitektur sistem REST diciptakan oleh ilmuwan komputer Roy Fielding pada tahun 2000. Ia sebelumnya bekerja di bidang pembuatan protokol HTTP dan URI atau Uniform Resource Identifier, yaitu serangkaian elemen yang mengidentifikasi resource dalam aplikasi web. Fielding pun bergabung dengan tim ahli untuk mengembangkan karakteristik Representational State Transfer (REST) selama 6 tahun. Penelitian ini kemudian ia jabarkan dalam tesis PhD miliknya dan menjadi awal mula terbentuknya sistem REST.
Batasan - Batasan Arsitektur
Beberapa batasan arsitektur yang menunjukkan karakter RESTful API yaitu:
- Arsitektur client-server – arsitektur yang didasarkan pada klien, server, dan resource, di mana permintaan akan dibuat melalui protokol HTTP. Kondisi ini menunjukkan independensi antara klien dan server, yang berarti perubahan yang dilakukan oleh user pada aplikasi di perangkatnya tidak akan memengaruhi server dan struktur datanya. Demikian pula, perubahan yang dilakukan oleh developer ke database aplikasi seharusnya tidak langsung berdampak pada perangkat pengguna.
- Komunikasi stateless – komunikasi antara klien dan server tidak boleh menyimpan informasi apa pun di antara setiap permintaan. Pada REST API, permintaan berisi semua data yang harus langsung dipenuhi dan tidak tergantung pada informasi yang sudah disimpan di sesi lain.
- Cache – REST API harus dirancang agar bisa menyimpan data dalam cache. Saat informasi disimpan di cache, permintaan dan respons antara klien dan server akan dioptimalkan.
- Antarmuka atau interface yang seragam – Antarmuka yang seragam memungkinkan pengembangan aplikasi dilakukan secara independen di antara pengguna dan server. REST API harus berisi antarmuka yang seragam karena menyediakan komunikasi terstandar antara pengguna dan software yang menyediakan API tersebut. Manipulasi resource melalui representasi (seperti JSON atau XML) adalah salah satu syarat yang harus dipenuhi untuk mengembangkan antarmuka yang seragam.
- Sistem lapisan – setiap lapisan sistem harus memiliki fungsi tertentu (misalnya untuk keamanan atau loading). Artinya, setiap lapisan ini bertanggung jawab atas berbagai langkah yang ada dalam proses permintaan pengguna dan respons server. Lapisan-lapisan ini diurutkan secara hierarkis dan berinteraksi satu sama lain meskipun terpisah.
Cara Kerja Restful API
RESTful API bekerja dengan cara memanipulasi resource dan representasi. Representasi ini saling dipertukarkan di antara pengguna dan server melalui antarmuka terstandar dan protokol komunikasi tertentu, biasanya HTTP.
Jadi, saat pengguna ingin menggunakan fungsi suatu aplikasi, perangkatnya akan mengirimkan permintaan melalui HTTP ke server. Server akan mencari resource dan mengomunikasikan representasi state sebagai respons kepada pengguna melalui protokol yang sama. Representasi ini bisa dibuat dalam berbagai format, seperti JSON atau XML.
Mungkin segitu saja pembahasan yang Hadi pahami mengenai RESTful API, mohon maaf bila terdapat penulisan kata yang kurang dipahami atau dimengerti, see uu in next pembahasan, babayyyy.
Komentar
Posting Komentar