Home Web Pengenalan Web Services /Web API

Pengenalan Web Services /Web API

914

Application Programming Interface atau API merupakan sebuah interface yang berperan untuk menghubungkan suatu aplikasi/mesin dengan aplikasi/mesin lainnya. API berfungsi untuk memudahkan kerja developer dalam mengembangkan software.

Web services adalah layanan API berbasis web, yaitu menggunakan protokol http atau ftp.

Layanan web memiliki antarmuka, yang menyembunyikan detail implementasi sehingga dapat digunakan secara terpisah dari platform perangkat keras atau perangkat lunak yang digunakannya, dan secara terpisah dari bahasa pemrograman yang digunakan.

Kemandirian ini mendorong aplikasi berbasis layanan web untuk loosely coupled, berorientasi komponen, implementasi lintas-teknologi. Layanan web dapat digunakan sendiri atau dengan layanan web lainnya untuk melakukan agregasi kompleks atau transaksi bisnis.

Sebuah Web service dapat didefinisikan sebagai berikut :

  • Aplikasi client-server atau komponen aplikasi untuk komunikasi.
  • Metode komunikasi antara dua perangkat melalui jaringan.
  • Sistem perangkat lunak untuk komunikasi antar mesin ke mesin.
  • Kumpulan standar atau protokol untuk bertukar informasi antara dua perangkat atau aplikasi.

Seperti yang terlihat pada gambar diatas, aplikasi Java, .net, dan PHP dapat berkomunikasi dengan aplikasi lain melalui layanan web melalui jaringan. Misalnya, aplikasi Java dapat berinteraksi dengan aplikasi Java, .Net, dan PHP. Jadi layanan web adalah cara komunikasi bahasa yang independen.

Jenis-jenis Web Services

Pada umumnya ada 2 jenis web services.

  1. SOAP web services
  2. RESTful web services

SOAP Web Services

SOAP, memiliki kepanjangan Simple Object Access Protocol, adalah sebuah spesifikasi protokol untuk pertukaran pesan/informasi terstruktur dalam implementasi web servis di jaringan komputer. SOAP menggunakan Extensible Markup Language (XML) sebagai format pesannya, dan biasanya bergantung pada protokol layer aplikasi lainnya, terutama Hypertext Transfer Protocol (HTTP) dan Simple Mail Transfer Protocol (SMTP), untuk transmisi dan negosiasi pesan.

REpresentational State Transfer (REST) adalah sebuah arsitektur software untuk sistem terdistribusi semisal web. REST telah berkembang sebagai model desain web servis yang dominan saat ini. Istilah representational state transfer dikenalkan dan didefinisikan pada tahun 2000 oleh Roy Fielding dalam desertasi doktoralnya. Beliau merupakan salah satu penulis utama spesifikasi HTTP versi 1.0 dan 1.1. Sesuai konstrainnya, REST biasa disebut dengan “RESTful”.

Perbedaan SOAP dan REST

UraianSOAPREST
Protokol komunikasiHTTP, HTTPS, SMTP, FTPHTTP, HTTPS
Penggunaan bandwidthDalam jumlah request yang banyak, relatif boros bandwidth. Hal ini karena banyaknya markup dalam penulisan format XMLRelatif hemat bandwidth, karena markup-markup ekstra seperti pada XML tidak dipakai
Tren penggunaanBanyak mulai beralih ke REST, meski masih tetap ada yang mempertahankan, misalnya untuk integrasi aplikasi ke sistem legasi pada sebuah perusahaan.Mulai populer, banyak dipakai oleh penyedia web servis terkemuka, seperti twitter, yahoo!, flickr,bloglines, technorati, google, amazon, eBay, dsb
Aturan penulisanKetat, mengikuti spesifikasi XML (SOAP v1.2)Tidak ada spesifikasi khusus
Format responXML dengan spesifikasi SOAP. Agak sulit bagi kita untuk membaca langsung dan memahaminya.XML, JSON, atau format plain teks lainnya. Hal ini memudahkan penerima respon membaca dan memahaminya.
Attachment fileBisa (karena dapat mengembalikan respon dalam format binary)Tidak bisa
Sifat web servis pada umumnyaTertutup, lebih ditujukan untuk vendor atau perusahaan tertentTerbuka, bisa diakses siapa saja
Caching webRelatif sulitMudah, karena menggunakan URI
Penggunaan standarStandar lama (XML, HTTP) dan baru (SOAP) digunakan bersamaanStandar yang sudah ada, seperti XML dan HTTP
Tool pengembanganBanyak, baik komersial maupun opensourceBeberapa, karena tidak begitu dibutuhkan
Tool manajemenPerlu, bahkan kadang harganya mahalMenggunakan tool yang sudah ada pada sistem jaringan
EkstensibelBisa, banyak ekstensi termasuk standar WS-*Relatif tidak ekstensibel
Kemudahan implementasiMudah jika kita sudah memiliki lingkungan berbasis SOAPMudah

Daftar Pustaka

https://socs.binus.ac.id/2019/12/26/pengenalan-web-services/

https://www.ibm.com/support/knowledgecenter/en/SSGMCP_5.2.0/com.ibm.cics.ts.webservices.doc/concepts/dfhws_definition.html

https://www.javatpoint.com/what-is-web-service

http://pusdiklat.bps.go.id/index.php?r=artikel/view&id=206

LEAVE A REPLY

Please enter your comment!
Please enter your name here