Langsung ke konten utama

Web Service

Web Services

Web Service Client in Spring Boot - Ankit Lohani - Medium

Web services adalah mekanisme komunikasi dua aplikasi/mesin terlepas dari arsitektur dan teknologi yang digaribawahi.

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.

SOAP web services

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

Uraian

SOAP

REST

Protokol komunikasi

HTTP, HTTPS, SMTP, FTP

HTTP, HTTPS

Penggunaan bandwidth

Dalam jumlah request yang banyak, relatif boros bandwidth. Hal ini karena banyaknya markup dalam penulisan format XML

Relatif hemat bandwidth, karena markup-markup ekstra seperti pada XML tidak dipakai

Tren penggunaan

Banyak 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 penulisan

Ketat, mengikuti spesifikasi XML (SOAP v1.2)

Tidak ada spesifikasi khusus

Format respon

XML 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 file

Bisa (karena dapat mengembalikan respon dalam format binary)

Tidak bisa

Sifat web servis pada umumnya

Tertutup, lebih ditujukan untuk vendor atau perusahaan tertent

Terbuka, bisa diakses siapa saja

Caching web

Relatif sulit

Mudah, karena menggunakan URI

Penggunaan standar

Standar lama (XML, HTTP) dan baru (SOAP) digunakan bersamaan

Standar yang sudah ada, seperti XML dan HTTP

Tool pengembangan

Banyak, baik komersial maupun opensource

Beberapa, karena tidak begitu dibutuhkan

Tool manajemen

Perlu, bahkan kadang harganya mahal

Menggunakan tool yang sudah ada pada sistem jaringan

Ekstensibel

Bisa, banyak ekstensi termasuk standar WS-*

Relatif tidak ekstensibel

Kemudahan implementasi

Mudah jika kita sudah memiliki lingkungan berbasis SOAP

Mudah


Komentar