Service Oriented Architecture dan Web Service

Tabel 1 Perbandingan grid terhadap teknologi sistem terdistribusi lainnya Teknologi yang telah ada Persamaan dengan grid Perbedaan dengan grid Web Menyembunyikan kompleksitas dari pengguna merasakan sumber daya tunggal Grid mengakomodasi kolaborasi penuh terhadap semua sumber daya yang ada untuk mencapai suatu tujuan tertentu Peer-to- peer Memungkinkan penggunaan berkas secara bersama Grid memungkinkan penggunaan berkas secara bersama namun bersifat many-to-many Cluster Menggabungkan sumber daya menjadi satu Grid tidak membatasi lokasi setiap mesin untuk berada pada daerah tertentu proximity maupun perbedaan sistem operasi. Teknologi virtualisasi Virtualisasi sumber daya IT Grid dapat memvirtualisasi sumber daya yang sangat besar dan berbeda Perkembangan grid sendiri dikelompokkan ke dalam tiga generasi Roure et al . 2003. Generasi pertama diawali oleh proyek yang bertujuan menggabungkan situs super komputer. Pada saat tersebut, pendekatan yang dilakukan dikenal sebagai metacomputing. Generasi kedua grid difokuskan pada middleware yang mampu mengintegrasikan aplikasi perangkat lunak dalam mendukung komputasi dan data berskala besar. Setelah solusi grid dieksplorasi, aspek teknis grid menjadi semakin jelas. Aplikasi grid yang baru, diharapkan dapat diwujudkan dengan menggunakan kembali komponen dan sumber daya informasi yang sudah ada dengan mudah. Solusi yang muncul adalah dengan lebih banyak mengadopsi arsitektur yang berorientasi layanan service-oriented architecture. Arsitektur tersebut kemudian dikenal dengan singkatan SOA.

2.2.2 Service Oriented Architecture dan Web Service

Service-oriented architecture SOA adalah jenis khusus dari sistem terdistribusi di mana agen berupa layanan perangkat lunak melakukan operasi yang terdefinisi dengan baik Joseph Fellenstein 2005. Penekanannya adalah bahwa semua layanan harus merupakan antarmuka yang dapat dialamatkan melalui jaringan serta berkomunikasi melalui protokol dan format data pesan yang standar. Fungsi penting dari SOA adalah definisi pesan berupa format, isi dan pola pertukaran pesan antar pengguna dan layanan. Model Web Service kemudian mendapatkan popularitas karena menjanjikan standar dalam SOA Roure et al. 2003. Model tersebut sejalan dengan kebutuhan grid pada generasi ketiga karena mendukung SOA dan mengadopsi standar untuk memfasilitasi aspek informasi seperti deskripsi layanan. Web Service digunakan karena merupakan model sistem terdistribusi yang lebih sederhana daripada model terdahulu CORBA, RMI dan menggunakan standar berbasis internet XML untuk menangani komputasi terdistribusi yang heterogen. Implementasi Web Service bertanggung jawab menerima pesan, memprosesnya, dan jika diperlukan, memformat dan mengirimkan pesan respon Foster et al. 2004. Untuk selanjutnya, Web Service disingkat dengan WS. Standar WS didefinisikan oleh Web Service Interoperability Organization kumpulan vendor yang berkomitmen pada pengembangan WS melalui Basic Profile 1.0 Haefel 2004. Di dalamnya terdapat penjelasan detil mengenai penggunaan empat spesifikasi utama WS. Keempat spesifikasi tersebut adalah sebagai berikut. a. XML eXtensible Markup Language adalah bahasa untuk mengatur dokumen dan data bisnis yang disimpan dalam berkas teks dengan tags khusus yang menandakan bagian tertentu dari dokumen. b. SOAP Simple Object Access Protocol adalah standar pemaketan dan pengiriman data XML antar dua aplikasi dalam jaringan yang diterima luas. SOAP juga merupakan dokumen XML, namun dirancang khusus untuk memuat dan mengirimkan dokumen XML. c. WSDL Web Service Definition Language adalah standar dalam mendeskripsikan struktur pada data XML yang dipertukarkan antara dua sistem. Seperti SOAP, WSDL juga merupakan dokumen XML. d. UDDI Universal Description, Discovery, and Integration mendefinisikan kumpulan standar operasi WS yang digunakan untuk menyimpan dan melihat informasi mengenai aplikasi WS lain. Dengan kata lain, UDDI mendefinisikan standar antarmuka berbasis SOAP untuk registrasi WS. Karena berbasis pada teknologi XML, WS tidak tergantung pada bahasa pemrograman maupun sistem operasi tertentu Sotomayor 2005. Dengan demikian, aplikasi pada client dapat dibangun dengan bahasa yang berbeda dari layanan yang ada pada server. Selain itu, WS menggunakan HTTP untuk mentransmisikan pesan sehingga mudah dalam pengembangan aplikasi berskala internet. Model lain seperti CORBA yang menggunakan Internet Inter-Object Request Broker IIOP untuk versi 2.0 dan selanjutnya, biasanya menimbulkan masalah saat melewati firewall. Bahkan versi CORBA terdahulu masih bergantung pada masing- masing pengembangnya Mahmoud 2000. Kemudian, WS lebih sesuai untuk diterapkan pada sistem terdistribusi yang loosely-coupled. Hal ini karena client tidak perlu mengetahui tentang layanan yang dimiliki server Sotomayor 2005. Ilustrasi komunikasi menggunakan model WS adalah seperti pada Gambar 2. Sedangkan ilustrasi komponen WS pada sebuah server adalah seperti Gambar 3. Dalam Gambar 3 tersebut, terlihat bahwa Engine SOAP merupakan kontainer wadah bagi aplikasi WS. Gambar 2 Komunikasi clientserver menggunakan WS Sotomayor 2005 Gambar 3 Hubungan antar komponen pada server WS Sotomayor 2005 Meskipun implementasi WS sering bersifat stateless, namun masih dimungkinkan untuk memanipulasi state, seperti data yang terlibat dalam interaksi antar layanan Foster et al. 2004. Dengan kata lain, implementasi WS sering ditujukan untuk mengakses sumber daya yang bersifat steteful Czajkowski et al. 2004. Merepresentasikan state dalam WS-pun dapat dilakukan dengan banyak cara, tetapi tidak ada kesepakatan yang dapat meningkatkan interoperabilitas WS dan interaksinya dengan sumber daya yang bersifat stateful. Kondisi tersebut melatarbelakangi didefinisikannya kesepakatan dalam WS yang memungkinkan pencarian, dan interaksi dengan sumber daya yang bersifat stateful serta dengan cara yang standar dan tingkat operabilitas yang tinggi. Kemudian, berkembanglah Web Service Resource Framework WSRF, yang merupakan kumpulan spesifikasi untuk menghubungkan WS dengan sumber daya yang bersifat stateful Foster et al. 2004; Czajkowski et al. 2004. Dalam hal ini, yang dimaksud dengan sumber daya yang bersifat stateful adalah sumber daya yang punya sekumpulan state data yang dapat diekspresikan dalam format XML Foster et al. 2004. Selain itu, sumber daya juga punya siklus yang terdefinisi dengan baik serta diketahui dan beroperasi pada satu atau lebih WS. Dengan pendekatan ini, WS yang bersifat stateles, dan informasi tentang state dihubungkan dengan menggunakan implied resource pattern yang menunjukkan cara sebuah sumber daya yang bersifat stateful diacu oleh client WS Foster et al. 2004. Dengan kata lain, implied resource pattern digunakan untuk mendeskripsikan jenis hubungan khusus antara WS dengan sumber daya yang bersifat stateful. Mekanisme tersebut mengacu pada mekanis me yang digunakan untuk menghubungkan sumber daya yang bersifat stateful dengan eksekusi pertukaran pesan yang diimplementasikan oleh WS.

2.2.3 Open Grid Service Architecture OGSA