Anda di halaman 1dari 19

PENGANTAR

WEB SERVICES DAN WEB


API'S

Yafie Miftah Imani, S.Kom., M.Eng.


EVOLUSI WEB SERVICES
 Setiap website membuat skrip khusus dan program aplikasi web untuk
menangani semua logika bisnis
 Seiring waktu, beberapa pola muncul:
 Permintaan katalog item
 Menambahkan item ke keranjang belanja
 Hitung metode dan biaya pengiriman
 Menghitung pajak
 Menghasilkan Konfigurasi
 Hasilkan Kutipan
 Menyetujui pembayaran
 Menghasilkan Tanda Terima
 Menangani pertanyaan dukungan
 Dll.

 Membuat solusi khusus untuk setiap bisnis itu mahal


SISTEM TERDISTRIBUSI:
VARIASI PADA TEMA LAMA
 Contoh layanan sinkronisasi :
 Remote Procedure Calls. (RPC)
 Common Object Request Broker Architecture (CORBA)
 Distributed Component Object Model (DCOM)

 Sistem itu "rapuh" karena sering kali perubahan sepele pada suatu
layanan dapat merusak keseluruhan sistem
 Sulit untuk beroperasi di seluruh sistem operasi dan platform perangkat
keras
 Masalah keamanan jaringan
STANDARISASI WEB
SERVICES - PERSYARATAN
 Membuat Web Services
 Melihat Web Services
 Memanggil Web Services (Request)
 Menangani Web Services (Responses)
 Semua dilakukan dengan menggunakan protokol "web" (misalnya, melalui
port jaringan standar)
 Service – Oriented Architecture (SOA)
WEB SERVICE DESCRIPTION LANGUAGE
(WSDL)
 Menjelaskan kemampuan Web Services termasuk:
 Di mana Web Services berada (URL)
 Parameter input apa yang dibutuhkan Web Services
 Operasi apa (perhitungan, kueri, dll.) yang didukung Web Services
 Output apa yang dihasilkan oleh Web Services

 Ditulis sebagai Dokumen XML


 Jenis Jenis Data apa yang didukung layanan (string, angka, dll.)
 Message Bagian-bagian yang membentuk request dan response messages
 portType Menjelaskan layanan dalam hal pesan dan jenis
 Binding Menentukan lokasi layanan untuk setiap operasi

Contoh: http://www.w3schools.com/webservices/tempconvert.asmx?WSDL

 Universal Description, Discovery and Integration (UDDI)


 Digunakan untuk menemukan Web Services yang tersedia
SIMPLE OBJECT ACCESS PROTOCOL (SOAP)
 Protokol komunikasi yang digunakan untuk merakit aplikasi SOA
terdistribusi
 Bekerja dengan gaya ”Machine and OS Independent ".
 Menggunakan HTTP sebagai mekanisme transportasi yang mendasarinya
 Permintaan adalah dokumen XML
 Respon adalah dokumen XML
 Mengandung:
 Envelope : Menunjukkan apa yang ada di dalamnya adalah pesan SOAP
 Header : Menunjukkan apa yang harus diketahui penerima untuk diproses
 Body : Informasi Permintaan (atau Tanggapan).
 Fault : Dukungan penanganan Kesalahan

 Contoh:
http://www.w3schools.com/webservices/tempconvert.asmx?op=CelsiusToFahrenheit
CONTOH PESAN SOAP
<?xml version="1.0" encoding="utf-8"?>
<soap12: Amplop xmlns:xsi ="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd ="http://www.w3.org/2001/XMLSchema"
xmlns:soap12="http://www.w3.org/2003/05/soap-envelope">
<soap12:Tubuh>
< CelciusToFahrenheit xmlns = "http://www.w3schools.com/webservices/">
<Celcius>string</Celcius>
</ CelciusToFahrenheit >
</soap12:Tubuh>
</soap12: Amplop>
Cobalah:
http://www.w3schools.com/webservices/tempconvert.asmx?op=CelsiusToFahrenheit
PROTOKOL REST
 SOA yang menggunakan SOAP, WSDL, dll. Memiliki overhead yang
tinggi
 Bagaimana dengan permintaan dan tanggapan sederhana?
 REpresentational State Transfer (REST)
 Permintaan menggunakan HTTP dengan hanya 4 operasi: GET, POST, PUT,
dan DELETE
 Respons dapat berupa XML, JSON, CSV, atau teks biasa

 Dilihat sebagai alternatif lebih "ringan" untuk SOAP


 Contoh:

http://rpc.geocoder.us/service/csv?address=151+E+25th+Street+New+York+NY
DOKUMEN JSON
 JavaScript Object Notation (JSON)
 Lebih mudah diurai daripada XML
 Tentang ”lost connection" yang bisa Anda deteksi
 Objek memiliki Properti
 Properti dapat bernilai tunggal:
 String "nama" : "Joe Smith“

 Properti dapat berupa Kumpulan nilai menggunakan tanda kurung siku


 " working_on " : ["Proyek1", "Proyek2", "Proyek3" ]

 Contoh membandingkan JSON dengan XML: http://json.org/example


CONTOH DOKUMEN JSON
employee1 = {
name: {
first: "Joe", last: "Smith"
},
birth: new Date('January 5, 1972'),
compensation: {
salary: Number(48500),
bonus: Number(2500)
},
department : NumberLong(5),
projects: [ "NewBenefits",
"Payroll" ]
}
WEB API'S
 Web Application Programming Interfaces adalah kumpulan Web Services
yang dapat digabungkan ke dalam aplikasi web atau seluler
 Beberapa layanan gratis tetapi sebagian besar memerlukan pendaftaran untuk
mendapatkan "API Key" atau "Token API"
 Dokumentasi API akan menyediakan serangkaian metode dan parameter yang
dapat diterima
 Contoh:
 API Google: https://developers.google.com/apis-explorer/#p/
 API Facebook: https://developers.facebook.com/docs/graph-api/
 API Amazon: https://developer.amazon.com/public/apis
WEB API'S
 Pros:
 Memudahkan Pekerjaan developer
 Kenyamanan pengguna
 Kemampuan situs lebih powerfull

 Cons :
 Keamanan
 Ketergantungan
WEB API’S SECURITY
CONCERN
 Masalah muncul dengan bagaimana API dikodekan
 Bukan konsepnya
 Tinjau kode sebelum dirilis
 Pakar keamanan
 Uji di berbagai platform dan browser
 Pengembang - sertakan cara memandu dalam
dokumentasi
 Pengembangan - seimbangkan kecepatan dengan
perhatian terhadap detail
STATUS CODES
- 1xx: informational
- 2xx: Success
- 3xx: Redirection
- 4xx: Client Error
- 5xx: Server Error
WEB API'S FACEBOOK
 Alat Penjelajah API Grafik Facebook:
https://developers.facebook.com/tools/explorer/
WEB API'S FACEBOOK
 Dapatkan token akses
 Pilih Izin (jika perlu, masuk ke Facebook)
WEB API'S FACEBOOK
 Kueri REST
 Tampilkan semua tentang pengguna: /826693880709096?
 Tunjukkan Segalanya tentang saya: / saya?
WEB API'S FACEBOOK
 Hanya tampilkan nama sekolah yang mengikuti pendidikan: me?
fields =education{school{name}}
BANDINGKAN PENDEKATAN
Klien Protokol Tanggapan Melayani
Permintaan
Peramban HTTP HTML Spesifik Aplikasi
Web
Web XML SOAP XML SOAP Layanan Tujuan Umum
Services
Web REST XML, JSON, Layanan Tujuan Umum
Services CSV

Anda mungkin juga menyukai