BAB II TINJAUAN PUSTAKA
2.1. Sistem Terdistribusi Sistem terdistribusi adalah kumpulan beberapa komputer yang saling bebas namun tampak sebagai sebuah sistem tunggal (Tanenbaum & Steen 2002). Definisi tersebut memiliki dua aspek yang menjadi perhatian, masing- masing adalah aspek perangkat lunak dan perangkat keras. Dari sisi perangkat keras, setiap komputer adalah saling bebas (otonom). Sedangkan dari sisi perangkat lunak, pengguna disuguhkan sebuah sistem yang oleh mereka dianggap sebagi sebuah sistem tunggal. Dari kedua aspek tersebut, perangkat lunak memiliki peran yang lebih besar dalam menentukan seperti apa sistem terdistribusi tersebut. Lebih
lanjut
dijelaskan
bahwa
kedua
aspek
tersebut
membentuk
karakteristik dari sistem terdistribusi sebagai berikut. a. Perbedaan komputer dan cara bagaimana setiap komputer saling berkomunikasi tidak tampak bagi pengguna sistem. b. Interaksi pengguna dengan sistem terdistribusi menggunakan cara yang seragam dan konsisten, meski dilakukan di tempat dan waktu yang berbeda. c. Scalable. d. Sistem terdistribusi tetap dapat beroperasi meski beberapa bagian sedang tidak dapat digunakan tanpa diketahui pengguna.
Untuk mend ukung keberagaman komputer dan jaringan sehingga tampak sebagai sebuah sistem tunggal bagi pengguna, sistem terdistribusi diorganisasi dalam beberapa lapis perangkat lunak. Lapis teratas ditempati oleh aplikasi dan pengguna, sedangkan lapis terbawah adalah sistem operasi pada setiap komputer yang otonom serta jaringannya. Di antara kedua lapis tersebut adalah middleware, yang tidak menangani komputer secara individu, namun memberikannya kepada sistem operasi lokal, seperti pada Gambar 1.
Gambar 1 Ilustrasi umum sistem terdistribusi dengan middleware (Tanenbaum & Steen 2002)
Kemudian, untuk memudahkan pengembangan dan integrasi aplikasi pada sistem
terdistribusi,
digunakan
beberapa
model
untuk
menggambarkan
mekanisme distribusi dan komunikasi yang dilakukan middleware. Mahmoud (2000) membagi model sistem terdistribusi menjadi dua, yaitu model client/server dan model berbasis obyek. Client/server adalah model komputasi terdistribusi di mana sebuah program (client), berkomunikasi dengan program lain (server) untuk saling bertukar informasi. Model client/server menerapkan protokol yang sama untuk dapat saling berkomunikasi. Contohnya adalah Remote Procedure Call (RPC). Model kedua adalah model sistem terdistribusi berbasis obyek. Dengan model ini, client akan diisolasi dari implementasi layanan dalam bentuk representasi data dan kode yang dapat dieksekusi. Pada model ini, client akan mengirimkan pesan pada sebuah obyek yang selanjutnya akan menerjemahkan pesan tersebut untuk kemudian memberikan layanan yang diminta. Pemilihan layanan dilakukan oleh obyek yang disebut broker. Contohnya adalah Remote Method Invocation (RMI) dan Common Object Request Broker Architecture (CORBA). Dengan semakin berkembangnya teknologi, dibutuhkan suatu sistem yang mampu secara efektif dan efisien menangani sumber daya yang terdistribusi luas baik secara geografis, kapasitas, jenis dan sebagainya, untuk memenuhi kebutuhan
sejumlah aplikasi. Menurut Foster et al. (2001) beberapa aplikasi membutuhkan relasi sharing yang sangat fleksibel meliputi client/server sampai peer-to-peer. Sementara aplikasi lain membutuhkan tingkat pengendalian sumber daya yang dapat menjelaskan tentang bagaimana sumber daya digunakan. Kemudian masalah penggunaan bersama sumber daya yang meliputi aplikasi, berkas, data, hingga komputer dan sensor, serta modus penggunaan sumber daya yang meliputi pengguna tunggal hingga pengguna jamak. Beberapa masalah muncul pada sistem terdistribusi, terutama dalam hal fleksibilitas, skalabilitas dan interoperabilitas dari entitas yang terlibat dalam sistem (Foster et al. 2001). Kemudian berkembanglah pendekatan komputasi yang dikenal sebagai metacomputing, scalable computing, global computing, internet computing dan yang terakhir dikenal adalah grid computing (Roure et al. 2003).
a. Grid Grid merupakan perkembangan dari sistem terdistribusi yang membutuhkan kemampuan interoperasi dan skalabilitas yang tinggi dari berbagai sumber daya. Akan tetapi, perlu lebih dahulu dipahami konsep grid dalam kaitannya dengan sistem terdistribusi yang telah ada.
2.2.1 Definisi Grid Grid merupakan salah satu kajian dalam sistem terdistribusi yang difokuskan pada penggunaan bersama sumber daya dalam skala besar dan berorientasi pada kinerja tinggi (Foster et al. 2001). Istilah ini pertama kali dipergunakan pada pertengahan tahun 1990an untuk memberikan istilah pada infrastruktur sistem terdistribusi untuk bidang IPTEK maju . Lebih lanjut, Foster et al. (2001) menjelaskan bahwa permasalahan riil dan khusus yang mendasari konsep grid adalah penggunaan bersama sumber daya yang terkoordinasi, serta penyelesaian permasalahan yang bersifat dinamis dan multi institusi. Konsep penggunaan bersama yang ditekankan di sini tidak sematamata pertukaran berkas, tetapi lebih kepada akses langsung ke komputer, data, dan sumber daya lain sebagaimana diperlukan oleh sistem penyelesaian terkolaborasi, broker sumber daya yang mulai digunakan secara luas.
Grid terinspirasi dari penemuan baterai oleh Alessandro Volta (Chetty & Buyya 2002). Penemuan tersebut saat ini telah menjadi bagian tak terpisahkan dari kehidupan manusia. Yang diharapkan dari analogi ini adalah bahwa jaringan sumber daya komputasi yang dapat diandalkan, konsisten, dan akses yang mudah untuk digunakan dalam penyelesaian permasalahan komputasi. Komputasi gr id adalah perkembangan dari konsep komputasi berskala besar, yaitu jaringan berbasis internet berupa sumber daya komputasi yang terdistribusi secara geografis, yang dapat digunakan para ilmuan untuk digunakan bersama, dapat dipilih dan digabungkan untuk menyelesaikan permasalahan berskala besar. Dengan analogi power grid tersebut, komputasi grid akan menyediakan akses pada sumber daya yang dibutuhkan bagi pengguna secara maya, andal, dan adaptif terhadap kebutuhan pengguna (on demand computing). Maya di sini berarti bahwa sumber daya yang dapat digunakan sangat bervariasi, baik spesifikasi maupun lokasi. Akan tetapi, pengguna tidak perlu tahu dari sumber daya mana ia bekerja, seperti pada jaringan daya listrik. Sedangkan grid menurut Berman et al. (2003), adalah kumpulan sumber daya yang dapat berupa CPU, jaringan, peralatan yang bersifat on line, media penyimpanan, dan sebagainya. Grid memiliki potensi dan kemampuan besar dalam pengembangan aplikasi yang membutuhkan kinerja tinggi dan penggunaan sumber daya serta data yang intensif. Dengan demikian, penggunaan sumber daya komputasi dapat lebih dioptimalkan. Akan tetapi, konsep grid tidak membatasi sumber daya yang digunakan hanya pada permasalahan komputasi (CPU). Selain penekanan pada penggunaan bersama sumber daya secara terkoordinasi, lingkungan grid harus dibangun atas dasar standar protokol dan framework yang terbuka (Joseph & Fallenstein 2005). Hal ini akan meningkatkan interoperabilitas, dan integrasi fisilitas. Standar tersebut harus diaplikasikan pada pencarian, akses dan koordinasi sumber daya. Karena grid adalah pengembangan dari sistem terdistribusi yang telah ada, terdapat beberapa persamaan dan perbedaan antar keduanya. Persamaan dan perbedaan tersebut diberikan pada Tabel 1.
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-topeer
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 client/server 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) Pada tahap awal perkembangan grid, sejumlah solusi middleware khusus dibuat unt uk mengatasi permasalahan dalam grid, seperti pencarian sumber daya, otentikasi, otorisasi, dan mekanisme akses (Joseph & Fellenstein 2005). Tetapi, solusi tersebut rendah tingkat interoperabilitasnya. OGSA adalah arsitektur grid yang dilatarbelakangi kebutuhan untuk melakukan standardisasi antarmuka layanan middleware pada aplikasi dan pengguna (Foster et al. 2002). Konsep arsitektur tersebut merupakan hasil dari penyejajaran standar grid yang telah ada dengan SOA. OGSA mendefinisikan standar format dan pola pertukaran pesan dalam grid (Joseph & Fellenstein 2005). Standardisasi pesan dan pola pertukarannya memungkinkan interoperabilitas antar layanan grid. OGSA menyediakan cara yang sama untuk mendeskripsikan layanan grid dan mendefinisikan ciri umum semua layanan grid. OGSA mengintegrasikan dua teknologi penting dalam grid, masing- masing adalah Globus Toolkit (GT) dan mekanisme WS (Foster et al. 2002) dalam membangun kerangka kerja sistem terdistribusi. GT digunakan dalam proses standardisasi ini karena digunakan secara luas dalam banyak aplikasi berbasis grid. Selain itu, GT bersifat open-architecture, open-source, mengakomodasi berbagai isu mengenai keamanan, pencarian informasi mengenai sumber daya yang tersedia, pengelolaan sumber daya dan data, komunikasi, deteksi kesalahan, serta portabilitas.
d. Topologi Grid Menurut Jacob et al. (2005), topologi grid dapat dibagi ke dalam tiga kelompok
utama
berdasarkan
keterkaitan ketiganya.
kepemilikan.
Gambar
4
mengilustrasikan
a. Intragrid. Topologi jenis ini bercirikan pada kepemilikan organisasi tunggal, di mana tidak ada integrasi dengan sistem lain di luar organisasi tersebut. Topologi intragrid adalah sebuah cluster tunggal. Karena dimiliki oleh satu oraganisasi saja, kebijakan mengenai keamanan, pengelolaan data serta sumber daya juga bersifat tunggal dan statis. b. Ekstragrid. Topologi jenis ini melibatkan kepemilikan yang lebih dari satu organisasi. Karena itu, akan ada integrasi lebih dari satu sistem cluster pada masing- masing organisasi yang terlibat. Berbeda dari topologi intragrid, topologi ini menerapkan kebijakan pada sistem grid secara beragam. Sumber daya yang dikelola juga bersifat dinamis sehingga perlu mekanisme antisipasi terhadap kegagalan salah satu komponen yang terlibat. c. Intergrid. Topologi yang sama seperti ekstragrid, hanya tingkat keberagamannya yang lebih tinggi.
Gambar 4 Keterkaitan topologi intragrid, ekstragrid, dan intergrid (Jacob et al. 2005).
e. Virtual Organization Permasalahan riil dan khusus dalam konsep grid berupa penggunaan bersama sumber daya yang terkoordinasi, serta penyelesaian permasalahan yang bersifat dinamis dan multi institusi, menurut Foster et al. (2001) haruslah sangat
terkendali. Dengan kata lain, penyedia sumber daya maupun pengguna haruslah didefinisikan dengan jelas mengenai sumber daya apa saja yang akan digunakan bersama, siapa saja yang diperbolehkan menggunakannya, maupun kondisi di mana penggunaan bersama tersebut boleh dilakukan. Sekumpulan individu maupun institusi yang berinteraksi dalam penggunaan bersama suatu sumber daya dengan aturan tertentu disebut Virtual Organization. Virtual Organization untuk selanjutnya disebut VO. VO sangat beragam jika ditilik dari tujuan, ruang lingkup, dimensi, durasi, struktur, komunitas dan berbagai faktor lainnya. Keberagaman tersebut meliputi beberapa hal berikut. a. Hubungan antar entitas dalam skema penggunaan sumber daya client/server hingga peer-to-peer. b. Tingkat kendali yang jelas terhadap cara sumber daya yang digunakan, meliputi akses kontrol secara fine-grained hingga multi-stackholder. c. Keberagaman sumber daya yang digunakan meliputi aplikasi, berkas, data, komputer, sensor, jaringan dan sebagainya. d. Modus penggunaan meliputi pengguna tunggal maupun pengguna jamak. Beragamnya VO mengimplikasikan bahwa VO memiliki batasan yang samar, struktur yang fleksibel, dan kemampuan melibatkan entitas baru saat dibutuhkan.
2.3
Globus Toolkit Globus Toolkit (GT) adalah alat bantu perangkat lunak yang bersifat open
source yang digunakan untuk mengembangkan sistem dan aplikasi berbasis gr id. Untuk rilis keempat, sebagaimana OGSA, GT telah mengadopsi konsep WS pada beberapa
komponennya.
Sotomayor
(2005)
menjelaskan
masing- masing
komponen sebagai berikut. a. Common runtime. Komponen ini menyediakan kumpulan pustaka dasar yang diperlukan untuk membangun layanan baik yang berbasis WS atau non-WS. b. Security. Komponen yang berbasis pada Grid Security Infrastructure (GSI) ini digunakan untuk menyakinkan bahwa komunikasi berlangsung aman.
c. Data Management. Komponen ini digunakan untuk mengelola data dalam jumlah besar pada VO. Pengelolaan berkaitan dengan integrasi data dengan suatu layanan grid dan publikasi data (Deelman et al. 2004) serta perpindahan, akses dan update data (Foster et al. 2005). d. Information Service. Komponen ini digunakan untuk mengelola sumber daya yang terlibat dalam VO. Pengelolaan meliputi pencarian dan pengamatan layanan. e. Execution Management. Komponen ini digunakan untuk mengelola program yang dapat dieksekusi. Pengelolaan yang dilakukan terkait dengan inisiasi, pengamatan, penjadwalan dan koordinasi.
Komponen-komponen GT4 adalah seperti pada Gambar 5. Kemudian, dari kelima komponen tersebut, terdapat komponen-komponen yang berbasis WS, sedangkan sisanya berbasis non-WS. Foster (2005) mengilustrasikan arsitektur GT4 seperti pada Gambar 6.
Gambar 5 Komponen-komponen GT4 (Sotomayor 2005)
Gambar 6 Arsitektur GT4 (Foster 2005)
Dari kelima komponen utama GT4, terdapat sembilan komponen yang berbasis WS. Kesembilan komponen tersebut adalah sebagai berikut. a. Job Management (Grid Resource Allocation Manager). Komponen ini berfungsi untuk mencari, mengirim, memonitor atau membatalkan suatu job dalam lingkungan grid. WS-GRAM bukan scheduler, namun merupakan layanan yang berkomunikasi dengan berbagai scheduler dalam lingkungan grid. b. Reliable File Transfer (RFT). Komponen ini berfungsi untuk mengelola berkas di VO. c. OGSA-DAI (Data Access and Integration). Komponen ini berfungsi untuk mengakses dan mengintegrasikan data pada semua sumber daya di VO. d. Delegation Service. Komponen ini menyediakan antarmuka untuk delegasi X.509 sertifikat proxy ke layanan yang diinginkan. Hal ini terutama diperlukan saat pengguna akan melakukan operasi tambahan pada mesin remote atau akan melakukan staging berkas (mengirimkan berkas executable ke mesin remote). e. Community Authorization Service (CAS). Komponen ini berfungsi untuk memberikan hak akses terhadap sumber daya yang ada pada pengguna dalam VO.
f. Monitoring and Discovery System (MDS). Komponen ini terdiri dari tiga bagian, masing- masing adalah MDS-Trigger yang berfungsi untuk melakukan sebuah aksi saat kondisi yang didefinisikan terpenuhi, MDSIndex untuk mengumpulkan informasi mengenai proses dan MDS-Archieve yang masih dalam tahap pengembangan. g. Grid TeleControl Protocol (GTCP). Komponen ini memungkinkan pengendalian instrument tertentu dalam lingkungan grid.
Mengacu ke Gambar 3, GT berfungsi sebagai Engine SOAP (kontainer) bagi layanan WS untuk integrasi data.
2.4. Infrastruktur Keamanan Grid (Grid Security Infrastructure) Grid Security Infrastructure (GSI) adalah salah satu komponen utama yang ada pada Globus Toolkit 4.0.x. GSI menggunakan kriptografi kunci publik sebagai dasar fungsionalitasnya. Latar belakang dari dikembangkannya GSI adalah perlunya melakukan komunikasi yang aman antar entitas grid, tidak terpusat, mendukungan ”single-sign-on” untuk pengguna grid, termasuk delegasi credentials dalam melakukan perhitungan yang melibatkan banyak sumber daya. Berikut adalah beberapa konsep penting dalam GSI.
2.4.1 Kriptografi Kunci Publik Kriptografi kunci publik adalah sistem kriptografi yang menggunakan kunci publik (diketahui umum) dan kunci privat (hanya diketahui pemiliknya). Karakterisitk penting dari kriptografi kunci publik adalah tidak mungkin secara komputasi menentukan kunci dekripsi/privat hanya dengan pengetahuan algoritma kriptografi dan kunci enkripsi/publik (Stallings 2003). Skenario enkripsi menggunakan kunci publik dapat diilustrasikan seperti pada Gambar 7. Pengirim mengenkripsi informasi menggunakan kunci publik penerima. Informasi terenkripsi ini akan didekripsi oleh penerima informasi.
Gambar 7 Ilustrasi enkripsi dengan kunci publik (Zimmermann 1999)
2.4.2 Tanda Tangan Digital Tanda tangan digital memungkinkan penerima informasi untuk menguji keaslian sumber informasi dan menguji bahwa informasi yang diterima lengkap seperti saat pertama kali dikirim. Penggunaan tanda tangan digital lebih ditujukan pada integritas informasi dan validitas pihak yang terlibat dalam komunikasi informasi, bukan pada kerahasiaan informasi itu sendiri. Peran tanda tangan digital sama dengan tanda tangan berupa tulisan tangan. Kelebihan tanda tangan digital adalah bahwa ia hampir tidak dapat dipalsu, ditambah lagi dengan kemampuannya untuk menguji baik isi informasi maupun pengirimnya. Informasi yang akan ditandatangani dienkripsi dengan kunci privat pengirim. Jika informasi terenkripsi tersebut dapat didekripsi menggunakan kunci publik pengirim, maka identitas pengirim adalah benar. Skenario tanda tangan digital adalah seperti Gambar 8. Pengirim menggunakan kunci privatnya untuk menandatangani
informasi
yang
akan
dikirim.
Sebaliknya,
penerima
menggunakan kunci publik pengirim untuk menguji validitas pengirim dan informasi yang diterimanya.
Gambar 8 Ilustrasi tanda tangan digital (Zimmermann 1999)
2.4.3 Sertifikat Digital Selain masalah integritas dan validitas yang ditangani oleh tanda tangan digital, isu lain dalam kriptografi kunci publik adalah bagaimana pengguna secara terus menerus menjamin bahwa mereka mengenkripsi informasi kepada penerima yang valid (Zimmermann 1999). Di dalam lingkungan, di mana dibutuhkan pertukaran kunci publik melalui server publik, serangan jenis man-in-the-middle merupakan ancaman serius. Dalam lingkungan seperti itu, pengguna harus dapat diberikan jaminan bahwa kunci publik yang digunakan untuk mengenkripsi informasi adalah benar-benar kunci publik dari penerima yang dimaksudkan. Sertifikat digital berperan seperti sertifikat secara fisik yang kita kenal. Sertifikat digital adalah informasi yang disertakan dalam kunci publik suatu pihak untuk membantu pihak lain dalam meyakinkannya bahwa kunci publik tersebut valid. Sertifikat digital berisi tiga jenis informasi, yaitu kunci publik, informasi sertifikat (seperti nama, identitas pengguna, dll), serta satu atau lebih tanda tangan digital. Karenanya, sertifikat digital pada dasarnya adalah kumpulan informasi pengidentifikasi yang disertakan bersama kunci publik dan ditandatangani oleh pihak ketiga yang terpercaya untuk menjamin keaslian sertifikat tersebut. Untuk lingkungan yang kecil, pertukaran kunci publik dapat dengan mudah dilakukan. Selebihnya, perlu dipertimbangkan untuk menempatkan mekanisme pertukaran kunci publik tersebut dalam sistem penyimpanan yang aman sehingga memungkinkan rekan sekerja, rekan bisnis, bahkan orang yang belum dikenal
sekalipun dapat bekerja sama. Kemudian muncul sistem yang hanya fokus sebagai media penyimpanan bersama dan bahkan sistem yang lebih terstruktur dengan fitur pengelolaan kunci yang disebut sebagai Public Key Infrastructure (PKI). Fitur penting dari PKI adalah Cetificate Authority (CA) yang merupakan entitas manusia, bisa seseorang, kelompok, departemen, perusahaan atau institusi lain yang punya otoritas mengeluarkan sertifikat ke komputer pengguna. Peran CA mirip dengan institusi pemerintah yang menerbitkan paspor. CA menerbitkan sertifikat yang ditandatangani oleh kunci privatnya. Karenanya, peran CA adalah yang terpenting dalam PKI. Sertifikat digital dapat memiliki format tertentu. Salah satunya adalah format X.509 yang digunakan dalam GSI. Sertifikat X.509 adalah kumpulan standar yang berisi informasi mengenai pengguna atau peralatan tertentu dan kunci publiknya. Standar X.509 mendefinisikan informasi yang akan disimpan dalam sertifikat dan format informasi tersebut. Semua sertifikat X.509 memiliki informasi berikut ini. a. Nomor versi X.509 yang mengidentifikasi versi X.509 yang diaplikasikan ke sertifikat. b. Kunci publik pemegang sertifikat, berikut algoritma yang mengidentifikasi kelompok dari jenis kunci yang digunakan serta parameter-parameter terkait. c. Nomor seri sertifikat, digunakan dalam beberapa kondisi, seperti ketika sertifikat dibatalkan, nomor seri ini ditempatkan di Certificate Revocation List (CRL). d. Identitas unik pemegang sertifikat atau sering disebut Distingushed Name (DN). DN terdiri dari beberapa bagian, misalnya ("/O=Grid/OU=GlobusTest/OU=simpleCA-server2.anaconda.org/ OU=anaconda.org/CN=Arya Adhyaksa Waskita" arya).
e. Masa valid sertifikat, mengindikasikan waktu sertifikat tidak berlaku lagi. f. Nama unik dari CA. Hal ini disebabkan karena penggunaan sertifikat mengimplikasikan kondisi percaya terhadap entitas penerbit sertifikat. g. Tanda tangan digital CA, menggunakan kunci publiknya. h. Algoritma tanda tangan digital yang digunakan CA
Semua sertifikat X.509 memenuhi standar internasional dari ITU-T X.509. Karenanya, sertifikat X.509 yang dibuat untuk suatu aplikasi dapat digunakan oleh aplikasi lain yang juga memenuhi standar ITU-T X.509. Meskipun secara praktis, banyak perusahaan yang membuat ekstensi terhadap sertifikat X.509 mereka yang belum tentu sesuai dengan ekstensi yang dibuat perusahaan lain.
2.4.4 Otentikasi bersama Jika dua entitas dalam lingkungan grid memiliki sertifikat, dan jika keduanya saling mempercayai CA yang mensertifikasi sertifikat mereka, maka keduanya berada dalam kondisi otentikasi bersama (Mutual Authentication). Kondisi tersebut memungkinkan keduanya untuk saling membuktikan bahwa mereka adalah benar-benar entitas yang mereka deklarasikan. Tahapan yang dilakukan dalam membangun otentikasi bersama antara dua entitas dapat dijelaskan pada Gambar 9 berikut.
Gambar 9 Tahapan dalam membangun otentikasi bersama
2.4.5 Delegation, Single-Sign-On dan Proxy Certificates GSI menyediakan kemampuan delegasi sebagai tambahan dari protokol standar SSL (Secure Socket Layer) dalam mengurangi kebutuhan pengguna untuk memasukkan kata sandinya. Hal ini sangat berguna ketika pengguna
membutuhkan beberapa sumber daya dalam lingkungan grid yang masing- masing mensyaratkan otentikasi bersama atau ketika diperlukan agen yang meminta layanan dari sisi pengguna. Pada kondisi tersebut kebutuhan untuk memasukkan lagi kata sandi pengguna diabaikan dengan membuat proxy. Dengan demikian kondisi Single-Sign-On (SSO) dapat diimplementasikan. Mekanisme delegasi tersebut diilustrasikan seperti Gambar 10.
Gambar 10 Ilustrasi delegasi dalam GSI (Globus Toolkit Team 2006a)
Sebuah proxy terdiri dari sertifikat proxy dan kunci privat yang gabungan keduanya dikenal sebagai proxy credential. Sertifikat baru yang berisi identitas pengguna dan penanda proxy tersebut ditandatangani oleh pengguna yang bersangkutan. Selain itu, terdapat pula notasi yang menunjukkan waktu valid dari proxy. Ketika proxy berhasil dibuat dan disimpan, entitas remote tidak hanya menerima sertifikat proxy, tapi sertifikat pengguna. Dalam hal ini, kunci pub lik pengguna yang terdapat dalam sertifikatnya akan digunakan untuk memvalidasi tanda tangan digital yang ada pada sertifikat proxy. Sedangkan, tanda tangan digital dalam sertifikat pengguna divalidasi dengan kunci publik CA. Demikianlah proses terbentuknya rantai kepercayaan dari CA sampai proxy melalui pengguna.
2.5. OGSA-DAI WSRF (OGSA-DAI Team 2006) OGSA-DAI adalah salah satu komponen dalam komponen
Data
Management GT yang memungkinkan berbagai jenis sumber data seperti basis data relasional dan XML diekspose ke lingkungan grid. Selain itu, OGSA-DAI dimaksudkan untuk menyediakan berbagai cara dalam operasi basis data seperti query dan transformasi melalui WS, serta akses ke data secara konsisten dan tidak tergantung sumber daya.
OGSA-DAI dikembangkan dalam dua spesifikasi WS, masing- masing adalah WS-Interoperability (WS-I) dan WSRF. Dalam penelitian ini, digunakan OGSA-DAI WSRF karena akan dijalankan di atas kontainer GT yang juga menggunakan spesifikasi WSRF. OGSA-DAI memiliki beberapa komponen penting ya ng diilustrasikan pada arsitektur seperti Gambar 11. Komponen-komponen tersebut menyediakan layanan yang berorientasi dokumen bagi pengguna melalui perform document dan response document. Dalam dokumen tersebut, didefinisikan aktifitas yang dikehendaki pengguna serta hasil eksekusinya.
Gambar 11 Arsitektur OGSA-DAI
Secara singkat keempat komponen penting OGSA-DAI dapat dijelaskan sebagai berikut. a. Data Layer adalah sumber data di luar OGSA-DAI yang akan diakses dan diekspose ke grid. Contohnya adalah basis data relasional seperti MySQL dan PostgreSQL. b. Business Logic Layer adalah fungsi- fungsi dasar OGSA-DAI yang dienkapsulasi ke dalam data service resources untuk mengekspose sumber data. Hubungan keduanya merupakan hubungan 1-1.
c. Presentation Layer adalah gerbang masuk bagi pengguna yang ingin melakukan operasi yang terkait dengan data seperti query dan transformasi, maupun yang terkait dengan transport. Komponen utamanya adalah data service. d. Client Layer adalah sisi di mana pengguna dapat berinteraksi dengan data service resource melalui data service.
2.5.1 Aktifitas Aktifitas adalah operasi yang diharapkan pengguna dilakukan oleh data service resource. Banyak aktifitas yang disediakan dalam paket OGSA-DAI seperti query dan update dalam bentuk skema XML dan pustaka Java. Selain yang telah disediakan, pengguna dapat membangun aktifitas yang didefinisikan sendiri. Secara umum, aktifitas digunakan untuk memanipulasi sumber data serta operasi transformasi dan deliveri data seperti SQL query, transformasi XSL-T, dan GridFTP. Terdapat empat tahap dalam mendeskripsikan aktifitas. Keempat tahap tersebut
masing- masing
adalah
mendefinisikan
skema
dalam
XML,
mengimplementasi kelas Java pada sisi server (untuk layanan) dan client, serta menginstalasinya. Skema XML berisi deskripsi struktur aktifitas. Dengan skema tersebut, penyedia layanan dapat memahami operasi yang diminta client. Contohnya adalah aktifitas sqlQueryStatement yang akan banyak digunakan dalam penelitian ini. Aktifitas ini mendefinisikan elemen <expression> yang berisi ekspresi query ke sumber data relasional. Tahap selanjutnya adalah mengimplementasikan kelas Java untuk layanan yang akan dibuat. Karena banyak sekali pustaka yang tersedia dalam paket OGSA-DAI, implementasi kelas Java menjadi lebih mudah. Umumnya, pustaka tersebut ditujukan untuk aktifitas-aktifitas dasar seperti query dan update. Aktifitas lain, umumnya merupakan turunan dari aktifitas dasar. Untuk tujuan tersebut, beberapa aktifitas dasar dapat digabung dalam pipe aktifitas. Aktifitas dapat diberikan nama pada sisi masukan dan keluarannya yang dikenal sebagai stream. Aktifitas yang saling berhubungan membentuk pipeline, dibuat dengan cara menjadikan stream keluaran suatu aktifitas sebagai referensi
bagi aktifitas lain. Aktifitas menuliskan blok data ke stream keluaran untuk kemudian dihubungkan dengan aktifitas yang terkait dengan keluaran tersebut. Sebuah blok dapat berupa obyek Java dengan jenis apapun meski pada umumnya berupa String dan array byte. Keuntungannya adalah bahwa konsep pipeline dapat mengeliminasi perpindahan data yang tidak perlu. Ide dasarnya adalah mendekatkan proses perhitungan ke sumber data. Jika setiap aktifitas diselesaikan menggunakan pasangan request-response layanan yang berbeda, akan muncul beban akibat proses serialization,
deserialization dan perpindahan data yang
cukup besar melalui jaringan. Tahap selanjutnya adalah mengimplementasi kelas Java pada sisi client. Tujuan utamanya adalah menyusun perform document, disesuaikan dengan skema XML yang sebelumnya dibuat. Kemudian dilanjutkan dengan instalasi. Tahap ini melibatkan penyimpanan skema dan kelas Java baik dari sisi server maupun client pada lokasi yang telah ditentukan. Konfigurasi tersebut dideskripsikan dalam dokumen konfigurasi aktifitas. Dokumen skema XML tersebut digunakan oleh data service resource yang diharapkan pengguna mengkesekusi aktifitasnya. Karena statusnya sebagai dokumen skema, dokumen tersebut juga ditempatkan di direktori yang sama dengan dokumen skema untuk aktifitas lainnya.
2.5.2 Data Service Data Service adalah gerbang masuk bagi pengguna yang ingin mengakses, melakukan query atau update terhadap sumber data menggunakan OGSA-DAI. OGSA-DAI memberikan layanan berorientasi dokumen yang berarti interaksinya dengan pengguna dilakukan melalui dokumen yang berisi berbagai aktifitas yang diperlukan. Layanan tersebut melibatkan dua jenis dokumen dalam format XML pada setiap interaksi antara pengguna dengan data service. Keduanya adalah perform document dan response document.
a. Perform document. Dokumen ini digunakan oleh pengguna untuk memberi instruksi kepada data service resource melalui data service untuk menjalankan aktifitas tertentu. Pengolahan perform document dapat dilakukan baik secara sinkron ataupun asinkron. Pengolahan secara sinkron
dilakukan dengan cara mengirimkan respon setelah eksekusi perform document selesai dilakukan. Sebaliknya, perform document yang tidak memiliki end-point, data hasil eksekusinya tidak dapat diikutkan dalam respon. Pada kondisi ini, data service resource
dapat
langsung
mengembalikan respon dan kembali mengolah perform document secara asinkron. b. Response Document. Dokumen ini akan diterima pengguna sebagai respon dari penyedia layanan atas perform document yang dikirimkan sebelumnya. Response document mendeskripsikan status eksekusi dan hasil dari perform document dalam format XML, seperti hasil query basis data.
2.5.3 Data Service Resource Data Service Resource mengimplementasikan fungsi- fungsi dasar OGSADAI dan menerima perform document dari data service untuk diolah. Komponen ini juga dapat menyimpan data sementara untuk keperluan pihak ketiga melalui operasi transport data pada data service. Konfigurasi data service resource dilakukan melalui berkas konfigurasi dengan jenis berikut ini. a. Berkas konfigurasi aktifitas, menjelaskan aktifitas yang dimungkinkan oleh data service resource untuk dieksekusi pengguna. b. Berkas konfigurasi kelas data resource accessor, menjelaskan kelas Java yang mengimplementasikan data resource accessor. c. Berkas konfigurasi sesi, menjelaskan properti dari sesi pengguna dengan data service resource.
Selain ketiga jenis berkas tersebut, setiap data service resource juga memiliki berkas konfigurasi untuk data resource accessor terkait yang digunakannya. Saat ini, berbagai berkas konfigurasi tersebut dapat dibuat secara otomatis dengan tool yang tersedia dalam distribusi OGSA-DAI.
2.5.4 Interaksi antar komponen utama OGSA-DAI Telah dijelaskan bahwa OGSA-DAI mendukung interaksi yang berorientasi dokumen. Dengan kata lain, pengguna berinteraksi dengan data service melalui perform document. Data service kemudian meneruskan dokumen tersebut ke data service resource sebagai representasi sumber data. Data service resource kemudian menginterpretasi dan mengeksekusi aktifitas yang dideskripsikan dalam perform document. Hasil eksekusi aktifitas tersebut kemudian dideskripsikan dalam response document untuk kemudian dikirimkan kembali ke pengguna. Mekanisme request-response antara pengguna dan OGSA-DAI dapat diilustrasikan seperti Gambar 12.
Gambar 12 Ilustrasi request-response pengguna dan OGSA-DAI
2.6. Bibliografi, Bibliometriks serta Analisis Sitiran dan Entropi Secara harfiah, bibliografi adalah kumpulan publikasi, baik berupa buku, artikel, jurnal, disertasi, situs web, atau informasi lainnya untuk topik tertentu (University of Connecticut Libraries 2005). Dalam bibliografi, terdapat banyak informasi yang berguna bagi ilmu informasi dan perpustakaan. Bibliometriks adalah metode penelitian yang digunakan dalam ilmu informasi dan perpustakaan (Palmquist 1997). Bibliometriks menggunakan analisis kuantitatif dan statistik untuk mendeskripsikan pola publikasi pada sebuah literatur. Sedangkan analisis sitiran adalah salah satu metode bibliometriks untuk mengungkap hubungan antar penulis maupun hasil tulisannya (Palmquist 1997). Analisis sitiran menggunakan data sitiran dalam mengevaluasi aktivitas ilmiah untuk melihat hubungan yang ada antara yang disitir dengan yang menyitir (Mutiara 2004). Hubungan tersebut dapat terjadi antar penulis, antar kelompok kerja, antar jurna l, antar bidang, bahkan antar negara. Salah satu penelitian yang
berkaitan dengan analisis sitiran dilakukan oleh Kostoff et al. (2004). Penelitian tersebut bertujuan untuk mengidentifikasi pengguna hasil suatu penelitian, aplikasi, dan pengaruhnya terhadap pelaku penelitian, manager, penilai, serta penyandang dana. Analisis entropi dalam ilmu informasi mengadopsi terminologi entropi dalam
termodinamika.
Entropi
dalam
termodinamika
adalah
ukuran
ketidakteraturan alam semesta. Dalam sebuah sistem terisolasi, total energi yang terkandung di dalamnya tetap sama. Akan tetapi, transformasi energi searah (irreversible) menyebabkan sistem tersebut terdegradasi. Degradasi ini adalah bentuk dari mengarahnya distribusi energi dalam sistem pada suatu pola tertentu (Dutta 1995). Konsep entropi dalam termodinamika kemudian diadopsi dalam ilmu informasi. Dalam hal karya tulis ilmiah, sebuah jurnal dapat menjadi sumber inspirasi penulis/peneliti lain dalam berkarya. Saat suatu tulisan terbit, kondisi ini dapat dianalogikan dengan kondisi saat terjadi ketidakseimbangan distribusi energi dalam sistem termodinamika. Sitiran, merupakan ujud dari mengarahnya distribusi energi tersebut menuju suatu pola tertentu. Mutiara (2004) memformulasikan nilai entropi untuk kasus bibliografi seperti persamaan 1 berikut ini.
(1)
dengan
I = entropi probabilistik np = jumlah total sitiran saat priori nq = jumlah total sitiran saat posteriori fp = frekuensi sitiran saat priori fq = frekuensi sitiran saat posteriori Indeks p = kondis i priori Indeks q = kondisi posteriori