Pengertian Restful Api, Fungsi Restful Api dll.




Pengertian Restful Api

Restful adalah antarmuka yang digunakan oleh dua sistem komputer untuk saling memberikan informasi melalui internet.Biasanya aplikasi besar seperti bisnis harus berkomunikasi dengan Aplikasi internal dan pihak pihak ketigannya untuk berbagi tugas.Misalnkan spil belanja, sistem akun internal anda harus berbagi data  kepada pihak olshop anda agar bisa berkomunikasi dengan Aplikasi yang ada di toko anda beli.
  • Apa itu Api ?
Antarmuka Program Aplikas atau disebut juga  API , Antarmuka Program Aplikasi (API) menentukan aturan yang harus Anda ikuti untuk berkomunikasi dengan sistem perangkat lunak lain, serangkaian standar dan protokol yang mengintegrasikan user dengan aplikasi sehingga pengguna bisa mengakses dan menggunakan fungsi software aplikasi tersebut.


Klien
Klien adalah pengguna yang ingin mengakses informasi dari web. Klien dapat berupa orang atau sistem perangkat lunak yang menggunakan API. Contohnya, developer dapat menulis program yang mengakses data cuaca dari sistem data. Atau Anda dapat mengakses data yang sama dari peramban Anda saat mengunjungi situs web cuaca secara langsung.

Sumber daya 
Sumber daya adalah informasi yang disediakan aplikasi yang berbeda untuk klien mereka. Sumber daya dapat berupa citra, video, teks, angka, atau tipe data apa pun. Mesin yang memberikan sumber daya kepada klien disebut juga sebagai server. Organisasi menggunakan API untuk berbagi sumber daya dan menyediakan layanan web sembari memelihara keamanan, kendali, dan autentikasi. Selain itu, API membantu menentukan klien yang mendapatkan akses ke sumber daya internal tertentu.
  • Apa itu Rest?
Representational State Transfer (REST) adalah arsitektur perangkat lunak yang memberlakukan syarat mengenai cara API bekerja. REST pada awalnya dibuat sebagai panduan untuk mengelola komunikasi pada jaringan kompleks seperti internet.

Adapun dibawah ini adalah gaya Arsitektur Rest :

AntarMuka Seragam
Antarmuka seragam adalah desain fundamental dari semua layanan web RESTful. Ini mengindikasikan bahwa server mentransfer informasi dalam format standar.Contohnya, server dapat menyimpan data sebagai teks tetapi mengirimkannya dalam format representasi HTML.

Antarmuka seragam memberlakukan empat hambatan arsitektur: 
  1. Permintaan harus mengidentifikasi sumber daya. Permintaan melakukannya dengan menggunakan pengidentifikasi sumber daya seragam. 
  2. Klien memiliki cukup informasi dalam representasi sumber daya untuk memodifikasi atau menghapus sumber daya jika diinginkan. Server memenuhi syarat ini dengan mengirimkan metadata yang menjelaskan sumber daya lebih lanjut.
  3.  Klien menerima informasi mengenai cara untuk memproses representasi lebih lanjut. Server mencapainya dengan mengirimkan pesan deskriptif mandiri yang berisi metadata mengenai cara klien dapat menggunakannya sebaik mungkin.
  4.  Klien menerima informasi mengenai semua sumber daya terkait lainnya yang dibutuhkan untuk menyelesaikan tugas. Server mencapainya dengan mengirim hyperlink di dalam representasi sehingga klien dapat menemukan lebih banyak sumber daya secara dinamis.

Statelessness 
Dalam arsitektur REST, statelessness mengacu pada metode komunikasi tempat server menyelesaikan setiap permintaan klien secara independen dari semua permintaan sebelumnya. Klien dapat meminta sumber daya dalam perintah apa pun, dan setiap permintaan berada dalam status stateless atau terisolasi dari permintaan lain.

Sistem berlapis
Dalam arsitektur sistem berlapis, klien dapat terhubung ke perantara resmi lain antara klien dan server, dan masih akan menerima respons dari server tersebut. Server juga dapat meneruskan permintaan ke server lain. Anda dapat merancang layanan web RESTful untuk berjalan pada beberapa server dengan beberapa lapisan seperti keamanan, aplikasi, dan logika bisnis, bekerja sama untuk memenuhi permintaan klien. Lapisan ini tetap terlihat oleh klien.

Ketersinggahan (Cacheability)
Layanan web RESTful mendukung pembuatan cache, proses penyimpanan beberapa respons pada klien atau pada perantara untuk meningkatkan waktu respons server. Contohnya, bayangkan Anda mengunjungi situs web yang memiliki citra header dan footer umum pada setiap halaman. Setiap kali Anda mengunjungi halaman situs web baru, server harus mengirim ulang citra yang sama. Untuk menghindari hal ini, klien membuat cache atau menyimpan citra setelah respons pertama lalu menggunakan citra ini langsung dari cache tersebut. Layanan web RESTful mengontrol pembuatan cache dengan menggunakan respons API yang menentukannya apakah dapat dibuat cache atau tidak.

Kode sesuai permintaan 
Dalam gaya arsitektur REST server dapat sementara memperluas atau menyesuaikan fungsionalitas klien dengan mentransfer kode pemrograman perangkat lunak ke klien. Contohnya, saat Anda mengisi formulir pendaftaran pada situs web, peramban Anda dengan segera menyoroti kesalahan yang Anda buat, seperti nomor telepon yang salah. Ini dapat terjadi karena kode yang dikirimkan oleh server.

  • Manfaat Restful Api
Skalabilitas
Sistem yang menerapkan API REST dapat menskalakan secara efisien karena REST mengoptimalkan interaksi klien-server. Statelessness menghapus beban server karena server tidak perlu mempertahankan informasi permintaan klien di masa lalu.

Fleksibilitas 
Layanan web RESTful mendukung pemisahan total klien-server. Layanan web RESTful menyederhanakan dan memisahkan berbagai komponen server sehingga masing-masing bagian dapat berkembang secara mandiri.

Independensi 
API REST independen terhadap teknologi yang digunakan. Anda dapat menulis baik aplikasi klien dan server dalam berbagai bahasa pemrograman tanpa memengaruhi desain API. Anda juga dapat mengubah teknologi mendasar di kedua sisi tanpa memengaruhi komunikasi.


  • Cara Kerja Api
Sama saja seperti penjelajah internet, klien meminta server untuk memberikan sumber daya.

  1. Klien mengirimkan permintaan ke server. 
  2. Klien mengikuti dokumentasi API untuk memformat permintaan dalam format yang dipahami oleh server. 
  3. Server mengautentikasi klien dan mengonfirmasi bahwa klien memiliki hak untuk membuat permintaan. Server menerima permintaan dan memproses secara internal.
  4. Server mengembalikan respons kepada klien. Respons berisi informasi yang memberitahu klien jika permintaannya berhasil. Respons juga termasuk informasi apa saja yang diminta klien. Permintaan API REST dan detail respons sedikit berbeda tergantung pada cara developer API merancang API.

  • Isi Permintaan Klien
RESTful API memerlukan permintaan untuk memuat komponen utama berikut: 
  • Pengidentifikasi sumber daya unik Server mengidentifikasi setiap sumber daya dengan pengidentifikasi sumber daya yang unik. Untuk layanan REST, server biasanya melakukan identifikasi sumber daya dengan menggunakan Uniform Resource Locator (URL). URL menentukan jalur ke sumber daya. URL mirip dengan alamat situs web yang Anda masukkan ke peramban untuk mengunjungi halaman web mana pun. URL juga disebut titik akhir permintaan dan dengan jelas menentukan server yang dibutuhkan klien. 
  • Metode Developer sering mengimplementasikan API RESTful dengan menggunakan Hypertext Transfer Protocol (HTTP). Metode HTTP memberi tahu server hal-hal yang perlu dilakukan terhadap sumber daya. 
Berikut ini adalah empat metode HTTP umum: 
  1. GET Klien menggunakan GET untuk mengakses sumber daya yang berada di URL yang ditentukan pada server. Mereka dapat menyimpan permintaan GET dan mengirim parameter dalam permintaan API RESTful untuk menginstruksikan server memfilter data sebelum mengirim. 
  2. POST Klien menggunakan POST untuk mengirim data ke server. Mereka menyertakan representasi data dengan permintaan. Mengirim permintaan POST yang sama beberapa kali memiliki efek samping seperti membuat sumber daya yang sama beberapa kali. 
  3. PUT Klien menggunakan PUT untuk memperbarui sumber daya yang ada di server. Tidak seperti POST, mengirimkan permintaan PUT yang sama beberapa kali dalam layanan web RESTful memberikan hasil yang sama. 
  4. DELETE Klien menggunakan permintaan DELETE untuk menghapus sumber daya. Permintaan DELETE dapat mengubah status server. Namun, jika pengguna tidak memiliki autentikasi yang sesuai, permintaan akan gagal. 
Header HTTP Header
permintaan adalah pertukaran metadata antara klien dan server. Misalnya, header permintaan menunjukkan format permintaan dan respons, memberikan informasi tentang status permintaan, dan sebagainya. 

  • Data
Permintaan API REST mungkin menyertakan data untuk POST, PUT, dan metode HTTP lainnya agar berhasil. 

  • Parameter 
Permintaan API RESTful dapat termasuk parameter yang memberi server lebih banyak detail tentang hal yang perlu dilakukan. Berikut ini adalah beberapa tipe parameter:
  1.  Parameter jalur yang menentukan detail URL. 
  2. Parameter kueri yang meminta informasi selengkapnya tentang sumber daya. 
  3. Parameter cookie yang mengautentikasi klien dengan cepat.

Komentar

Postingan populer dari blog ini

Mengenal Pengertian, Sejarah ,Fungsi Bahasa Pemograman Java

Istilah - Istilah dalam Configuration local storage and Configuration File System