Jurnal Web Service - Metode Rest

download Jurnal Web Service - Metode Rest

of 6

description

Jurnal Web Service - Metode Rest

Transcript of Jurnal Web Service - Metode Rest

  • PERKEMBANGAN ANTARA WEB SERVICE YANG MENGGUNAKAN

    PROTOCOL SOAP DAN REST

    Nurasanah

    110155201072

    Jln.Sultan Mahmud, no 57,Tanjungpinang,Kepri 29121

    Emaili: [email protected]

    Mahasiswa Program S1 Teknik Informatika ,FT, UMRAH

    ABSTRAK

    Web services memungkinkan dua buah aplikasi untuk saling berkomunikasi meskipun aplikasi tersebut berbeda

    platform. Dengan menggunakan web services, aplikasi Java dapat menggunakan layanan yang diberikan oleh aplikasi

    berbahasa pemrograman lain. Dengan menggunakan web service, maka kita dapat mempublish function, procedure,

    message dan lain-lain melalui jaringan internet atau intranet. Dasar dari Web Service adalah XML dan HTTP. Ada

    terdapat dua standard protocol yang digunakan dalam komunikasi data di web service yaitu SOAP Based Service dan

    REST Based Service. Yang mana masing- masing protocol memiliki keunggulan dan kelemahan. Jika anda ingin

    membuat suatu web service yang memuaskan, anda dapat memutuskan dengan baik protocol apa yang harus anda

    gunakan.

    Kata kunci : SOAP, REST, Web service

    1. PENDAHULUAN

    Beberapa waktu akhir-akhir ini, web service

    menjadi semakin populer bagi para pengembang

    aplikasi. Teknologi web service merupakan salah satu

    cara setiap fungsi bisnis untuk berkomunikasi. Bukan

    seperti model client/server tradisional, seperti web

    server atau sistem laman web, Web service tidak

    menyediakan GUI untuk para pengguna. Web service

    hanya menyediakan business logic, proses, dan data

    dalam antarmuka pemrograman antar jaringan [1].

    Web services tidak memerlukan browser atau

    HTML. Sehingga berikutnya Web service dapat

    ditambahkan ke sebuah GUI (seperti laman web atau

    aplikasi desktop). Web service adalah sebuah sofware

    aplikasi yang tidak terpengaruh oleh platform, ia akan

    menyediakan method-method yang dapat diakses oleh

    network. Ia juga akan menggunakan XML untuk

    pertukaran data, khususnya pada dua entities bisnis

    yang berbeda. Adapun pengertian lain dari Web

    Service Web service adalah sistem software yang

    dirancang untuk mendukung interopabilitas mesin-ke-

    mesin yang dapat berinteraksi melalui jaringan. Web

    service memiliki antarmuka yang dijelaskan dalam

    format mesin-processable (khusus WSDL). Sistem

    lain berinteraksi dengan Web service dalam cara

    ditentukan oleh deskripsi dengan menggunakan pesan

    SOAP, biasanya disampaikan menggunakan HTTP

    dengan serialisasi XML dalam hubungannya dengan

    Web lainnya yang terkait standar Jadi pada dasarnya,

    dengan memahami ketiga komponen tersebut

    sebenarnya pembuatan web service itu relatif sangat

  • mudah, jika kita sudah memahami bagaimana

    membuat aplikasi website [.

    Web Services digunakan pada saat kita akan

    mentransformasi sebuat bisnis logik dan object yang

    terpisah dalam satu ruang lingkup yang menjadi satu

    (dalam sebuah institusi), sehingga tingkat keamanan

    data dapat ditangani dengan baik. Selain itu Web

    Service juga lebih mudah dalam process

    deploymentnya, karena tidak memerlukan registrasi

    khusus ke dalam sistem operasi. Web Service cukup

    diupload ke Web Server dan siap diakses oleh pihak-

    pihak yang telah diberikan otorisasi. Web Service

    berjalan di port 80 yang merupakan protokol standar

    HTTP, dengan demikian mengurangi resiko terblokir

    oleh firewall. Kendala arsitektur COM/DCOM adalah

    memerlukan konfigurasi khusus di sisi firewall,

    dan ini tidak perlu dilakukan untuk mengakses Web

    Service. Beberapa vendor luar negeri mulai

    berkolaborasi satu sama lain dengan konsep web

    services , diantaranya : IBM, Microsoft , SUN ,

    ORACLE Diantaranya contoh web services yang

    sudah jadi dan dipakai adalah web services keluaran

    Microsoft ( Microsoft Passport ) web services untuk

    user name dan password yang sudah dipasang di web

    site Microsoft dan HOTMAIL.

    2. PEMBAHASAN

    Saat ini terdapat dua tipe Web Service yaitu SOAP

    Based Service dan REST Based Service. Saya akan

    membahas tentang SOAP terlebih dahulu.

    SOAP (Simple Object Access Protocol)

    adalah sebuah XML-based mark-up language untuk

    pergantian pesan diantara aplikasi-aplikasi. SOAP

    berguna seperti sebuah amplop yang digunakan untuk

    pertukaran data object didalam network. SOAP

    mendefinisikan empat aspek didalam komunikasi:

    Message envelope, Encoding, RPC call convention,

    dan bagaimana menyatukan sebuah message didalam

    protokol transport. Proses layanan dengan arsitektur

    SOAP memiliki tiga komponen utama, yaitu: service

    provider, service requester, dan service broker. Dan

    komponen pendukung yaitu: XML, SOAP-XML

    (terdiri atas header dan body), 3WSDL, serta UDDI.

    Soap mempunyai tiga karakteristik, yaitu

    Extensibility

    Security dan WS-routing adalah beberapa

    ekstension yang dapat digunakan sebagai

    security web service yang masih dalam tahap

    development.

    Neutrality

    SOAP dapat digunakan pada berbagai

    transport protocol seperti HTTP, SMTP, TCP

    atau JMS (Java Messaging Service).

    Independence

    SOAP dapat diprogram pada berbagai bahasa

    pemograman.

    Contoh bagaimana prosedur SOAP dapat

    digunakan suatu pesan SOAP dapat dikirimkan ke

    suatu website yang mendukung web service, seperti

    database harga real-estate, dengan parameter yang

    diperlukan untuk pencarian. Site tersebut kemudian

    akan mengembalikan dokumen dalam format XML

    dengan data hasil, contoh : harga, lokasi, fiturs.

    Dengan data hasil yang berupa suatu standard yang

    dapat di parsing, data tersebut kemudian dapat

    diintegrasikan secara langsung dengan website atau

    aplikasi pihak ketiga

  • Pesan SOAP berbentuk seperti sebuah

    envelope yang berisi header (optional) dan body

    (required), seperti ditunjukkan pada gambar. Header

    berisi blok informasi yang berhubungan dengan

    bagaimana pesan tersebut diproses. Hal ini meliputi

    pe-routingan dan delivery setting, authentication atau

    authorization assertions, and transaction contexts.

    Body berisi pesan sebenarnya yang dikirim dan

    diproses. Semua yang dapat ditampilkan dengan

    sintaks XML dapat dimasukkan dalam pesan body.

    [2]

    Ada beberapa rules (peraturan) didalam membuat

    SOAP message (Pesan) :

    Sebuah pesan SOAP harus di encoding

    menggunakan XML

    Sebuah pesan SOAP harus menggunakan

    SOAP Envelope Namespace

    Sebuah pesan SOAP harus menggunakan

    SOAP encoding namespace

    Sebuah pesan SOAP TIDAK harus berisi

    referensi DTD

    Sebuah pesan SOAP TIDAK harus berisi

    XML Processing Instructions

    Kelebihan SOAP

    SOAP cukup fleksibel untuk memungkinkan

    penggunaan protokol transport yang berbeda.

    Stack standar menggunakan HTTP sebagai

    protokol transport, tetapi protokol lainnya

    seperti JMS dan SMTP juga bisa digunakan.

    Karena terowongan Model SOAP baik di

    HTTP model get / respon, dapat dengan

    mudah melalui firewall dan proxy, tanpa

    modifikasi protokol SOAP, dan dapat

    menggunakan infrastruktur yang ada.

    dirancang untuk menangani lingkungan

    komputasi terdistribusi

    merupakan standar yang berlaku untuk web

    servis, sehingga mempunyai dukungan yang

    lebih baik dari standar yang lain (WSDL,

    WS-*) dan tools dari berbagai vendor

    built-in error handling (faults)

    extensibility

    Gambar. Struktur SOAP

  • Kekurangan SOAP

    Karena format XML yanb verbose, SOAP bisa

    jauh lebih lambat daripada teknologi

    middleware bersaing seperti CORBA atau ICE.

    Hal Ini mungkin tidak menjadi masalah ketika

    hanya pesan kecil dikirim. Untuk

    meningkatkan kinerja untuk kasus khusus dari

    XML dengan objek biner tertanam, Transmisi

    Pesan Mekanisme Optimization diperkenalkan.

    Ketika mengandalkan HTTP sebagai protokol

    transport dan tidak menggunakan WS-

    Addressing atau ESB, peran pihak yang saling

    berinteraksi tetap. Hanya satu pihak (klien)

    dapat menggunakan layanan dari yang lain.

    Pengembang harus menggunakan polling

    bukan pemberitahuan dalam kasus-kasus yang

    umum.

    Sulit untuk dikembangkan, mebutuhkan

    tools

    Membutuhkan lebih banyak pernyataan/kode

    program

    Berikutnya adalah Restful Based Service protocol

    yang baru. REST adalah salah satu software arsitektur

    yang digunakan sebagai acuan ketika membuat

    aplikasi berbasis web service. Filosofi REST

    mendukung bahwa prinsip dan protokol yang sudah

    ada di Web cukup untuk membuat web servide yang

    kuat (robust). Hal ini berarti bahwa developer yang

    mengerti HTTP dan XML dapat mulai membangun

    web service tanpa membutuhkan toolkit di belakang

    apa yang biasanya digunakan dalam pengembangan

    aplikasi internet [3].

    Dalam arsitektur REST, kunci resource

    diidentifikasi, dapat berupa entitas, koleksi, atau yang

    lain dimana nampak lebih bernilai ketika memiliki

    URI sendiri. Metode REST telah dikembangkankan

    oleh Fielding yang didasari oleh empat prinsip utama

    teknologi, yaitu:

    a. Resource identifier through Uniform Resource Identifier (URI),

    b. uniform interface(sumberdaya CRUD menggunakan operasi PUT, GET, POST, dan

    DELETE),

    c. self-descriptive messages(sumberdaya tidak terikat sehingga dapat mengakses konten

    HTML, XML, PDF, JPEG, plain text, meta

    data, dll), serta

    d. stateful interactions through hyperlinks(bersifat stateless)

    Metode REST lebih sederhana karena

    menggunakan format standar (HTTP, HTML,

    XML, URI, MIME), namun jika diperlukan proses

    pertukaran data, maka konten berupa teks dari hasil

    eksekusi web servicedapat diolah dalam format

    teks (seperti XML atau HTML) dengan

    menggunakan utilitas komunikasi data berupa

    koneksi socketprotokol HTTP. Utilitas ini

    umumnya tersedia dalam pustaka komunikasi pada

    bahasa pemrograman (seperti Java, Visual Basic,

    Delphi, PHP, ASP, dan JSP) [5].

    Keuntungan REST

    bahasa dan platform agnostic

    lebih sederhana/simpel untuk

    dikembangkan ketimbang SOAP

    mudah dipelajari, tidak bergantung

    pada tools

    ringkas, tidak membutuhkan layer

    pertukaran pesan (messaging)

    tambahan

    REST mudah diimplementasikan

    karena menggunakan metode yang

  • sama seperti ketika membuat web,

    yaitu menggunakan HTML.

    Sedangkan untuk pertukaran data,

    REST tidak hanya dapat menggunakan

    XML saja, tetapi juga dapat

    menggunakan JSON [7].

    Kelemahan REST

    Mengasumsi model point-to-point

    komunikasi - tidak dapat digunakan

    untuk lingkungan komputasi

    terdistribusi di mana pesan akan melalui

    satu atau lebih perantara

    Kurangnya dukungan standar untuk

    keamanan, kebijakan, keandalan pesan,

    dll, sehingga layanan yang mempunyai

    persyaratan lebih canggih lebih sulit

    untuk dikembangkan ("dipecahkan

    sendiri")

    Berkaitan dengan model transport

    HTTP

    Perbedaan Antara SOAP dan Restful

    Perbedaannya SOAP RESTFUL

    Penggunaannya

    Pada aplikasi - aplikasi

    Enterprise untuk

    mengintegrasikan

    penggunaan yang lebih luas

    dan banyak aplikasi dan

    tren yang lain adalah

    mengintegrasikan dengan

    legacy system (sistem lama

    yg sudah ada sebelumnya).

    Dalam internet, Google

    konsisten dalam

    mengimplementasikan web

    service kecuali Blogger

    yang menggunakan XML-

    RPC.

    Twitter, Yahoo,

    termasuk Flickr,

    del.icio.us, pubsub,

    bloglines, technorati,

    dan beberapa yang

    lain.

    Penggunaan

    Bandwidth

    Membutuhkan waktu yang

    panjang, dan menyebabkan

    membutuhkan Bandwidth

    yang panjang.

    Lebih ringan karena

    pada antarmuka

    RESTful adalah

    request dan respon

    dapat dipendekkan

    Caching

    Request SOAP

    menggunakan POST dan

    membutuhkan request

    XML kompleks untuk

    dibangun yang akan

    membuat caching-respon

    terasa sulit.

    Karena berbasis

    HTTP/Rest-ful API

    dapat dikonsumsi

    menggunakan

    request GET

    sederhana, server

    proxy/reverse-proxy

    dapat melakukan

    cache atas respon

    tersebut dengan

    mudah.

  • KESIMPULAN

    Dari penjelasan detail di atas dapat dikatakan bahwa

    SOAP tidak semudah itu, SOAP membutuhkan usaha

    implementasi yang lebih besar dan pengetahuan di sisi

    klien, sedangkan web service berbasis HTTP atau

    REST-API membutuhkan implementasi yang lebih

    besar dan pengetahuan di sisi server. Adopsi API dapat

    meningkatkan lebih jauh lagi jika interface berbasis

    HTTP disediakan. Faktanya, HTTP berbasis API

    dengan respon XML/JSON mewakili yang terbaik dari

    kedua turunan dan mudah diimplementasikan dalam

    server semudah mengkonsumsi melalui server .

    Untuk mengkonsumsi web service, kadang-

    kadang bingung mengimplementasikan mana yang

    lebih mudah. Sebagai contoh Google AdWords web

    service sangat sulit untuk dikonsumsi (dalam CF

    apapun), karena menggunakan header SOAP, dan

    sejumlah hal lain yang membuatnya sulit. Sebaliknya,

    web service REST Amazon kadangkala rumit untuk

    diuraikan (pase) karena sangat berulang, dan hasil

    schema dapat sedikit bervariasi sesuai dengan apa

    yang Anda cari.

    Arsitektur mana yang Anda pilih, pastikan

    pilih yang termudah bagi developer untuk

    mengaksesnya, dan tersokumentasi dengan baik.

    Akhirnya ketika Anda meng-host layanan internet, hal

    tersebut adalah kompleksitas sisi klien yang paling

    penting untuk menarik klien untuk menggunakan web

    service Anda.

    Web Service SOAP dan RESTful

    mempunyai filosofi yang berbeda. SOAP

    sesungguhnya sebuah protokol komputasi terdistribusi

    berbasis XML, dimana REST cenderung masih sangat

    baru, desain berbass web. Sebagai catatan SOAP tidak

    sekompleks yang dikatakan banyak sumber, SOAP

    dapat dikatakan kompleks ketika digunakan untuk

    banyak ekstensi.

    DAFTAR PUSTAKA

    [1] Snell,James,dkk 2001, Programming Web

    Services with SOAP CANADA: O'Reilly,

    [2] Purnamasar,SD 2008, Web service Sebagai

    Solusi Integrasi Data pada Sistem Informasi

    Universitas Bina Darma , No. 3.

    [3] Richardson, Leonard,dkk 2007, RESTful Web

    Services California : O'Reilly,

    [4] Istiyanto,sutanta, 2012, MODEL

    INTEROPERABILITAS ANTAR APLIKASI E-

    GOVERNMENT, page 114.

    [5] Pautasso, 2008, C., 2008, REST vs SOAP

    Making the Right Architectural Decision, SOA

    Symposium, Amsterdam.

    [6] Chappel,D, Jewell,T, 2002,Java Web Services :

    O'Reilly,

    [7] Cerami, E. 2005. Web Service Essentials.

    California: OReilly

    [8] Lucky, 2008, XML Web services: Aplikasi

    Desktop, Internet & Handphone, Jasakom, Jakarta.