8/18/2019 Restfull Webservice
1/30
R.E.S.T
Representational State Transfer
8/18/2019 Restfull Webservice
2/30
Pendahuluan
•
Teknologi web services dapat dimanfaatkan untuk mendistribusiyang terdapat dalam sistem manajemen database melalui progryang berfungsi sebagai Antarmuka Aplikasi Web (WebA!"#.
• !eran Antarmuka Aplikasi Web ini adala$ sebagai peng$ubung aAplikasi Web (Website%!ortal# dengan suatu database sertamenterjema$kan format data dari suatu sistem manajemen datake dalam format data &' untuk didistribusikan melalui Web Ser
•Antarmuka Aplikasi Web dapat terdiri dari metode%fungsi%prosedpendistribusian data lebi$ dari satu) dimana saat koneksi dilakuksuatu Aplikasi Web kepada WebA!" $arus ditentukan secara jelamana yang akan diproses.
8/18/2019 Restfull Webservice
3/30
Pendahuluan
•
Selain itu suatu Aplikasi Web yang berada di lokasdapat membaca data melalui WebA!" tanpa $aru jenis dan format data sumbernya.
• *oneksi yang dilakukan Aplikasi Web (Website%!ormenuju WebA!" dapat menggunakan sumberdayakoneksi yang disediakan masingmasing ba$asapemrograman) conto$nya +,R) -penSocket) S-A+lient.
8/18/2019 Restfull Webservice
4/30
PENDAHULUAN
•
'etode yang dapat dibentuk dan disediakan pada setiaptergantung pada jenis framework yang digunakan) diantadala$ S-A! dan RESTfull.
• *eduanya memiliki kemampuan untuk menterjema$kandata ke dalam format &'.
• amun S-A! lebi$ ditujukan kepada penggunaan aplika
yangpengembangannya lebi$ tertutup) sementara RESTfull dkepada penggunaan aplikasi yang tidak terikat pada suavendor yang pengembangannya dapat lebi$ terbuka.
8/18/2019 Restfull Webservice
5/30
Representational State Trans(REST)
•
'erupakan arsitektur software untuk distribusi$ypermedia diantaranya Word Wide Web
• "stila$ REST pertama kali diperkenalkan dandide/nisikan pada ta$un 0111 ole$ Roy T 2ieldindisertasi doktoral
•Sala$ satu karakterisktik dari REST2ull Web Servadala$ 3TT!) protokol yang digunakan lebi$ 415browser untuk mengakases server
8/18/2019 Restfull Webservice
6/30
Representational State Tran(REST)•
Selanjutnya adala$ penggunaan standard 3TT! diantaranya
• !-ST untuk membuat sumberdaya (resource# pada se
• 6ET untuk menerima sumberdaya.
• !,T untuk meruba$ atau memperba$arui sumberday
• 8EETE untuk meng$apus sumberdaya.
8/18/2019 Restfull Webservice
7/30
+onto$ !enggunaan 3ttp yang
•
9erikut dua conto$ penggunaan met$od yang berbeda dengameng$asil$an efek samping yang sama.• 6ET %$apususer:nama;aisgo 3TT!%
8/18/2019 Restfull Webservice
8/30
S-A! =S REST (+-T-3!E66,AA#S-A! adala$ protokol untuk mengirim%menerima data melalui 3TT! da
&'. S-A! tergantung pada sintaks yang dide/nisikan pada WS8(We8escription anguage#.+onto$>
3ttp !-ST ke aisgo.com%produk.asm?%istAll!roducts @ mengembalikan &' da
3ttp !-ST ke aisgo.com%produk.asm?%6et!roduct @ mengembalikan &' produ
berdasarkan pada S-A! &' dalam konten yang di!-ST
3ttp !-ST ke aisgo.com%produk.asm?%,pdate!roduct @ menguba$ produk berdS-A! &'dalam konten yang di!-ST
8/18/2019 Restfull Webservice
9/30
WS8(Web Services 8escriptionanguage#•
WS8 merupakan kependekan dari Web Service8escription anguage.
• WS8 adala$ ba$asa berbasis &' untukmendeskripsikan Web services dan bagaimana umengaksesnya.
•WS8 membantu konsumer web service untukmemakai%menggunakan layanan web service.
• Tanpa WS8 web service akan terkunci dan tidaberguna. WS8 menspesi/kasikan lokasi serviceoperasi (met$ods# yang disediakan ole$ web ser
8/18/2019 Restfull Webservice
10/30
S-A! =S REST (+-T-3!E66,AA#
RESTfull lebi$ cenderung pada pembentukan semetode yang Anda inginkan menggunakan ,R browser.+onto$>3ttp 6ET dari aisgo.com%produk @ mengembalikan &'
S- daftar semua produk3ttp 6ET dari aisgo.com%produk%
8/18/2019 Restfull Webservice
11/30
SOAP VS REST
•
Terminoloi
• S-A! adala$ Simple -bject Access !rotocol
• 3TT! berbasis A!" berarti A!" yang diekspos sebagai sala$ satu a3TT! ,R" dan respon berupa &'%S-. Skema respon dapat dikuntuk setiap objek
• REST pada sisi yang lain menamba$kan sebua$ elemen untukmenggunakan ,R" standar) dan juga memberikan kepentingan kpenggunaan 3TT! (seperti 6ET%!-ST%!,T) dsb.#
8/18/2019 Restfull Webservice
12/30
8/18/2019 Restfull Webservice
13/30
8/18/2019 Restfull Webservice
14/30
SOAP VS REST
• !erusa$aanperusa$aan yang menggunakan REST A!" belum banyakmereka gunakan kebanyakan muncul barubaru ini.
• REST sesunggu$nya adala$ aturan untuk membuat web service.
• *euntungan utama web service REST yaitu>lig$tweigt) tidak membutu$kan &' markup tamba$an$asilnya dapat dibaca dengan muda$ ole$ manusia ($uman readablmuda$ untuk dikembangkan) tidak membutu$kan toolkit
• S-A! juga mempunyai beberapa kelebi$an>muda$ untuk dikonsumsi (kadangkadang#rigid (lebi$ kaku%ketat#) dalam typec$ecking) $arus mematu$i aturamembutu$kan tools pengembangan
8/18/2019 Restfull Webservice
15/30
SOAP VS REST
•
Penggunaan Bandwidth – REST lebih ringan• *euntungan lain dari antarmuka RESTful adala$ reBuest dan
dapat dipendekkan.
• S-A! membutu$kan &' wrapper untuk setiap reBuest dan
• Sekali saja namespace dan penulisan dideklarasikan) empatdigit stock Buote dalam respon S-A! bisa membutu$kan leb
sepulu$ kali lipat sebanyak bytebyte respon yang sama ketdiimplementasikan menggunakan REST.
8/18/2019 Restfull Webservice
16/30
SOAP VS REST
• Security • S-A! menegaskan ba$wa untuk mengirimkan remote procedure calls (R!+# melalui po
3TT! adala$ cara yang baik untuk memastikan dukungan web service melalui aturanaada.
• !anggilanpanggilan REST juga dapat melalui 3TT! atau 3TT!S) tetapi dengan REST) a(/rewall# dapat membedakan maksud dari setiap pesan dengan menganalisis perinta$digunakan saat reBuest.
• Sebagai conto$) reBuest 6ET selalu dianggap aman karena ia tidak dapat memodi/kaapapun. 8an itu $anya dapat mengBuery kan data.
•
ReBuest S-A! secara tipikal akan menggunakan !-ST untuk mengkomunikasi dengandiberikan. 8an tanpa meli$at envelope S-A! (tugas yang digunakan untuk mengkonsudan tidak disertakan pada kebanyakan /rewall# tidak ada cara untuk mengeta$ui apaktersebut $anya ingin mengBuery data atau meng$apus seluru$ tabel dari database.
• Adapun untuk otentikasi dan otorisasi) S-A! menempatkan beban pada pengembang
8/18/2019 Restfull Webservice
17/30
!enggunaan REST pada !3!(inde?.!3!#
8/18/2019 Restfull Webservice
18/30
!enggunaan REST pada !3!(inde?.!3!#
8/18/2019 Restfull Webservice
19/30
!enggunaan REST pada !3!(inde?.!3!#
8/18/2019 Restfull Webservice
20/30
!enggunaan REST pada !3!(*oneksi.!3!#
8/18/2019 Restfull Webservice
21/30
!enggunaan REST pada !3!(book.!3!#
8/18/2019 Restfull Webservice
22/30
!enggunaan REST pada !3!(book.!3!#
8/18/2019 Restfull Webservice
23/30
!enggunaan REST pada !3!(book.!3!#
8/18/2019 Restfull Webservice
24/30
!enggunaan REST pada !3!(book.!3!#
8/18/2019 Restfull Webservice
25/30
!enggunaan REST pada !3!(book.!3!#
8/18/2019 Restfull Webservice
26/30
!enggunaan REST pada !3!(tamba$.!3!#
8/18/2019 Restfull Webservice
27/30
!enggunaan REST pada !3!(tamba$.!3!#
8/18/2019 Restfull Webservice
28/30
8/18/2019 Restfull Webservice
29/30
!enggunaan REST pada !3!(delete.!3!#
8/18/2019 Restfull Webservice
30/30
T,6AS
•
Tamba$kan 'et$od edit• 9uat conto$ Rest dalam ba$asa pemograman s
!3!• 'asingmasing kelompok $arus berbeda
• ika ada kelompok yg sama maka topik $arus berbed