RESTful API: Definisi, Fungsi, dan Cara Kerjanya | Pembelajaran Bagian 2 - MAKALAH SERBA ADA
Pemberitahuan! Website akan maintenance pada tanggal 28 - 30 Oktober 2023

RESTful API: Definisi, Fungsi, dan Cara Kerjanya | Pembelajaran Bagian 2

alt-text

MakalahSerbaAda.Com - RESTful API adalah gaya arsitektur untuk antarmuka program aplikasi (API) yang menggunakan permintaan HTTP untuk mengakses dan menggunakan data. Data tersebut dapat digunakan untuk GET, PUT, POST dan DELETE tipe data, yang mengacu pada membaca, memperbarui, membuat dan menghapus operasi mengenai sumber daya.

API untuk situs web adalah kode yang memungkinkan dua program perangkat lunak untuk berkomunikasi satu sama lain. API menjelaskan cara yang tepat bagi pengembang untuk menulis program yang meminta layanan dari sistem operasi atau aplikasi lain.

RESTful API juga disebut sebagai RESTful web service atau REST API yang didasarkan pada transfer status representasional (REST), yang merupakan gaya arsitektur dan pendekatan komunikasi yang sering digunakan dalam pengembangan layanan web.

Teknologi REST umumnya lebih disukai daripada teknologi serupa lainnya. Hal ini cenderung terjadi karena REST menggunakan bandwidth yang lebih sedikit, sehingga lebih cocok untuk penggunaan internet yang efisien. RESTful API juga dapat dibangun dengan bahasa pemrograman seperti JavaScript atau Python.

Simak penjelasan lengkap artikel terbaru dibawah ini

REST yang digunakan oleh browser dapat dianggap sebagai bahasa internet. Dengan meningkatnya penggunaan cloud, API digunakan oleh konsumen cloud untuk mengekspos dan mengatur akses ke layanan web. REST adalah pilihan logis untuk membangun API yang memungkinkan pengguna terhubung, mengelola, dan berinteraksi dengan layanan cloud secara fleksibel di lingkungan terdistribusi. RESTful API digunakan oleh situs-situs seperti Amazon, Google, LinkedIn dan Twitter.

Cara kerja RESTful API

RESTful API memecah transaksi untuk membuat serangkaian modul kecil. Setiap modul membahas bagian yang mendasari transaksi. Modularitas ini memberi pengembang banyak fleksibilitas, tetapi dapat menjadi tantangan bagi pengembang untuk merancang REST API mereka dari awal. Saat ini, beberapa perusahaan menyediakan model untuk digunakan developer, model yang disediakan oleh Amazon S3, Cloud Data Management Interface (CDMI) dan OpenStack Swift adalah yang paling populer.

RESTful API menggunakan perintah untuk mendapatkan sumber daya. Status sumber daya pada stempel waktu tertentu disebut representasi sumber daya. RESTful API menggunakan metodologi HTTP yang ada yang ditentukan oleh protokol RFC 2616, seperti:

  • GET untuk mengambil sumber daya
  • PUT untuk mengubah status atau memperbarui sumber daya, yang dapat berupa objek, file, atau blok
  • POST untuk membuat sumber daya itu; dan
  • DELETE untuk menghapusnya

Dengan REST, komponen jaringan adalah sumber daya yang diminta akses oleh pengguna seperti kotak hitam yang detail implementasinya tidak jelas. Semua panggilan tidak memiliki kewarganegaraan, tidak ada yang dapat dipertahankan oleh layanan RESTful di antara eksekusi.

Format data yang didukung REST API meliputi:

  • aplikasi/json
  • aplikasi/xml
  • aplikasi/x-wbe+xml
  • aplikasi/x-www-form-urlencoded
  • multipart/formulir-data

Penggunaan

Karena panggilan tidak memiliki kewarganegaraan, REST berguna dalam aplikasi cloud. Komponen stateless dapat digunakan kembali secara bebas jika ada yang gagal, dan komponen tersebut dapat diskalakan untuk mengakomodasi perubahan beban. Ini karena permintaan apa pun dapat diarahkan ke instance komponen apa pun, tidak ada yang disimpan yang harus diingat oleh transaksi berikutnya. Itu membuat REST lebih disukai untuk penggunaan web. Model RESTful juga membantu dalam layanan cloud karena mengikat ke layanan melalui API adalah masalah mengontrol bagaimana URL didekodekan. Komputasi awan dan layanan mikro hampir pasti akan membuat desain RESTful API menjadi aturan di masa mendatang.

RESTful API Design and Architecture Constraints

Desain RESTful API didefinisikan oleh Dr. Roy Fielding dalam disertasi doktornya tahun 2000. Untuk menjadi RESTful API yang sebenarnya, layanan web harus mematuhi enam batasan arsitektur REST berikut:

  1. Penggunaan Interface yang seragam (UI). Sumber daya harus dapat diidentifikasi secara unik melalui satu URL, dan hanya dengan menggunakan metode yang mendasari protokol jaringan, seperti DELETE, PUT dan GET dengan HTTP, jika memungkinkan untuk memanipulasi sumber daya.
  2. Berbasis client-server. Harus ada penggambaran yang jelas antara klien dan server. Masalah UI dan pengumpulan permintaan adalah domain klien. Akses data, manajemen beban kerja, dan keamanan adalah domain server. Kopling longgar dari klien dan server ini memungkinkan masing-masing untuk dikembangkan dan ditingkatkan secara independen satu sama lain.
  3. Stateless Operation. Semua operasi client-server harus stateless, dan manajemen negara bagian yang diperlukan harus dilakukan pada klien, bukan server.
  4. Caching sumber daya RESTful. Semua sumber daya harus mengizinkan caching kecuali secara eksplisit menunjukkan bahwa caching tidak mungkin.
  5. Layered System. REST memungkinkan arsitektur yang terdiri dari beberapa lapisan server.
  6. Kode sesuai permintaan. Sebagian besar waktu, server akan mengirim kembali representasi statis sumber daya dalam bentuk XML atau JSON. Namun, bila perlu, server dapat mengirim kode yang dapat dieksekusi ke klien.

Tantangan umum REST API

Selain kendala desain dan arsitektur, individu harus menghadapi beberapa tantangan dengan REST API. Beberapa konsep yang mungkin menantang dapat mencakup:

  • Konsistensi titik akhir - alur titik akhir harus konsisten dengan mengikuti standar web umum, yang mungkin sulit dikelola.
  • Pembuatan versi API - URL titik akhir tidak boleh dibatalkan saat digunakan secara internal atau dengan aplikasi lain.
  • Waktu respons yang lama dan terlalu banyak data - jumlah sumber daya yang dikembalikan dapat bertambah besar seiring waktu, menambah peningkatan waktu pemuatan dan respons.
  • Jalur navigasi dan lokasi masukan pengguna - karena REST menggunakan jalur URL untuk parameter masukan, menentukan ruang URL dapat menjadi tantangan.
  • Keamanan - yang memiliki banyak aspek yang harus diperhatikan, termasuk penggunaan:
  1. HTTPS
  2. memblokir akses dari alamat IP dan domain yang tidak dikenal;
  3. memvalidasi URL;
  4. memblokir muatan besar yang tidak terduga;
  5. permintaan penebangan; dan
  6. menyelidiki kegagalan.
  • Otentikasi - gunakan metode otentikasi umum seperti otentikasi dasar HTTP (yang memungkinkan nama pengguna yang disandikan base64: string kata sandi), kunci API, Token Web JSON, dan token akses lainnya. OAuth 2.0, misalnya, bagus untuk kontrol akses.
  • Permintaan dan data -- permintaan mungkin memiliki lebih banyak data dan metadata daripada yang dibutuhkan atau lebih banyak permintaan mungkin diperlukan untuk mendapatkan semua data. API dapat disesuaikan untuk ini.
  • Pengujian API - bisa menjadi proses yang panjang untuk disiapkan dan dijalankan. Setiap bagian dari proses bisa panjang atau menantang. Pengujian juga dapat dilakukan di baris perintah dengan utilitas Curl. Bagian dari proses pengujian yang mungkin menantang meliputi:
  1. Pengaturan awal
  2. Pembaruan skema
  3. Uji kombinasi parameter
  4. Urutan panggilan API
  5. Validasi parameter pengujian
  6. Integrasi sistem
  • Tentukan kode dan pesan kesalahan.
  1. Dengan kode kesalahan, lebih merupakan praktik umum untuk menggunakan kode kesalahan HTTP standar. Ini lebih sering dikenali oleh klien dan pengembang.
  2. Penanganan kesalahan mungkin tidak memiliki cara untuk membedakan apakah respons berhasil atau tidak selain menguraikan isi atau memeriksa kesalahan.

REST vs. SOAP

REST dan Simple Object Access Protocol (SOAP) menawarkan metode berbeda untuk memanggil layanan web. REST adalah gaya arsitektur, sedangkan SOAP mendefinisikan spesifikasi protokol komunikasi standar untuk pertukaran pesan berbasis XML. Aplikasi REST dapat menggunakan SOAP.

Layanan web RESTful tidak memiliki kewarganegaraan. Implementasi berbasis REST sederhana dibandingkan dengan SOAP, tetapi pengguna harus memahami konteks dan konten yang diteruskan, karena tidak ada seperangkat aturan standar untuk menggambarkan antarmuka layanan web REST. Layanan REST berguna untuk perangkat profil terbatas, seperti seluler, dan mudah diintegrasikan dengan situs web yang ada.

SOAP membutuhkan lebih sedikit kode pemipaan artinya kode infrastruktur tingkat rendah yang menghubungkan modul kode utama bersama-sama daripada desain layanan REST. Bahasa Deskripsi Layanan Web menjelaskan seperangkat aturan umum untuk menentukan pesan, pengikatan, operasi, dan lokasi lokasi layanan. Layanan web SOAP berguna untuk pemrosesan dan pemanggilan asinkron.

Sejarah RESTful API

Sebelum REST, pengembang menggunakan SOAP untuk mengintegrasikan API. Untuk melakukan panggilan, pengembang menulis tangan dokumen XML dengan Remote Procedure Call (RPC) di badan. Mereka kemudian menentukan titik akhir dan POST amplop SOAP mereka ke titik akhir.

Pada tahun 2000, Roy Fielding dan sekelompok pengembang memutuskan untuk membuat standar sehingga setiap server dapat berbicara dengan server lain. Dia mendefinisikan REST dan batasan arsitektur yang dijelaskan di atas dalam gelar Ph.D. disertasi di University of California, Irvine. Aturan universal ini memudahkan pengembang untuk mengintegrasikan perangkat lunak.

Salesforce adalah perusahaan pertama yang menjual API sebagai bagian dari paket "Internet sebagai Layanan" pada tahun 2000. Namun, hanya sedikit pengembang yang benar-benar dapat menggunakan API XML yang rumit. Kemudian eBay membangun REST API, yang memperluas pasarnya ke situs mana pun yang dapat mengakses API-nya. Ini menarik perhatian raksasa e-commerce lain, dan Amazon mengumumkan API-nya pada tahun 2002.

Flickr meluncurkan RESTful API-nya sendiri pada Agustus 2004, memungkinkan para blogger untuk dengan mudah menyematkan gambar di situs dan umpan media sosial mereka. Facebook dan Twitter sama-sama merilis API mereka pada tahun 2006, tertekuk di bawah tekanan pengembang yang menghapus situs dan menciptakan API "Frankenstein". Ketika Amazon Web Services (AWS) membantu meluncurkan cloud pada tahun 2006, pengembang dapat mengakses ruang data dalam hitungan menit menggunakan REST API AWS, dan permintaan untuk API publik dengan cepat meningkat.

Sejak itu, pengembang telah menggunakan RESTful API, menggunakannya untuk menambahkan fungsionalitas ke situs web dan aplikasi mereka. Saat ini, REST API dianggap sebagai "tulang punggung internet".

Pilih opsi donasi!

BNI - Fauzia Ramadhan - (null)
Merasa terbantu dengan artikel ini? Ayo dukung dengan donasi. Klik tombol merah.
Author & Publisher of articles on the "Makalah Serba Ada" Website page

Post a Comment

Berikan Feedback Terbaik Untuk Artikel Ini
© ‧ MAKALAH SERBA ADA. All rights reserved. Developed by Jago Desain