0% menganggap dokumen ini bermanfaat (0 suara)
20 tayangan30 halaman

8 Materi Web Service

Dokumen tersebut membahas tentang REST service dan HTTP. Secara ringkas, REST adalah arsitektur untuk sistem terdistribusi yang menggunakan fitur HTTP secara maksimal. HTTP memiliki berbagai method seperti GET, POST, PUT, dan DELETE yang digunakan untuk mengakses dan memodifikasi sumber daya secara aman dan tidak aman.

Diunggah oleh

rickkonzern
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PPTX, PDF, TXT atau baca online di Scribd
0% menganggap dokumen ini bermanfaat (0 suara)
20 tayangan30 halaman

8 Materi Web Service

Dokumen tersebut membahas tentang REST service dan HTTP. Secara ringkas, REST adalah arsitektur untuk sistem terdistribusi yang menggunakan fitur HTTP secara maksimal. HTTP memiliki berbagai method seperti GET, POST, PUT, dan DELETE yang digunakan untuk mengakses dan memodifikasi sumber daya secara aman dan tidak aman.

Diunggah oleh

rickkonzern
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PPTX, PDF, TXT atau baca online di Scribd
Anda di halaman 1/ 30

Sistem Informasi Layanan Kesehatan

REST Service

Argo Wibowo, S.T., M.T

Prodi Sistem Informasi, Fak. Teknologi Informasi


Universitas Kristen Duta Wacana
Yogyakarta
2020
Pendahuluan

• Hypertext Transfer Protocol (HTTP) merupakan eleman


penting sebuah web, yang biasa kita digunakan setiap saat.
• Tetapi sesungguhnya banyak yang tidak dikenal oleh para
pengembang web tentang HTTP.
• Sebagian besar kemampuan HTTP sebenarnya belum
digunakan secara sepenuhnya, dan REST di inspirasi oleh
HTTP dan merupakan cara terbaik bagaimana HTTP
bekerja.
• Mempelajari REST harus mempelajari HTTP
Pengantar REST
• REST = Representational State Transfer
• REST adalah bentuk arsitektur software untuk sistem terdistribusi seperti
WWW.
• Cara mudah dan sederhana untuk mengatur atau mengelola interaksi
antara
berbagai sistem independen.
• Menggunakan kemampuan/fitur HTTP sebenarnya yang lebih lengkap,
tidak hanya GET.
• Tumbuh dan berkembang sejak 2005 dan menginspirasi banyak API seperti
twitter.
• REST mengijinkan kita berinteraksi, sumber daya yang minimal dengan
client.
• REST selalu dapat di implementasikan ketika disitu HTTP bisa berjalan.
http://www.adityarizki.net/web-service-soap-vs-rest-mana-yang-lebih-baik/
Apakah rest web
service?
• REST pada dasarnya setiap URL unik adalah
representasi dari beberapa objek. Kita dapat
memperoleh konten-konten objek tersebut
menggunakan HTTP GET, untuk menghapusnya,
kita dapat menggunakan POST, PUT, atau DELETE
untuk memodifikasi objek (dalam praktiknya,
kebanyakan service menggunakan POST untuk ini).
Seberapa populer
rest?
• Semua web service utma di internet sekarang
menggunakan REST: Twitter, Yahoo, termasuk
Flickr, del.icio.us, pubsub, bloglines, technorati, dan
beberapa yang lain. eBay dan Amazon menggunakan
baik REST maupun SOAP.
Bagaimana dengan
soap?
• SOAP digunakan pada aplikasi-aplikasi Enterprise
untuk mengintegrasikan penggunaan yang lebih luas
dan banyak aplikasi dan tren yang lain adalah
mengintegrasikan dengan legacy system (sistem lama
yg sudah ada sebelumnya). Dalam internet, Google
konsisten dalam mengimplementasikan web service
mereka menggunakan SOAP, kecuali Blogger yang
menggunakan XML-RPC.
konsep “SOAP to wash and your
REST when you tired”.
Keuntungan
• utama
lightweigt, tidakweb service
membutuhkan XMLREST yaitu:
markup tambahan
• hasilnya dapat dibaca dengan mudah oleh manusia
(human readable result)
• mudah untuk dikembangkan, tidak membutuhkan toolkit
• Aplikasi client atau server dengan dukungan HTTP dapat
dengan mudah memanggil service tersebut dengan
command HTTP GET.
kerugia
n
• REST bukanlah solusi terbaik untuk setiap web
service. Data yang butuh keamanan seharusnya tidak
dikirimkan sebagai parameter dalam URI. Dan data
dalam jumlah besar, seperti layanan pembelian, dapat
menjadi rumit bahkan di luar batas URI
HTTP
(1)
• Merupakan protokol yang mengijinkan pengiriman dokumen keluar
masuk melalui web.
• Protokol merupakan set aturan yang menentukan pesan mana yang
dapat dipertukarkan dan pesan mana yang cocok satu dengan yang
lain. Contoh protokol lain adalah POP3 yang bisa digunakan
untuk mengambil email ke hardisk kita.
• Didalam HTTP ada dua peran berbeda: Server dan Client.
• Pada umumnya, Client selalu mengawali koneksi (request) dan
Server akan menanggapi (response)
• HTTP berbasis text, sehingga pesan pada intinya adalah kumpulan
bit dari text, meskipun konten (body) bisa berisi berbagai media
lainnya.
HTTP
(2)
• Pesan HTTP terdiri dari Header dan Body.
• Body bisa tanpa isi (kosong), atau berisi data yang ingin di
transmisikan melalui jaringan, berdasar instruksi yang ada
di header.
• Header berisi metadata, misalnya informasi encoding.
• Dalam sebuah request, Header berisi HTTP methods yang
sangat penting.
• Dalam REST, kita akan menemukan bahwa data header
biasanya lebih penting daripada body.
Bagaimana HTTP Bekerja

• Jika menggunakan Chrome Developer Tools (Ctrl+Shift+I)


atau ekstensi Firefox Firebug, kita dapat memata-matai
(menganalisa) detail HTTP request ketika kita mengakses
URL.
cURL

• Cara lain untuk familiar dengan HTTP adalah


menggunakan client seperti cURL yang tersedia hampir di
semua platform sistem operasi.
• Download cURL : http://curl.haxx.se/ Setelah cURL
terpasang, jalankan dan ketikkan misalnya
curl -v google.com
• Akan ditampilkan komunikasi HTTP, request diawali
dengan tanda > dan respon di awali dengan <
• Tampilan akses HTTP dengan cURL :
URL
(1)
• URL = Uniform resource locator ( web address )
• URL merupakan metode bagaimana kita mengidentifikasi
'sesuatu' yang ingin kita akses/kerjakan.
• setiap URL mengidentifikasi sebuah resource (sumber daya).
Sebagai contoh URL yang mengelola client sebuah
perusahaan
• /clients
• Akan mengidentifikasi semua client perusahaan
• /clients/joko
• akan mengidentifikasi client yang bernama joko, dengan menganggap
bahwa hanya ada satu nama joko
URL
(2)
• Contoh diatas tidak menyertakan hostname URL, karena akan
menjadi tidak relevan dari titik awal bagaimana mengelola
sebuah antarmuka. Meskipun begitu hostname penting untuk
memastikan bahwa identifikasi sumberdaya (resource identifier)
selalu unik didunia web.
• Dikatakan bahwa kita melakukan request untuk sebuah resource
terhadap sebuah host.
• Host disertakan secara terpisah dari lokasi resource di Header (
resource diletakkan di kanan atas sebuah header HTTP).
• Contohnya sebagai berikut :
URL
(3)
• Contoh header sebuat HTTP request:
GET /clients/joko HTTP/1.1
Host: example.com
• Sebuah Resources bisa dikatakan sebagai nouns
(kebendaan/kata benda). Sebagai perbandingan, contoh
berikut bukan merupakan RESTful :
/clients/add
• karena resource ini menggunakan URL untuk
mendeskripsikan sebuah aksi (yaitu ‘add’). Ini dasar penting
untuk membedakan sistem RESTful dan yang bukan.
URL
(4)
• Kesimpulannya, URL seharusnya setepat mungkin, semua
resource yang perlu di identifikasikan unik harus ada di dalam
URL.
• Data yang mengidentifikasi resources di dalam request tidak
perlu disertakan, dengan begini URL bertindak sebagai mapping
yang lengkap untuk menangani semua data.
• Jika seperti itu, bagaimana mendidentifikasi sebuah Aksi?
misalnya clent ingin mendapatkan data atau ingin memasukkan
data?
• Disinilah HTTP verbs (kata kerja) berperan.
HTTP Verbs (1)
• Setiap request selalu menyertakan HTTP verbs atau metode
(methods) di Header-nya. Inilah bagian atau baris pertama
dalam sebuah header request
• GET / HTTP/1.1
• artinya metode GET digunakan, untuk mengakses root URL
• DELETE /clients/joko HTTP/1.1
• artinya metode DELETE digunakan (disini untuk menghapus client
bernama joko).
• "HTTP Verbs menginformasikan ke server apa yang harus
dilakukan dengan data yang diidentifikasikan oleh URL"
HTTP Verbs (2)

• Sebuah Request dapat pula menyertakan data


tambahan di dalam body yang mungkin diperlukan
untuk operasi, misalnya data yang akan di entry.
• HTTP verbs yang penting untuk diketahui adalah :
GET, POST, PUT dan DELETE. Metode lain
semisal HEAD dan OPTIONS juga tersedia, tetapi
jarang digunakan.
• Daftar HTTP Methods lebih lengkap di
http://www.ietf.org/rfc/rfc2616.txt
HTTP GET
• GET merupakan jenis HTTP request methods yang
paling sederhana.
• Digunakan di setiap kita membuka link di web browser,
yang menginstruksikan ke server untuk mendapatkan data
yang diidentifikasikan di URL.
• Data di server tidak seharusnya dan tidak boleh di
modifikasi dengan metode GET. Sehingga GET request
merupakan read-only.
• Client bebas melakukan operasi terhadap data yang
didapat, seperti menampilkan dengan format tertentu
HTTP PUT

• Request PUT digunakan ketika ingin membuat atau


update resource yang diidentifikasi oleh URL. Contoh
• PUT /clients/agus HTTP/1.1
• bisa di artikan untuk membuat client baru dengan nama agus
di server.
• PUT dapat menyertakan data yang digunakan untuk
mengupdate atau membuat data baru di sever.
• REST tidak menginformasikan kepada server didalam
request bagaimana data harus dibuat.
HTTP DELETE

• Request DELETE digunakan untuk operasi yang


berkebalikan dengan PUT.
• Digunakan ketika ingin menghapus resource yang
di
identifikasi oleh URL di request, misalnya
• DELETE /clients/bambang HTTP/1.1
• request ini akan menghapus data yang di identifikasi
dengan /clients/bambang.
HTTP POST
• Request POST digunakan untuk memproses data yang diserver
biasanya harus diulang-ulang. Sebagai contoh :
• POST /clients/ HTTP/1.1
• harusnya tidak membuat resource /clients/ di modifikasi, tetapi
resource yang URLnya diawali dengan /clients/. Misalnya menambah
client baru dengan ID yang di generate oleh server
• Tetapi terkadang PUT dan POST digunakan secara
berkebalikan. Meskipun biasanya POST request digunakan
untuk melakukan operasi di server yang tidak bisa dilayani
dengan Create/Update/Delete. Sehingga kebanyakan
mencukupkan diri dengan PUT.
KLASIFIKASI HTTP Methods

• Safe dan Unsafe methods


• Safe methods yang tidak memodifikasi resources, dan
hanya GET yang masuk jenis ini. Selain GET bisa
memodifikasi resources (unsafe methods)
• Idempotent methods
• Metode ini mendapatkan hasil yang sama, meski request
diulang bekali-kali. Mereka adalah GET, PUT dan
DELETE. Sedangkan POST merupakan methods non
idempotent

Anda mungkin juga menyukai