13
3.1 WEB SERVICE Web service adalah kumpulan dari fungsi atau method yang terdapat pada sebuah server yang dapat dipanggil oleh klien dari jarak jauh. Web service sangat berbeda dengan website, perbedaan yang paling terlihat adalah website dibuat untuk memiliki tampilan atau user interface yang bagus sedangkan Web servive tidak memiliki tampilan. Web service tidak dibuat untuk berinteraksi langsung dengan user. Sesuai dengan kata service yang ada pada namanya, Web service hanya menyediakan service atau layanan. Layanan tersebut yang kemudian akan digunakan atau dipanggil oleh aplikasi lainnya. Sebuah Web service dapat dipanggil oleh aplikasi lain dengan menggunakan bantuan HTTP (Hypertext Transfer Protocol). Web service juga memungkinkan untuk dipanggil dengan menggunakan protocol lain seperti SMTP (Simple Mail Transfer Protocol), namun yang paling umum digunakan adalah HTTP. 12

Teori Web Service

Embed Size (px)

DESCRIPTION

qweqw

Citation preview

3.1 WEB SERVICE

Web service adalah kumpulan dari fungsi atau method yang terdapat pada sebuah server yang dapat dipanggil oleh klien dari jarak jauh. Web service sangat berbeda dengan website, perbedaan yang paling terlihat adalah website dibuat untuk memiliki tampilan atau user interface yang bagus sedangkan Web servive tidak memiliki tampilan. Web service tidak dibuat untuk berinteraksi langsung dengan user. Sesuai dengan kata service yang ada pada namanya, Web service hanya menyediakan service atau layanan. Layanan tersebut yang kemudian akan digunakan atau dipanggil oleh aplikasi lainnya.

Sebuah Web service dapat dipanggil oleh aplikasi lain dengan menggunakan bantuan HTTP (Hypertext Transfer Protocol). Web service juga memungkinkan untuk dipanggil dengan menggunakan protocol lain seperti SMTP (Simple Mail Transfer Protocol), namun yang paling umum digunakan adalah HTTP.

World Wide Web Consortium (W3C) adalah organisasi yang mengembangkan standar standar dalam dunia web, mendefinisikan Web service sebagai perangkat lunak system yang dirancang untuk mendukung interaksi antara mesin dengan mesin melalui jaringan. Dengan demikian Web service merupakan aplikasi yang dibuat agar dapat dipanggil atau diakses oleh aplikasi lain melalui internet maupun intranet dengan menggunakan XML sebagai format pengiriman pesan. (Lucky, 2008)Komponen web service yaitu :

a. Extensible Markup Language (XML)

XML merupakan dasar yang penting atas terbentuknya Web Services. Web Services dapat berkomunikasi dengan aplikasi-aplikasi yang memanggilnya dengan menggunakan XML, karena XML berbentuk teks sehingga mudah untuk ditransportasikan menggunakan protokol HTTP. Selain itu, XML juga bersifat platform independen sehingga informasi di dalamnya bisa baca oleh aplikasi apapun pada platform apapun selama aplikasi tersebut menerjemahkan tag-tag XML. Kesimpulannya adalah apabila Web Services dan aplikasi dianggap sebagai manusia yang berbeda ras dan bahasa, maka XML adalah sebuah bahasa universal yang dapat mempersatukan mereka digunakan untuk saling berkomunikasi dan bertukar informasi.

b. Simple Object Access Protocol (SOAP)

XML saja tidak cukup agar Web Services dapat berkomunikasi dengan aplikasi yang lainya. XML yang digunakan untuk saling bertukar informasi antara Web services dengan aplikasi yang lainya harus menggunakan sebuah format standard yang dapat dimengerti oleh keduaya. Format itulah yang dikenal dengan nama SOAP.

SOAP (Simple Object Access Protocol) merupakan suatu format standard dokumen berbentuk XML yang digunakan untuk melakukan proses request dan responses antara web services dengan aplikasi yang memanggilnya. Dokumen SOAP digunakan untuk melakukan request disebut dengan SOAP request sedangkan dokumen SOAP yang diperoleh dari Web Services disebut dengan SOAP responses.c. Web Service Definition Language (WSDL)

Sebelum mengakses sebuah Web Services pastinya perlu mengetahui method-method apa saja yang disediakan oleh Web Services tersebut, untuk mengetahuinya memerlukan sebuah dokumen yang bernama WSDL. WSDL (Web Services Description Language) adalah sebuah dokumen dalam format XML yang isinya menjelaskan informasi detail sebuah Web Services. Di dalam WSDL dijelaskan method-method apa saja yang tersedia dalam Web Services, parameter apa saja yang diperlukan untuk memanggil sebuah method, dan apa hasil atau tipe data yang dikembalikan oleh method yang dipanggil tersebut. (Gita Indah Marthasari, Aminudin dan Yuda Munarko, 2009)3.1.1 Arsitektur Web ServiceSecara umum, arsitektur Web service dapat dilihat pada gambar 3.1

Gambar 3.1 Arsitektur Web servicePada gambar diatas, ada tiga komponen yang membuat Web service berjalan. Ketiga komponen itu adalah:1. Service provider, merupakan pemilik Web service yang berfungsi menyediakan kumpulan operasi dari Web service.

2. Service requestor, merupakan aplikasi yang bertindak sebagai klien dari Web service yang mencari dan memulai interaksi terhadap layanan yang disediakan.

3. Service registry, merupakan tempat dimana Service provider mempublikasikan layanannya. Pada arsitektur Web service, Service registry bersifat optional. Teknologi web service memungkinkan kita dapat menghubungkan berbagai jenis software yang memiliki platform dan sistem operasi yang berbeda.

3.2 JSON

Dari www.wikipedia.org, JSON (dilafalkan "Jason"), singkatan dari JavaScript Object Notation (bahasa Indonesia: notasi objek JavaScript), adalah suatu format ringkas pertukaran data komputer. Formatnya berbasis teks dan terbaca-manusia serta digunakan untuk merepresentasikan struktur data sederhana dan larik asosiatif (disebut objek). Format JSON sering digunakan untuk mentransmisikan data terstruktur melalui suatu koneksi jaringan pada suatu proses yang disebut serialisasi. Aplikasi utamanya adalah pada pemrograman aplikasi web AJAX dengan berperan sebagai alternatif terhadap penggunaan tradisional format XML.

Berbeda dengan XML, JSON (Obyek Notasi JavaScript) dirancang lebih ringan dan format bahasa yang independent serta interchange yang mudah untuk diuraikan, dan jauh lebih kompleks dibandingkan dengan XML. JSON memiliki dukungan asli yang tidak hypermedia, juga tidak mendukung namescape atau penjelasn semantic. Ada berbagai usulan untuk mengatasi kekurangan ini dan semua memiliki kesamaan yaitu menetapkan satu set cadangan kunci-kata untuk mengungkapkan aspek-aspek tertentu seperti misalnya hyperlink. (Markus Lanthaler dan Christian Gtl, 2012)

Walaupun JSON didasarkan pada subset bahasa pemrograman JavaScript (secara spesifik, edisi ketiga standar ECMA-262, umumnya digunakan dengan bahasa tersebut, JSON dianggap sebagai format data yang tak tergantung pada suatu bahasa. Kode untuk pengolahan dan pembuatan data JSON telah tersedia untuk banyak jenis bahasa pemrograman. Situs json.org menyediakan daftar komprehensif pengikatan JSON yang tersedia, disusun menurut bahasa. Format JSON dispesifikasikan di RFC 4627 oleh Douglas Crockford. Tipe media Internet resmi JSON adalah application/json sedangkan ekstensi berkasnya adalah .json.

Contoh sintaks:

Contoh berikut menunjukkan representasi JSON untuk suatu objek yang mendeskripsikan seseorang.

{

"namaDepan": "Budi",

"namaBelakang": "Subudi",

"alamat": {

"namaJalan": "Jl. Sudirman 15A",

"kota": "Jakarta Selatan",

"provinsi": "DKI Jakarta",

"kodePos": 11111

},

"nomerTelepon": [

"021 555-1234",

"021 555-4567"

]

}

3.3 REST

REST, singkatandarirepresentational statetransferatautransfer keadaan representasi, adalah suatu gayaarsitektur perangkat lunakuntuk untuk pendistibusian sistem hipermediasepertiWWW. Istilah ini diperkenalkan pertama kali pada tahun2000pada Istilah ini selanjutnya dipergunakan secara luas pada komunitas jaringan. REST secara spesifik merujuk pada suatu koleksi prinsip-prinsiparsitektur jaringanyang menggariskan pendefinisian dan pengalamatan sumber daya. Istilah ini sering digunakan dengan longgar untuk mendeskripsikan semua antarmuka sederhana yang menyampaikan data dalam domain spesifik melalui HTTP tanpa tambahan lapisan pesan sepertiSOAPataupelacakan sesimenggunakancookieHTTP.

Menurut ROY T. FIELDING dan RICHARD N. TAYLOR dari Universitas California (2002) Edisi pertama REST dikembangkan antara Oktober 1994 dan Agustus Tahun 1995, terutama sebagai sarana untuk mengkomunikasikan konsep Web ketika dikembangkan. REST awalnya disebut sebagai "HTTP objek model," namun sering menyebabkan kesalahpahaman sebagai implementasi Model HTTP server. REST dimaksudkan untuk memunculkan gambaran bagaimana sebuah aplikasi designe Web berperilaku membentuk mesin virtual, yang memungkinkan pengguna untuk mengetahui perkembangan aplikasi dengan memilih link atau menyampaikan bentuk entri data yang singkat, dengan masing-masing tindakan yang membentuk transisi ke keadaan berikutnya aplikasi dengan mentransfer representasi untuk pengguna.

Gaya Representational State Transfer (REST) adalah abstraksi dari elemen arsitektural di dalam system hypermedia yang terdistribusi. Perry dan Wolf [1992] membedakan tiga kelas komponen arsitektural: komponen pemrosesan, komponen data, dan komponen penghubung (atau konektor). REST menolak detail implementasi komponen dan sintaks protocol dengan tujuan untuk berfokus pada komponen, membuang hambatan dalam interaksi dengan komponen lainnya, dan interpretasinya terhadap elemen data signifikan. Hal tersebut meneguhkan habatan fundamental pada komponen, konektor, dan data yang menentukan dasar arsitektur Web, dan esensi dari perilakunya sebagai aplikasi berbasis jaringan. Menggunakan kerangka kerja arsitektural perangkat lunak dari Perry dan Wolf [1992], pertama kita menentukan elemen arsitektural REST dan kemudian mengukur proses sampel, konektor, dan gambaran data dari arsitektur prototipikal untuk membangun pemahaman yang lebih baik mengenai prinsip desain REST.

REST menggunakan pengidentifikasi sumber untuk mengidentifikasi sumber tertentu yang terlibat dalam interaksi antar-komponen. Konektor REST menyediakan penghubung generik untuk mengakses dan memanipulasi seperangkat nilai, terlepas dari cara bagaimana fungsi keanggotaan ditentukan atau jenis perangkat lunak yang mengatur permintaan. Otoritas penamaan yang menandai pengidentifikasi sumber, membuat mungkin untuk mencari referensi sumber, bertanggung jawab untuk mempertahankan validitas semantik dari pemetaan sepanjang waktu (missal, memastikan bahwa fungsi keanggotaan tidak berubah ketika nilainya berubah).

Komponen REST dikategorikan berdasarkan perannya dalam tindakan aplikasi keseluruhan. Berbeda dengan gaya objek terdistribusi [Chin dan Chanson 1991], di mana semua data dikemas dalam dan tersembunyi oleh komponen pengolahan, sifat dan keadaan unsur data arsitektur merupakan aspek kunci dalam REST. Alasannya untuk desain ini dapat dilihat dalam sifat distributed hypermedia.15