Sabtu, 27 September 2014

Komponen Teknik Portal (Web Service)


          Sebuah portal komprehensif menggabungkan berbagai macam internet dan aplikasi yang terkait dengan komponen-komponen teknologi. Karena tujuan dari portal adalah menyediakan tampilan tunggal untuk end user terhadap informasi yang datang dari berbagai sumber, daftar dari teknologi yang mungkin digunakan tak ada habis-habisnya. Bagaimanapun juga, daftar tersebut adalah perkenalan yang bagus kepada teknologi yang umumnya disertakan dalam solusi portal.
Beberapa dari teknologi ini (seperti web service) secara konstan berkembang, sementara yang lainnya (seperti database portal, yang biasanya tergabung dalam SQL database) secara relatif merupakan teknologi yang stabil.


Pada artikel ini saya akan membahas tentang Web Service yang secara konstan berkembang

        Web service adalah program yang menerima dan merespon permintaan dalam informasi. Pada umumnya, sebuah web service menerima permintaan berdasar format XML. Format aktual dari permintaan dan respon tergantung dari standar XML yang digunakan. Salah satu standar adalah SOAP (Simple Object Access Protocol). Ada public registry dan bahasa seperti UDDI, WDSL – dimana menggunakan katalog untuk web service yang berbeda. Program panggilan yang dapat menanyakan registry (UDDI) untuk menemukan web service yang tepat, lalu menggunakan WDSL untuk menentukan parameter yang membutuhkan servis, dan akhirnya menggunakan protocol pemanggil dan XML standar seperti SOAP untuk secara aktual menghubungi web service.

        Selain SOAP standar yang masih cukup basru untuk web service adalah REST (Representational State Transfer).

1. REST: pada dasarnya setiap URL unik adalah representasi dari beberapa objek. Kita dapat memperoleh konten-konten objek tersebut menggunakan HTTP GET, untuk menghapusnya, kita dapat menggunakan POST, PUT, atau DELETE untuk memodifikasi objek (dalam praktiknya, kebanyakan service menggunakan POST untuk ini).
      Semua web service utma di internet sekarang menggunakan REST: Twitter, Yahoo, termasuk Flickr, del.icio.us, pubsub, bloglines, technorati, dan beberapa yang lain. eBay dan Amazon menggunakan baik REST maupun SOAP.

2.  SOAP digunakan 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 mereka menggunakan SOAP, kecuali Blogger yang menggunakan XML-RPC.


REST vs SOAP

Perusahaan-perusahaan yang menggunakan REST API belum banyak, API yang mereka gunakan kebanyakan muncul baru-baru ini. Jadi REST sesungguhnya adalah aturan untuk membuat web service. Tetapi, mari perhatikan, gunakan konsep “SOAP to wash and your REST when you tired”. 

Keuntungan utama web service REST yaitu:
  1. lightweigt, tidak membutuhkan XML markup tambahan
  2. hasilnya dapat dibaca dengan mudah oleh manusia (human readable result)
  3. mudah untuk dikembangkan, tidak membutuhkan toolkit
SOAP juga mempunyai beberapa kelebihan:
  1. mudah untuk dikonsumsi (kadang-kadang)
  2. rigid (lebih kaku/ketat), dalam type-checking, harus mematuhi aturan penulisan
  3. membutuhkan tools pengembangan

        Kunci metodologi REST adalah untuk menulis web service menggunakan antarmuka yang sudah tersedia dan banyak digunakan: URI. Sebagai contoh, service/layanan untuk mengkonversi mata uang, yang mana seorang user memasukkan simbol mata uang untuk mengembalikan harga mata uang secara real-time, dapat dilakukan semudah membuat script yang dapat diakses melalui web server seperti URI: 

       Aplikasi client atau server dengan dukungan HTTP dapat dengan mudah memanggil service tersebut dengan command HTTP GET. Berdasar pada bagaimana cara penyedia service menulis script, hasil respons HTTP kan menjadi lebih simpel seperti beberapa header standar dan string teks yang mengandung harga terkini untuk symbol yang diberikan. Atau, dapat berupa dokumen XML.

     Metode antarmuka ini mempunyai keuntungan signifikan dibanding service berbasis SOAP. Developer dapat mengetahui bagaimana untuk membuat dan memodifikasi sebuah URI untuk mengakses resource yang berbeda. SOAP, pada sisi lain, membutuhkan pengetahuan khusus untuk spesifikasi XML, dan kebanyakan developer akan membutuhkan SOAP toolkit untuk membentuk request dan menguraikan (parsing) hasilnya.

      SOAP menegaskan bahwa untuk mengirimkan remote procedure calls (RPC) melalui port standar HTTP adalah cara yang baik untuk memastikan dukungan web service melalui aturan-aturan yang ada. Namun, para pendukung REST berpendapat bahwa praktik tersebut adalah sebuah kekurangan utama yang membahayakan keamanan jaringan. Panggilan-panggilan REST juga dapat melalui HTTP atau HTTPS, tetapi dengan REST, administrator (firewall) dapat membedakan maksud dari setiap pesan dengan menganalisis perintah HTTP yang digunakan saat request. Sebagai contoh, request GET selalu dianggap aman karena ia tidak dapat, menurut definisi, memodifikasi data apapun. Dan itu hanya dapat meng-query kan data.

      Request SOAP secara tipikal akan menggunakan POST untuk mengkomunikasi dengan service yang diberikan. Dan tanpa melihat envelope SOAP (tugas yang digunakan untuk mengkonsumsi keduanya dan tidak disertakan pada kebanyakan firewall) tidak ada cara untuk mengetahui apakah request tersebut hanya ingin meng-query data atau menghapus seluruh tabel dari database.

     Adapun untuk otentikasi dan otorisasi, SOAP menempatkan beban pada pengembang aplikasi. Metodologi REST tidak memperhitungkan fakta bahwa web server sudah memiliki dukungan untuk tugas-tugas tersebut. Melalui penggunaan sertifikat standar industri dan sistem manajemen identitas umum, seperti server LDAP, developer-developer dapat membuat layer jaringan melakukan langkah berat.

     Ini tidak hanya memudahkan para developer, tetapi juga memudahkan administrator, yang dapat menggunakan sesuatu semudah file ACL untuk mengontrol web service layaknya menggunakan URI yang lain.

     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.

      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.

Tidak ada komentar:

Posting Komentar