Senin, 28 Maret 2011

Module 2 : Arsitektur XML Web Service



Web Services adalah sebuah teknik pemrograman di mana sebuah service menggunakan standar-standar berbasis XML dalam menjelaskan interface dan protocol yang harus digunakan untuk memanggil service tersebut. Ada tiga standar utama untuk penerapan web services. Standar-standar ini mendukung pertukaran data berbasis XML, yaitu :



1. SOAP ( Simple Object Access Protocol )
SOAP adalah Lightweight XML-based protocol untuk mempertukarkan struktur informasi antar aplikasi terdistribusi melalui protokol-protokol native semacam HTTP.
Protokol ini mendukung proses pengkodean data (biasanya XML) dan transfernya melalui HTTP (Hyper Text Transfer Language). Dalam konteks web services, SOAP adalah suatu bahasa versi bebas dari protokol RPC (Remote Procedure Caoll) yang berguna untuk proses transaksi melalui HTTP standar. SOAP membuat klien web service dapat memilih beberapa parameter mengenai permintaannya dan memberikannya kpd si penyedia. Ketika penyedia menganggapi permintaan tersebut, maka terjadilah web services.




2. WSDL ( Web Services Description Language )
WSDL merupakan bahasa berbasis XML yang menjelaskan fungsi-fungsi dalam web services. WSDL menyediakan cara untuk memanfaatkan kapabilitas web services. WSDL memberi tahu mesin lain bagaimana memformat/ menterjemahkan permintaan yang diterima berikut respon mereka agar proses web service bisa berjalan. Singkatnya, WSDL adalah bahasa yang memungkinkan berbagai dokumen yang dibuat dalam aplikasi yang berbeda dapat berkomunikasi.





3. UDDI (Universal Description Discovery and Integration )
UDDI adalah semacam direktori global untuk mengelola web services. Fungsinya mirip dengan Yellow Pages untuk versi web services. UDDI berisi informasi tentang penawaran atau layanan apa yang ditawarkan perusahaan berikut dengan detil teknis bagaimana cara mengaksesnya. Inforamsi tersebut ditulis dalam bentuk file-file WSDL.


SOA (service oriented architecture, arsitektur berorientasi layanan) adalah suatu gaya arsitektur sistem yang membuat dan menggunakan proses bisnis dalam bentuk paket layanan sepanjang siklus hidupnya. SOA juga mendefinisikan dan menentukan arsitektur teknologi informasi (TI) yang dapat menunjang berbagai aplikasi untuk saling bertukar data dan berpartisipasi dalam proses bisnis. Fungsi-fungsi ini tidak terikat dengan sistem operasi dan bahasa pemrograman yang mendasari aplikasi-aplikasi tersebut.





SERVICE ORIENTED ARCHITECTURE

Service Oriented Architecture (SOA) adalah sebuah permodelan perangkat lunak yang dibangun dengan pendekatan service oriented. Service oriented sendiri merupakan sebuah pendekatan yang memiliki visi ideal di mana setiap resource dari perangkat lunak terpartisi secara bersih satu sama lain.
Setiap resource ini disebut dengan service. Service ini merepresentasikan sebuah business logic atau automation logic dalam sebuah sistem besar. Setiap service memiliki otonomi sendiri yang membuatnya tidak tergantung satu sama lain. Setiap service dapat berkomunikasi satu sama lain melalui sebuah protokol yang sudah terstandardisasi sehingga memudahkan untuk melakukan integrasi service baru dan penyusunan ulang kumpulan service disebabkan proses bisnis yang berubah.

Saat ini, SOA merupakan sebuah solusi yang baik untuk permodelan sistem di perusahaan atau organisasi besar. Sebab, permodelan ini memiliki banyak kelebihan, diantaranya:

1. Dapat menyatukan berbagai sistem yang memiliki platform berbeda, seperti J2EE dan .NET. sebab dengan pendekatan ini, yang pengembang akan memilih untuk membangun sebuah layer di atas sistem รข€“ sistem tersebut yang dapat saling berkomunikasi dengan pesan yang sudah distandardisasi, misalnya menggunakan teknologi XML. Dalam sudut pandang SOA, kedua sistem itu masing-masingnya akan dianggap sebagai service.
2. Tahan terhadap perubahan. Perusahaan atau organisasi besar seringkali berubah struktur untuk meningkatkan efisiensi dan kinerja. Akibatnya, perangkat lunak juga terkena imbas untuk menyesuaikan diri terhadap proses bisnis yang baru. Permodelan perangkat lunak dengan SOA akan mengurangi effort untuk modifikasi perangkat lunak tersebut. Sebab, karena seluruh logic dari sistem sudah terpartisi secara bersih menjadi sekumpulan services, kita hanya perlu menyusun ulang seluruh service tersebut dan jika perlu menambahkan yang baru. Hal ini jelas mengurangi biaya.

Web Services seringkali dikaitkan atau bahkan disamakan dengan SOA. Namun sebenarnya keduanya adalah hal yang sangat berbeda. SOA adalah sebuah konsep untuk pengembangan perangkat lunak, sementara Web Services adalah sebuah aplikasi web yang berinteraksi dengan aplikasi web lainnya untuk pertukaran data. Pembangunan SOA tidak harus menggunakan Web Services, sebab ada bermacam-macam teknologi lain yang memungkinkan, tapi menggunakan Web Services untuk membangun sebuah sistem SOA adalah langkah yang baik.




Tidak ada komentar:

Posting Komentar