DISAIN SISTEM TERINTEGRASI BERBASIS GRID UNTUK ANALISIS SITIRAN DATA BIBLIOGRAFI
ARYA ADHYAKSA WASKITA
SEKOLAH PASCASARJANA INSTITUT PERTANIAN BOGOR BOGOR 2007
PERNYATAAN MENGENAI TESIS DAN SUMBER INFORMASI Dengan ini saya menyatakan bahwa Tesis Disain Sistem Terintegrasi Berbasis Grid Untuk Analisis Sitiran Data Bibliografi, adalah karya saya sendiri dan belum diajukan dalam bentuk apapun kepada Perguruan Tinggi manapun. Sumber informasi yang berasal atau dikutip dari karya yang diterbitkan maupun tidak diterbitkan dari penulis lain telah disebutkan dalam teks dan dicantumkan dalam Daftar Pustaka di bagian akhir tesis ini.
Depok, Agustus 2007
Arya Adhyaksa Waskita NRP. G651040114
ABSTRAK
ARYA ADHYAKSA WASKITA. Disain Sistem Terintegrasi Berbasis Grid untuk Analisis Sitiran Data Bibliografi. Dibimbing oleh SUGI GURITMAN dan RINDANG KARYADIN. Analisis sitiran perlu dilakukan untuk mengevaluasi aktifitas ilmiah. Aktifitas ilmiah tergambar dari berbagai publikasi ilmiah. Karena itu, dibutuhkan sistem terintegrasi data bibliografi untuk memudahkan kegiatan analisis sitiran. Dalam penelitian ini, gambaran aktifitas ilmiah yang ingin diperoleh dari analisis sitiran ditunjukkan melalui formula entropi. Sebuah prototipe sistem untuk mengintegrasikan dua data bibliografi dari publikasi ilmiah telah dikembangkan dalam penelitian ini dengan memanfaatkan teknologi grid. Kedua data bibliografi tersebut disimpan dalam basis data yang berbeda, masing- masing dalam PostgreSQL dan MySQL. Prototipe sistem memanfaatkan perangkat lunak bantu Globus Toolkit dan OGSA-DAI serta diujicobakan menggunakan sistem operasi Fedora Core 4. Dalam penelitian ini, prototipe sistem yang dikembangkan mampu mendapatkan komponen-komponen variabel dari formula entropi, sehingga aktfitas analisis sitiran dapat dilakukan dengan mudah. Selain itu, diimplementasikan pula fasilitas keamanan dalam mengakses sumber data bibliografi untuk menjamin hanya pengguna terautentikasi yang dapat meminta layanan. Kata kunci: analisis sitiran, entropi, grid, Globus Toolkit, OGSA-DAI
ABSTRACT ARYA ADHYAKSA WASKITA. Grid-based Integrated System Design for Citation Analysis of Bibligraphy Data. Supervised by SUGI GURITMAN and RINDANG KARYADIN Citation analysis is necessary to evaluate development of scientific activities. These scientific activities are described in various scientific publications. Therefore, an integrated system in bibliography data is required for easier citation analysis. In this research, the development of scientific activities will be represented by entropy formulae. A grid-based system prototype has been developed to integrate two bibliography database systems, i.e. PostgreSQL and MySQL, respectively. The prototype makes use of Globus Toolkit and OGSA-DAI software, and is tested on Fedora Core 4 Linux platform. Our approach is promising, since the prototype is able to obtain variables constructing the entropy formulae. It shows that the citation analysis can be performed easier. A security mechanism in accessing the bibliography database systems is also adopted in the prototype which ensure that only the authenticated user can ask the citation analysis services. Keywords: citation analysis, entropy, grid, Globus Toolkit, OGSA-DAI
© Hak Cipta milik Institut Pertanian Bogor, tahun 2007 Hak Cipta Dilindungi Dilarang mengutip dan memperbanyak tanpa izin tertulis dari Institut Pertanian Bogor, sebagian atau seluruhnya dalam bentuk apapun, baik cetak, fotokopi, microfilm dan sebagainya.
DISAIN SISTEM TERINTEGRASI BERBASIS GRID UNTUK ANALISIS SITIRAN DATA BIBLIOGRAFI
ARYA ADHYAKSA WASKITA G651040114
Tesis sebagai salah satu syarat untuk memperoleh ge lar Magister Sains pada Departemen Ilmu Komputer
SEKOLAH PASCA SARJANA INSTITUT PERTANIAN BOGOR 2007
Penguji luar komisi sidang tesis: Irman Hermadi,S.Kom, M.S
Judul Tesis Nama NIM
: Disain Sistem Terintegrasi Berbasis Grid untuk Analisis Sitiran Data Bibliografi : Arya Adhyaksa Waskita : G651040114
Disetujui, Komisi Pembimbing
Dr. Sugi Guritman Ketua
Rindang Karyadin, S.T, M.Kom Anggota
Diketahui, Ketua Program Studi Ilmu Komputer
Dekan Sekolah Pascasarjana
Dr. Sugi Guritman
Prof.Dr.Ir.Khairil Anwar Notodiputro,M.S
Tanggal Ujian: 28 Juli 2007
Tanggal Lulus:
PRAKATA Alhamdulillah, puji syukur penulis panjatkan kehadirat Allah SWT yang atas izin-Nya, karya ilmiah ini dapat diselesaikan. Terima kasih penulis sampaikan kepada bapak Dr. Sugi Guritman dan bapak Rindang Karyadin, S.T., M.Kom atas bimbingan dan masukannya. Terima kasih pula penulis sampaikan kepada ibu Dra. Mutiara, M.Hum dan bapak Said Mirza Pahlevi, Ph.D yang dari keduanya penulis mendapatkan inspirasi dan bimbingan teknis dalam melakukan penelitian. Tak lupa terima kasih penulis haturkan kepada mama, papa, istri dan putra tunggal penulis yang selalu memberikan dukungan sehingga penulis dapat menyelesaikan penelitian. Dan akhirnya, terima kasih kepada rekan-rekan penulis di Program Studi Magister Ilmu Komputer IPB atas dukungan dan kebersamaannya selama ini. Semoga karya ilmiah ini dapat memberi manfaat bagi perkembangan ilmu pengetahuan dan teknologi di Indonesia.
Depok, Agustus 2007
Arya Adhyaksa Waskita NIM. G651040114
RIWAYAT HIDUP Penulis lahir di Larat pada tanggal 24 April 1979 dari ayah Suparno dan ibu Dwiretno Indiastuti. Tahun 1991, penulis menyelesaikan pendidikan SD di SDN II PassoAmbon. Penulis kemudian melanjutkan pendidikan SMPN Lateri di Ambon hingga tahun 1992 dan menyelesaikannya tahun1994 di SMPN 87 Jakarta. Tahun 1997, penulis menyelesaikan pendidikan di SMUN 47 Jakarta. Kemudian, penulis melanjutkan pendidikan di Jurusan Fisika FMIPA Universitas Indonesia hingga tahun 2002. Penulis mengawali karir sebagai PNS pada Badan Tenaga Nuklir Nasional tahun 2003 hingga saat ini. Penulis kemudian melanjutkan pendidikan di Sekolah Pascasarjana Program Studi Ilmu Komputer IPB tahun 2004. Saat ini penulis tingga di Depok bersama istri – Rahayu Kusumastuti dan seorang putra – Galih Gilang Ganesha.
DAFTAR ISI
Halaman DAFTAR TABEL…………………………………………………………….
xi
DAFTAR GAMBAR………………………………………………………….
xi
DAFTAR LAMPIRAN………………………………………………………..
xii
1.
2.
PENDAHULUAN…………………………………………………….......
1
1.1.
Latar Belakang Masalah…………………………………………..
1
1.2.
Formulasi Permasalahan………………………………………….
1
1.3.
Tujuan Penelitian……………………………………………........
2
1.4.
Batasan Penelitian…………………………………………….......
3
TINJAUAN PUSTAKA………………………………………………….
4
2.1.
Sistem Terdistribusi………………………………………….......
4
2.2.
Grid……………………………………………………………….
6
2.2.1 Definisi Grid…………………………………………….
6
2.2.2 Service Oriented Architecture dan Web Service………..
8
2.2.3 Open Grid Service Architecture (OGSA)……………….
12
2.2.4 Topologi Grid……………………………………………
12
2.2.5 Virtual Organization……………………………….........
13
2.3.
Globus Toolkit……………………………………………….........
14
2.4.
Infrastruktur Keamanan Grid (Grid Security Infrastructure)…….
17
2.4.1
Kriptografi Kunci Publik………………………………..
17
2.4.2
Tanda Tangan Digital……………………………………
18
2.4.3
Sertifikat Digital…………………………………………
19
2.4.4
Otentikasi Bersama……………………………………...
21
2.4.5
Delegation, Single-Sign-On dan Proxy Ceritificates........
21
OGSA-DAI WSRF………………………………………………..
22
2.5.1
Aktifitas………………………………………………….
22
2.5.2
Data Service……………………………………………..
25
2.5.3
Data Service Resource…………………………………..
26
2.5.4
Interaksi Antar Komponen Utama OGSA-DAI……........
27
Bibliografi, Bibliometriks serta Analisis Sitiran dan Entropi…….
27
2.5.
2.6.
3.
METODE PENELITIAN…………………………………………………
29
3.1.
Metode Penelitian…………………………………………………
29
3.2.
Bahan dan Alat………………………………………………........
32
DISAIN DAN IMPLEMENTASI………………………………………...
33
4.1.
Pengumpulan Data………………………………………………..
33
4.2.
Disain Skema Basis Data……………………………………........
33
4.3.
Konfigurasi dan Implementasi Basis Data……………………….
34
4.4.
Konfigurasi GT…………………………………………………...
35
4.5.
Implementasi OGSA-DAI WSRF ke Kontainer GT……………..
45
HASIL DAN PEMBAHASAN…………………………………………...
52
5.1.
Implementasi Data Bibliografi………………………………........
52
5.2.
Konfigurasi GT…………………………………………………...
53
5.3.
Konfigurasi OGSA-DAI………………………………………….
53
5.4.
Pengujian………………………………………………………….
54
5.5.
Pembahasan……………………………………………………….
60
SIMPULAN DAN SARAN…………………………………………........
62
6.1.
Simpulan…………………………………………………………..
62
6.2.
Saran………………………………………………………………
62
DAFTAR PUSTAKA…………………………………………………………
64
LAMPIRAN…………………………………………………………………..
67
4.
5.
6.
DAFTAR TABEL Halaman 1 Perbandingan grid terhadap teknologi sistem terdistribusi lainnya……….
8
2 Daftar perangkat lunak.................................................................................
32
3 Daftar perangkat keras.................................................................................
32
DAFTAR GAMBAR Halaman 1 Ilustrasi umum sistem terdistribusi dengan middleware..............................
5
2 Komunikasi client/server menggunakan WS……………………………...
10
3 Hubungan antar komponen pada server WS................................................
11
4 Keterkaitan topologi intragrid, ekstragrid, dan intergrid.............................
13
5 Komponen-komponen GT4.........................................................................
15
6 Arsitektur GT4.............................................................................................
16
7 Ilustrasi enkripsi dengan kunci publik.........................................................
18
8 Ilustrasi tanda tangan digital........................................................................
19
9 Tahapan dalam membangun otentikasi bersama.........................................
21
10 Ilustrasi delegasi dalam GSI......................................................................
22
11 Arsitektur OGSA-DAI...............................................................................
23
12 Ilustrasi request-response pengguna dan OGSA-DAI...............................
27
13 Tata laksana penelitian…………………………………………………..
29
14 Alur kerja penelitian Mutiara (2004).........................................................
30
15 Skema hubungan antar subsistem..............................................................
31
16 Skema basis data........................................................................................
33
17 Memilih basis data……………………………………………………….
48
18 Mengisi informasi mengenai basis data dan penggunanya………………
48
19 Memilih pustaka untuk koneksi ke basis data............................................
48
20 Menyimpan berkas konfigurasi…………………………………………..
49
21 Memilih kontainer………………………………………………………..
49
22 Konfirmasi konfigurasi DataServiceResource…………………………..
49
23 DataServiceResource telah dikonfigurasi………………………………..
50
24 Memilih kontainer………………………………………………………..
50
25 Memilih DataService yang akan mengekspose DataServiceResource.....
50
26 Konfirmasi untuk mengekspose DataServiceResource………………….
50
27 DataServiceResource telah diekspose…………………………………...
51
28 Mengkases DataService di server2…………………………………….
56
29 Hasil aktifitas query ke server2...............................................................
56
30 Mengakses DataService di server1……………………………………..
57
31 Hasil aktifitas query ke server1...............................................................
57
32 Aktifitas menambahkan data……………………………………………..
59
33 Aktifitas memodifikasi data……………………………………………...
60
34 Aktifitas menghapus data………………………………………………..
60
DAFTAR LAMPIRAN Halaman 1 Berkas konfigurasi layanan GridFTP........................................................... 67 2 Berkas konfigurasi kontainer GT.................................................................
67
3 Berkas untuk menjalankan kontainer GT....................................................
68
BAB I PENDAHULUAN
1.1. Latar Belakang Masalah Kemajuan iptek telah memungkinkan para peneliti melakukan aktivitas penelitian secara bersama meskipun terpisah dalam jarak yang jauh secara geografis. Mereka melakukan penggabungan (menggunakan bersama) berbagai sumber daya yang dimiliki meliputi sebuah peralatan khusus, sumber daya komputasi, aplikasi, maupun data menggunakan grid. Telah banyak berkembang aplikasi yang memanfaatkan grid tersebut (Foster, 1999). Sebagian aplikasi berkaitan dengan data-intensive seperti pada penelitian fisika energi tinggi yang dapat menghasilkan terabytes data per hari. Contoh lain dari aplikasi yang memerlukan data-intensive adalah dalam bidang astronomi, khususnya misi pengamatan bumi dari luar angkasa (Fusco & Bemmelen 2004). Mutiara (2004) telah melakukan penelitian dalam menerapkan analisis entropi untuk mengidentifikasi pola sitiran bidang ilmu fisika pada jurnal fisika terakreditasi
di
Indonesia.
Penelitian
tersebut
bertujuan
mengungkap
perkembangan ilmu fisika yang tercermin dari pola sitiran jurnal-jurnal fisika. Di lain pihak, telah dilakukan penelitian untuk melakukan query pada web database (kumpulan data yang dapat diakses melalui antarmuka web) di lingkungan grid (Pahlevi & Kojima 2004). Web database yang diakses adalah basis data yang berisi data ilmiah mengenai obat, paten, serta bibliografi. Dengan grid, basis data yang tersebar secara geografis tidak hanya dapat diakses dan diintegrasikan, tetapi juga dapat diberikan instruksi SQL (Structured Query Language) standar. Dengan demikian, pencarian terhadap sejumlah besar data yang tersebar dapat dilakukan dengan mudah untuk proses pengolahan selanjutnya.
1.2. Formulasi Permasalahan Data bibliografi dalam penelitian analisis entropi (Mutiara 2004) diperoleh dengan melakukan penelusuran langsung ke institusi penerbit. Hal ini disebabkan karena jurnal fisika yang menjadi sumber data dalam penelitian tersebut tidak
terdokumentasi secara lengkap di PDII- LIPI (Pusat Dokumentasi dan Informasi Ilmiah - Lembaga Ilmu Pengetahuan Indonesia) . Selain itu, sumber data yang masih berupa hardcopy menyebabkan tahap pengolahan data harus diawali dengan pencatatan data sitiran dari setiap judul artikel yang terdapat dalam masing- masing jurnal secara manual. Dengan berkembangnya teknologi perpustakaan digital, tahap pencatatan data sitiran secara manual tentu tidak perlu dilakukan lagi. Selain membutuhkan waktu lama, mekanisme ini rentan terhadap kesalahan pencatatan. Penelusuran langsung ke institusi penerbit juga membutuhkan waktu yang lama dan biaya yang tidak sedikit. Dengan terintegrasinya berbagai perpustakaan digital yang dilengkapi dengan fungsi analisis terhadap data bibliografi yang dimiliki, diharapkan dapat memudahkan proses penelitian.
1.3. Tujuan Penelitian Penelitian ini ditujukan untuk merancangan sistem terintegrasi berbasis grid untuk analisis sitiran data bibliografi. Hasil penelitian ini diharapkan dapat menjadi acuan awal dalam mengembangkan sistem terintegrasi berbasis grid, khususnya untuk mendukung penelitian mengenai analisis sitiran pada data bibliografi. Lebih luas lagi, penelitian ini diharapkan dapat membantu aktifitas yang membutuhkan integrasi data lintas organisasi yang otonom. Dengan grid, penggunaan bersama sumber daya data bibliografi dari berbagai institusi penerbit jurnal dapat dilakukan dengan mudah dan dinamis. Selain itu, perangkat lunak pendukung yang digunakan dalam penelitian ini dapat diperoleh secara bebas, gratis, tidak tergantung pada sistem operasi di mana basis data diimplementasikan serta dilengkapi fitur keamanan yang baik. Selain itu, penelitian mengenai analisis sitiran pada data bibliografi dimungk inkan untuk diperluas pada banyak institusi penerbit jurnal.
1.4. Batasan Penelitian •
Mensimulasi integrasi dua data publikasi ilmiah dalam dua domain berbeda yang mewakili dua institusi penerbit.
•
Kedua data publikasi ilmiah diterapkan dalam basis data relasional dengan skema yang berbeda menggunakan PostgreSQL dan MySQL yang menunjukkan keragaman dan otoritas pemilik sumber daya..
•
Tidak mengikutsertakan analisis subyek.
•
Penerapan otentikasi bersama antara kedua domain dilakukan secara manual.
•
Perhitungan nilai entropi dilakukan secara manual.
•
Pengujian dilakukan dengan prinsip end-to-end.
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
BAB III METODE PENELITIAN
3.1. Metode Penelitian Secara umum, metode penelitian yang digunakan tersusun dalam suatu diagram alir seperti pada Gambar 13. Diagram alir tersebut memperlihatkan tahap-tahap penelitian yang dilakukan.
Gambar 13 Tata laksana penelitian
Penjelasan rinci mengenai tahapan penelitian adalah sebagai berikut. a. Identifikasi Masalah. Tahapan ini dilakukan dengan menelaah alur kerja penelitian Mutiara (2004) seperti Gambar 14. Dalam alur kerja tersebut terdapat kesulitan dalam pengumpulan data yang berpotensi diselesaikan menggunakan grid. Selain itu, dilakukan juga telaah terhadap semua pustaka mengenai grid, OGSA-DAI, WS, dan analisis entropi.
Gambar14 Alur kerja penelitian Mutiara (2004)
b. Identifikasi subsistem dan pengumpulan data. • Identifikasi susbsistem yang terlibat dalam prototipe sistem didasarkan pada alur kerja penelitian Mutiara (2004) dengan beberapa batasan. Kemudian,
dibuat
skema
hubungan
setiap
susbsistem
seperti
diilustrasikan pada Gambar 15. Kedua subsistem yang menyediakan fasilitas integrasi data untuk mendukung perhitungan entropi. Keduanya juga tergabung dalam sebuah VO yang saling percaya. • Data yang digunakan diperoleh dari Perpustakaan PPIN – Badan Tenaga Nuklir Nasional.
Gambar 15 Skema hubungan antar subsistem
2.2.3 Konfigurasi GT dan OGSA-DAI serta Disain skema dan implementasi basis data. • Konfigurasi GT dilakukan di server1 dan server2 meliputi simpleCA (paket Certificate Authority yang dikemas dalam paket GT). Kedua mesin juga diset untuk saling mempercayai Cetificate Authority keduanya. Proses ini kemudian dilanjutkan dengan instalasi paket OGSA-DAI sebagai layanan baru dalam GT, instalasi data service dan data service reource. • Disain skema basis data dilakukan untuk server basis data yang berbeda, masing- masing MySQL (rilis 5.0.21) dan PostgreSQL (rilis 8.1.3). Implementasi dilakukan dengan membuat basis data sesuai skema untuk masing- masing server basis data diikuti dengan proses memasukkan data.
d. Pengujian. Pengujian dititikberatkan pada penggunaan fasilitas internal OGSA-DAI untuk mendapatkan komponen dalam formula entropi (persamaan 1). Pengujian dilakukan melalui antarmuka dengan modus Command Line Interface dan grafik. Selain itu, dilakukan pula pengujian pengaturan hak akses pengguna terhadap sumber data yang tersedia. e. Pembahasan. Hasil tahap pengujian kemudian dievaluasi untuk tujuan perbaikan dan peningkatan fungsi pada penelitian di masa mendatang.
3.2. Bahan dan Alat Bahan yang akan digunakan adalah prosiding dari lokakarya dan seminar dari yang diselenggarakan di berbagai unit di lingkungan Badan Tenaga Nuklir Nasional (BATAN). Dari beberapa prosiding yang tersedia, dipilih prosiding Lokakarya Komputasi Sains dan Teknologi Nuklir (LKSTN) serta prosiding seminar Sains dan Teknologi Nuklir pada tahun 1995 - 1997. Dari prosiding pertama, diperoleh 138 karya ilmiah, sementara dari sisanya diperoleh 123 karya ilmiah. Sedangkan, peralatan terdiri dari perangkat keras dan perangkat lunak. Tabel 2 berisi daftar perangkat lunak, sedangkan Tabel 3 berisi perangkat keras.
Tabel 2 Daftar perangkat lunak No.
Nama Perangkat Lunak
1
Linux OS Kernel 2.6.x (Fedora Core 4)
2
Basis data MySQL 5.0.21 dan PostgreSQL 8.1.3
3
Globus Toolkit 4.0.2
4
OGSA-DAI WSRF 2.2
5
J2SE Development Kit 1.5.0.8
6
Ant 1.6.5
7
Open Office 2.0.3
Tabel 3 Daftar perangkat keras No.
Nama Alat
1
Komputer
Spesifikasi •
AMD Athlon 1.7GHz, 256MB ram, 80GB HD, Realtek 10/100MBps LAN
•
Dell Intel P3 1GHz, 256MB ram, 30GB HD, Integrated Lan Card
BAB IV DISAIN DAN IMPLEMENTASI
4.1. Pengumpulan Data Bahan yang diperoleh dari perpustakaan PPIN-BATAN. Selain kemudahan dalam memperolehnya, alasan dipilihnya bahan tersebut adalah karena dalam tahun penerbitan tertentu, terdapat cukup banyak karya ilmiah yang dipublikasi. Acuan yang digunakan pada karya ilmiah dalam prosiding tersebut juga cukup beragam.
4.2. Disain Skema Basis Data Skema untuk kedua basis data server seperti pada Gambar 16. Skema yang dibuat memiliki perbedaan, terutama pada kemampuan PostgreSQL yang mampu mengakomodasi jenis data array. Jenis data ini digunakan untuk menyimpan nama penulis, baik pada artikel dalam prosiding maupun referensi.
(a)
(b) Gambar 16 Skema basis data : (a). Bibliografi dengan PostgreSQL; (b). Bibliografi dengan MySQL.
4.3. Konfigurasi dan Implementasi Basis Data Server basis data yang digunakan adalah PostgreSQL rilis 8.1.3 dan MySQL rilis 5.0.21. Berikut adalah tahapan yang dilakukan dalam konfigurasi dan implementasi menggunakan basis data tersebut. a. Konfigurasi PostgreSQL. Konfigurasi dilakukan pada kedua server dengan penggunaan yang sedikit berbeda. Pada server1, basis data PostgreSQL digunakan sebagai server basis data untuk salah satu data bibliografi dan untuk layanan RFT. Sedangkan pada server2, digunakan hanya untuk layanan RFT. Dalam penelitian ini, digunakan distribusi kode sumber PostgreSQL versi 8.1.3. Akan tetapi, sebelum konfigurasi dilakukan, pengguna dalam sistem operasi untuk mengelola server basis data (diberi nama postgres) perlu ditambahkan dengan tahapan berikut. # /usr/sbin/useradd-c “PostgreSQL” -g 501 -m -u 501 postgres
Selanjutnya, postgreSQL dikonfigurasi dengan langkah- langkah berikut. $ $ $ # # $ $
./configure make su make install su – postgres mkdir ~postgres/data /usr/local/pgsql/bin/initdb
-D
/home/postgres/data
(inisialisasi basis data server ke direktori /home/postgres/data) $ /usr/local/pgsql/bin/postmaster -D /home/postgres/data >logfile 2>&1 & (menjalankan server PostgreSQL)
Berikutnya berturut-turut adalah membuat pengguna dengan identitas globus
untuk basis data PostgreSQL dan memasukkan data. Pengguna basis
data tersebut akan digunakan untuk menerima pendelegasian aktifitas dari pengguna grid. $ $ $ $
/usr/local/pgsql/bin/createuser -A -d -P globus su – globus /usr/local/pgsql/bin/createdb lkstn /usr/local/pgsql/bin/psql lkstn
b. Konfigurasi MySQL. Dalam penelitian ini, digunakan distribusi rpm untuk MySQL 5.0.21. Konfigurasi paket rpm untuk rilis 5.0.21 adalah dengan perintah rpm -ivh MySQL-*. Server MySQL langsung diaktifkan setelah
konfigurasi selesai. Sama seperti pada PostgreSQL, pada MySQL juga memerlukan pengguna globus untuk mengimplementasikan data. Nama yang sama untuk pengguna pada kedua basis data hanya untuk tujuan kemudahan bagi penulis. Pada MySQL, pembuatan pengguna dan basis data dilakukan dengan cara berikut. # mysql -p mysql> use mysql; mysql> create user 'globus'@'localhost'; mysql> set password for 'globus'@'localhost'=password('globusUser'); mysql> \q # su – globus $ mysql -u globus -p mysql> create database seminar;
Terkait dengan tahapan pengujian, dibuat pula dua pengguna lain pada server basis data MySQL, masing- masing dengan hak akses terbatas ke sumber data. Pengguna dengan identitas tmp dibuat dengan hak akses penuh ke satu tabel. Sedangkan pengguna dengan identitas tmp2 dibuat dengan hak akses terbatas (hanya pernyataan select) pada satu tabel. Pembuatan kedua pengguna tersebut dilakukan dengan cara yang sama seperti perintah di sebelumnya.
4.4. Konfigurasi GT (Globus Toolkit Team 2006b) Secara umum, konfigurasi paket GT dapat dibagi dalam beberapa tahap. Berikut adalah tahap-tahap yang dilakukan di server1 dan server2.
a. Persiapan Awal. Konfigurasi dimulai dengan menyiapkan kebutuhan perangkat lunak pendukung yang dibutuhkan oleh GT. Perangkat lunak pendukung tersebut diantaranya adalah kompilator gcc, pustaka Java dan ant,
serta memastikan PATH untuk perangkat lunak pendukung serta
konfigurasi GT dalam sistem operasi. Untuk shell BASH, PATH diset dengan perintah berikut. # # # #
export export export export
JAVA_HOME=/usr/local/jdk1.5.0.8 ANT_HOME=/usr/local/ant1.6.5 GLOBUS_LOCATION=/opt/gt-4.0.2 PATH=${PATH}:${JAVA_HOME}/bin:${ANT_HOME}/bin
Selain itu, perlu dibuat pengguna dalam sistem operasi dengan nama globus yang akan mengelola sertifikat host dan pengguna. Konfigurasi dilakukan oleh globus, karena itu PATH untuk paket GT juga diset sebagai miliknya. Selanjutnya adalah variabel HOSTNAME diset pada masing- masing server. Karena asumsi yang digunakan dalam penelitian ini adalah terdapat dua domain yang akan digabungkan dalam sebuah VO, pada setiap server juga dijalankan layanan Domain Name Server (DNS). Dalam penelitian ini, variabel
localhost.localdomain
server1.mammoth.org
masing- masing
diset
menjadi
dengan IP 25.20.5.31 dan server2.anaconda.org
dengan IP 195.20.5.31. Dalam penelitian ini, mesin server1 dan server2 menggunakan sistem operasi Fedora Core 4. Langkah konfigurasi paket GT berikut ini dilakukan pada kedua server, tetapi yang ditampilkan hanya pesan dari server1 karena alasan kesamaan. Opsi hostname juga disesuaikan dengan server yang digunakan.
b. Membangun paket GT. Proses konfigurasi kemudian dapat dilajutkan dengan membangun paket GT. Dalam hal ini, paket GT yang digunakan telah di-precompiled untuk sistem operasi Fedora Core 4 agar dapat diimplementasikan lebih cepat. Langkah- langkah yang dijalankan dalam mambangun paket GT adalah sebagai berikut. $ ./configure –prefix=$GLOBUS_LOCATION $ make $ make install.
c. Konfigurasi fasilitas kemanan. Konfigurasi fasilitas keamanan berupa simpleCA sebagai Certificate Authority (CA) yang telah dikemas dalam paket GT untuk tujuan uji coba. Konfigurasi simpleCA dilakukan oleh pengguna dengan ID globus dengan perintah $GLOBUS_LOCATION/setup/globus/setup-simple-ca
Perintah tersebut akan memaketkan distribusi simpleCA sebagai berkas ~globus/.globus/simpleCA//globus_simple_ca_cert_hash_setupx.xx.tar.gz.
Paket inilah yang nantinya saling dipertukarkan untuk
membuat simpleCA baru di masing- masing server agar keduanya dapat
saling percaya (otentikasi bersama). Paket simpleCA kemudian disimpan di direktori ~globus/.globus/simpleCA.
Langkah selanjutnya adalah membuat kedua server percaya pada CA yang baru saja dikonfigurasi. Tahap ini dilakukan oleh pengguna dengan ID root menggunakan perintah berikut. # $GLOBUS_LOCATION/setup/globus_simple_hash_setup/setup-gsi default
Opsi -default digunakan untuk simpleCA yang pertama kali dikonfigurasi sebagai CA yang utama untuk mesin yang bersangkutan. Proses dilanjutkan dengan meminta sertifikat untuk host dan pengguna ke CA dengan perintah # $GLOBUS_LOCATION/bin/grid-cert-request -host server1.mammoth.org
Opsi host digunakan untuk meminta sertifikat host, sedangkan sertifikat untuk pengguna dilakukan oleh pengguna itu sendiri. Untuk host, sertifikat ada diletakkan di direktori /etc/grid-security/certificates. Perintah grid-cert-request /etc/grid-security
kemudian menghasilkan tiga berkas di direktori masing hostcert_request.pem, hostcert.pem
yang masih kosong, dan hostkey.pem. Sertifikat tersebut kemudian perlu ditandatangani. Berikut adalah proses menandatangani sertifikat oleh globus.
Opsi –in menunjukkan asal berkas permintaan tanda tangan,
sedangkan
opsi
–out
menunjukkan
berkas
sertifikat
yang
telah
ditandatangani. $GLOBUS_LOCATION/bin/grid-ca-sign -in /etc/gridsecurity/hostcert_request.pem -out hostsigned1.pem To sign the request please enter the kata sandi for the CA key: The new signed certificate is at: /home/globus/.globus/simpleCA//newcerts/01.pem
Perintah tersebut menunjukkan permintaan tanda tangan diberikan melalui berkas hostcert_request, sedangkan sertifikat yang telah ditandatangani disimpan dalam berkas hostsigned1. Sertifikat tersebut juga disimpan oleh
simpleCA dalam berkas ~globus/.globus/simpleCA//newcerts/01.pem. Penamaan 01.pem disebabkan karena berkas sertifikat host adalah sertifikat yang pertama kali ditandatangani simpleCA. Sertifikat yang ditandatangani kemudian akan diberi nama 02.pem, 03.pem, dan seterusnya. Selanjutnya, hostsigned1.pem
akan
security/hostcert.pem
menggantikan
berkas
/etc/grid-
yang sebelumnya masih kosong.
Sertifikat host akan dimiliki oleh root dan akan digunakan oleh layanan seperti globus-gridftp-server. Akan tetapi, tidak semua layanan dan kontainer yang dijalankan dari root. Karenanya, perlu dibuat salinan dari sertifikat host bagi kontainer yang akan menjalankan layanan globus. Hal ini dilakukan dengan menyalin berkas hostcert.pem dan hostkey.pem masing- masing menjadi containercert.pem dan containerkey.pem yang dimiliki pengguna dengan ID globus. # cp hostcert.pem containercert.pem # cp hostkey.pem containerkey.pem # chown globus:globus container*.pem
Setelah permintaan sertifikasi host, proses dilanjutkan dengan permintaan sertifikasi oleh pengguna. Dalam hal ini, server1 menggunakan adhy, sedangkan server2 menggunakan arya sebaga i pengguna. Permintaan sertifikasi tersebut dilakukan dengan perintah berikut $GLOBUS_LOCATION/bin/grid-cert-request
Perintah tersebut akan menghasilkan berkas sertifikat bagi pengguna yang disimpan di direktori ~username/.globus. Sama seperti host, pengguna juga perlu meminta tanda tangan dari simpleCA untuk sertifikatnya. Dengan otoritas globus, sertifikat pengguna ditandatagani dengan perintah berikut. $GLOBUS_LOCATION/bin/grid-ca-sign -in ~username/.globus/ usercert_request.pem -out usersigned.pem
Sertifikat
yang
baru
saja
ditandatangani,
~globus/.globus/simpleCA//newcerts/02.pem.
disimpan
sebagai
Selain itu, sertifikat pengguna yang telah ditandatangani akan menggantikan berkas sertifikat yang sebelumnya masih kosong. Kemudian, perlu dibuat berkas grid-mapfile untuk keperluan otorisasi. Berkas teks ini berisi variabel DN (Distinguished Name) bagi pengguna bersertifikat. Berkas tersebut diisi dengan DN seperti contoh pada server1 berikut. "/O=Grid/OU=GlobusTest/OU=simpleCA-server1.mammoth.org/ OU=mammoth.org/CN=Arya Adhyaksa Waskita" adhy
d. Mengkonfigurasi GridFTP. GridFTP dikonfigurasi menggunakan berkas yang diberi nama /etc/xinetd.d/gridftp. Berkas ini bertujuan untuk mengkonfigurasi server untuk layanan gridftp. Sebelumnya paket, xinetd-2.3.13-6.i386.rpm
harus terlebih dahulu dikonfigurasi di kedua
server. Paket tersebut bertujuan untuk mengkombinasikan fitur daemon tcpd
dan inetd ke dalam satu paket. Berkas tersebut dijelaskan dalam
Lampiran 1. Karena ada tambahan konfigurasi layanan yang akan dijalankan dalam server, layanan xinetd perlu di-reload. Setelah itu, perlu ditambahkan baris gsiftp 2811/tcp ke baris terakhir dari berkas /etc/services.
Baris ini bertujuan untuk mengkonfigurasi port untuk
layanan gridftp dengan port 2811. Selanjutnya, untuk menguji konfigurasi GridFTP, dilakukan dengan menyalin berkas menggunakan layanan gridftp. Pengujian dilakukan oleh pengguna bersertifikat dengan tahapan sebagai berikut. $ grid-proxy-init -verify -debug Files used: proxy : /tmp/x509up_u1000 user key : /home/arya/.globus/userkey.pem user cert : /home/arya/.globus/usercert.pem Your identity: O=Grid,OU=GlobusTest,OU=simpleCAserver1.mammoth.org,OU=mammoth.org,CN=Arya Adhyaksa Waskita Enter GRID pass phrase for this identity: Using 512 bits for private key Creating proxy, please wait... Proxy verify OK Saving proxy to: /tmp/x509up_u500 Your proxy is valid until Sat May 19 10:45:01 WIT 2007 $ globus-url-copy gsiftp://server1.mammoth.org/etc/group file:///tmp/arya.copy.group $ diff /etc/group /tmp/arya.copy.group
Langkah pertama, berkas proxy credential untuk pengguna disimpan sebagai /tmp/x509up_uxxx, dengan ‘xxx’ adalah nomor identitas pengguna sistem operasi. Jika perintah diff tidak menemukan perbedaan antara berkas asal dengan berkas tujuan, maka disimpulkan bahwa proses layanan gridftp telah berjalan baik.
e. Mengkonfigurasi layanan RFT. Untuk mengkonfigurasi RFT, pengguna dengan ID globus perlu menjalankan langkah-langkah berikut. •
Dari modus globus, dibuat basis data dengan nama rftDatabase. $ /usr/local/pgsql/bin/createdb rftDatabase
•
Memasukkan konfigurasi layanan RFT yang disimpan dalam berkas ke
$GLOBUS_LOCATION/share/globus_wsrf_rft/rft_schema.sql
dalam basis data rftDatabase. $ /usr/local/pgsql/bin/psql rftDatabase -f $ GLOBUS_LOCATION/ share/globus_wsrf_rft/rft_schema.sql •
Memasukkan kata sandi globus pada sub elemen password name dalam berkas $GLOBUS_LOCATION/etc/globus_wsrf_rft/jndi-config.xml
•
pindah ke modus postgres, su – postgres
•
menambahkan baris: host "25.20.5.31/8"
trust
rftDatabase
"globus"
pada berkas ~postgres/data/pg_hba.conf .
f. Mengkonfigurasi kontainer GT Kontainer GT akan dijalankan menggunakan berkas yang disimpan di $GLOBUS_LOCATION/start-stop
dan isinya diberikan dalam Lampiran 2.
Dari berkas tersebut, dijelaskan bahwa kontainer GT akan dijalankan dengan perintah $GLOBUS_LOCATION/sbin/globus-start-containerdetached
-p
8443.
Sedangkan untuk menghentikannya digunakan
perintah $GLOBUS_LOCATION/sbin/globus-stop-container-detached. Sedangkan untuk menjalankan berkas tersebut, digunakan berkas yang disimpan di /etc/init.d/globus-4.0.2. Berkas tersebut memberikan tiga opsi operasi pada container GT, masing- masing adalah start, stop, dan restart.
Isi berkas tersebut diberikan dalam Lampiran 3.
Untuk menjalankan berbagai layanan pada kontainer GT, digunakan perintah /etc/init.d/globus-4.0.2 start
Layanan yang telah dijalankan, disimpan dalam berkas /opt/globus4.0.2/var/container.log.
Jika berhasil, berkas tersebut akan berisi pesan
seperti di bawah ini. 2007-05-05 03:35:32,522 INFO exec.RunQueue [main,initialize:68] Starting state machine with 18 run queues. 2007-05-05 03:36:19,186 INFO impl.DefaultIndexService [ServiceThread9,processConfigFile:107] Reading default registration configuration from file: /opt/globus4.0.2/etc/globus_wsrf_mds_index /hierarchy.xml Starting SOAP server at: https://25.20.5.31:8443/wsrf/services/ With the following services: [1]: https://25.20.5.31:8443/wsrf/services/TriggerFactor yService [2]: https://25.20.5.31:8443/wsrf/services/DelegationTes tService [3]: https://25.20.5.31:8443/wsrf/services/SecureCounter Service [4]: https://25.20.5.31:8443/wsrf/services/IndexServiceE ntry [5]: https://25.20.5.31:8443/wsrf/services/DelegationSer vice ...
Sebelumnya, telah dikonfigurasi layanan RFT. Tetapi, karena kontainer GT belum dapat diaktifkan, layanan tersebut belum dapat diuji. Setelah kontainer GT dapat dijalankan, kita dapat menguji layanan RFT. Pengujian dilakukan dengan menggunakan berkas uji coba yang disertakan dalam distribusi
GT.
Berkas
tersebut
terletak
di
4.0.2/share/globus_wsrf_rft_test/ transfer.xfr.
/opt/globus-
Berkas tersebut
kemudian disalin (ke dalam /tmp/rft.xfr) untuk kemudian dimodifikasi sesuai keadaan server. Modifikasi dilakukan pada dua baris terakhir dengan dua baris berikut berikut.
gsiftp://server1.mammoth.org:2811/etc/group gsiftp://server1.mammoth.org:2811/tmp/rftTest_Done. tmp
Maksud berkas tersebut adalah menyalin berkas /etc/group (baris ke-1) ke berkas /tmp/rftTest_Done.tmp (baris ke-2) menggunakan layanan RFT. Layanan RFT kemudian dipanggil dengan perintah berikut.
$ rft -h server1.mammoth.org -f /tmp/rft.xfr Number of transfers in this request: 1 Subscribed for overall status Termination time to set: 60 minutes Overall status of transfer: Finished/Active/Failed/Retrying/Pending 0/1/0/0/0 Overall status of transfer: Finished/Active/Failed/Retrying/Pending 1/0/0/0/0 All Transfers are completed
Hasil tersebut menunjukkan bahwa layanan RFT telah dapat digunakan.
g. Mengkonfigurasi WS GRAM. Beberapa layanan dalam GT membutuhkan 'sudo' untuk mengeksekusi proses dari pengguna yang meminta layanan tersebut. Untuk itu, berkas /etc/sudoers
perlu dikonfigurasi dengan menambahkan baris berikut.
Tetapi, sebelumnya berkas tersebut perlu ditambahkan opsi writeable untuk sementara agar dapat dimodifikasi. globus ALL=(arya) NOPASSWD: /opt/globus4.0.2/libexec/globus-gridmap-and-execute -g /etc/grid-security/grid-mapfile /opt/globus4.0.2/libexec/globus-job-manager-script.pl * globus ALL=(arya) NOPASSWD: /opt/globus4.0.2/libexec/globus-gridmap-and-execute -g /etc/grid-security/grid-mapfile /opt/globus4.0.2/libexec/globus-gram-local-proxy-tool *
Informasi yang ditambahkan adalah identititas pengguna yang akan meminta layanan. Dengan demikian, pengguna tersebut tidak perlu memasukkan
kata
sandinya,
ketika
didelegasikan ke sumber daya yang lain.
layanan
yang
diminta
harus
h. Konfigurasi simpleCA yang saling percaya. Setelah server1 dan server2 dikonfigurasi, langkah selanjutnya adalah mempertukarkan paket distribusi simpleCA (~globus/.globus/simpleCA/ globus_simple_ca_cert_hash_setup-x.xx.tar.gz)
masing- masing
server untuk kemudian diinstal sebagi CA tambahan. Dengan cara ini, kedua server dapat saling percaya karena. Paket
simpleCA
untuk
server1
dan
server2
masing
adalah dan
globus_simple_ca_9f408d32_setup-0.19.tar.gz globus_simple_ca_eebc609f_setup-0.19.tar.gz.
Dalam penelitian ini,
keduanya dipertukarkan menggunakan fasilitas pertukaran berkas dengan samba.
Berikut adalah cara mengkonfigurasi paket simpleCA tambahan untuk kepentingan saling percaya. Contoh diberikan untuk kasus server1. •
Konfigurasi paket simpleCA [globus@server1 ~]$ /opt/globus-4.0.2/sbin/gptbuild /media/samba/ globus_simple_ca_eebc609f_setup-0.19.tar.gz gpt-build ====> CHECKING BUILD DEPENDENCIES FOR globus_simple_ca _eebc609f_setup gpt-build ====> Changing to /home/globus/BUILD/globus_simple_ca _eebc609f_setup-0.19/ gpt-build ====> BUILDING globus_simple_ca_eebc609f_setup gpt-build ====> Changing to /home/globus/BUILD gpt-build ====> REMOVING empty package globus_simple_ca _eebc609f_setup-noflavor-data gpt-build ==Times New Roman==> REMOVING empty package globus_simple_ca _eebc609f_setup-noflavordev gpt-build ====> REMOVING empty package globus_simple_ca _eebc609f_setup-noflavor-doc gpt-build ====> REMOVING empty package globus_simple_ca _eebc609f_setup-noflavorpgm_static gpt-build ====> REMOVING empty package globus_simple_ca _eebc609f_setup-noflavor-rtl
•
Konfigurasi SSL $ /opt/globus-4.0.2/sbin/gpt-postinstall running /opt/globus-4.0.2/setup/globus/./setup-sslutils.eebc609f..[ Changing to /opt/globus4.0.2/setup/globus/. ] setup-ssl-utils: Configuring ssl-utils package Running setup-ssl-utils-sh-scripts...
... setup-ssl-utils: Complete ..Done •
Konfigurasi GSI # /opt/globus-4.0.2/setup/globus_simple_ca _eebc609f_setup/setup-gsi setup-gsi: Configuring GSI security Installing /etc/grid-security/certificates//gridsecurity.conf.eebc609f... Running grid-security-config... Installing Globus CA certificate into trusted CA certificate directory... Installing Globus CA signing policy into trusted CA certificate directory... ... setup-gsi: Complete
•
Menampilkan daftar CA yang telah dikenal # grid-default-ca -list The available CA configurations installed on this host are: Directory: /etc/grid-security/certificates 1) 9f408d32 - /O=Grid/OU=GlobusTest/OU=simpleCAserver1.mammoth.org/CN=Globus Simple CA 2) eebc609f - /O=Grid/OU=GlobusTest/OU=simpleCAserver2.anaconda.org/CN=Globus Simple CA The default CA is: /O=Grid/OU=GlobusTest/OU=simpleCAserver1.mammoth.org/CN=Globus Simple CA Location: /etc/gridsecurity/certificates/9f408d32.0
Dari perintah terakhir, terlihat bahwa telah terdapat dua simpleCA yang dikenal oleh server1. Kejadian yang sama juga terdapat pada server2. Perbedaanya adalah simpleCA utama pada masing- masing server. Selanjutnya, sertifikat dari kedua host dan pengguna juga dipertukarkan. Berikut adalah contoh proses untuk menandatangani sertifikat pengguna dan host dari server2 oleh server1. Tahap ini dilanjutkan juga pada server2.
$ grid-ca-sign -in /media/samba/hostcert_ request.pem -out hostsigned2.pem To sign the request please enter the password for the CA key: The new signed certificate is at: /home/globus/.globus/ simpleCA//newcerts/03.pem $ grid-ca-sign -in /media/samba/usercert _request.pem -out usersigned2.pem
To sign the request please enter the password for the CA key: The new signed certificate is at: /home/globus/.globus/ simpleCA//newcerts/04.pem
Dari proses di atas, sertifikat host dan pengguna dari server2, disimpan dalam
berkas
dan
03.pem
~globus/.globus/simpleCA/newcerts. mapfile
04.pem
di
direktori
Selanjutnya, isi berkas grid-
juga dipertukarkan. Untuk kasus ini, kedua berkas grid-mapfile
dari dua server tersebut memiliki isi yang sama.
4.5. Implementasi OGSA-DAI WSRF ke Kontainer GT Bebarapa langkah perlu dilakukan untuk mengimplementasikan OGSA-DAI ke kontainer GT untuk kemudian dapat digunakan. OGSA-DAI telah menyediakan berbagai fasilitas untuk tujuan tersebut dalam modus command line maupun modus grafik. Dalam penelitian ini, penulis me milih untuk menggunakan fasilitas berbasis command line.
a. Set PATH untuk OGSA-DAI WSRF. Pada penelitian ini dideklarasi sebagai $OGSA_HOME. Untuk shell BASH, dapat dilakukan dengan perintah berikut # export OGSA_HOME=/usr/local/ogsadai # export PATH=${PATH}:${OGSA_HOME}/bin
b. Membuat paket binari OGSA-DAI WSRF. Sebelum dikonfigurasi ke kontainer GT, paket sumber OGSA-DAI harus dikompilasi dulu menjadi paket binari. Untuk konfigurasi menggunakan sistem operasi Fedora Core 4 dan penggunaan paket GT yang telah di-precompiled untuk sistem operasi Fedora Core 4, penulis harus menggunakan paket sumber OGSA-DAI. Untuk
mengkompilasinya
createBinaryDistribution. $OGSA_HOME.
digunakan
tool
ant
Paket binari terbentuk di bawah direktori
Sebelum melanjutkan konfigurasi, harus lebih dahulu
dipastikan bahwa pustaka yang bertugas melakukan koneksi ke basis data telah diset di PATH, begitu juga pustaka lain yang dibutuhkan oleh OGSADAI WSRF antara lain jakarta oro, xmldb dan lucene diletakkan di
direktori $OGSA_HOME/lib dan $GLOBUS_LOCATION/lib. Langkah- langkah yang perlu dijalankan adalah sebagai berikut. $ ant createBinaryDistribution $ su # export CLASSPATH=${CLASSPATH}:/usr/local/lib/mysqlconnector-java-3.0.17-gabin.jar:/usr/local/lib/postgresql-8.1407.jdbc3.jar:${OGSA_HOME}/lib/xmldb.jar:${OGSA_HOME}/li b/lucene-1.4.3.jar:${OGSA_HOME}/lib/jakarta-oro2.0.8.jar
c. Konfigurasi OGSA-DAI WSRF ke kontainer GT. Dengan tool ant, OGSA-DAI dapat dikonfigurasi dengan perintah sebagai berikut. ant install -Ddai.container=/opt/globus-4.0.2 [globus@server2 binary]$ ant install Ddai.container=/opt/globus-4.0.2 Buildfile: build.xml getContainerType: [echo] Container: /opt/globus-4.0.2 [echo] Container Type: GT4 setContainerProperties: install: [echo] Installing OGSA-DAI into GT4... [echo] Copying OGSA-DAI prerequisite JAR files... ... installServletJAR: [copy] Copying 1 file to /opt/globus-4.0.2/lib [echo] Done! BUILD SUCCESSFUL Total time: 4 seconds
Opsi -Ddai.container digunakan untuk memberitahukan lokasi kontainer tempat OGSA-DAI akan diinstal. Dalam hal ini adalah $GLOBUS_LOCATION. Sampai tahap ini, kedua server menggunakan opsi yang sama. Selanjutnya, karena implementasi basis data yang akan diintegrasikan berbeda, opsinya juga akan berbeda.
d. Konfigurasi DataService. Ada dua opsi yang akan digunakan dalam tahap ini, masing- masing adalah kontainer dan nama layanan yang akan dipublikasi. Perintah yang digunakan adalah sebagai berikut
$ ant deployService -Ddai.container=/opt/globus4.0.2 -Ddai.service.name=ogsadai/DataService1 Buildfile: build.xml getContainerType:
[echo] Container: /opt/globus-4.0.2 [echo] Container Type: GT4 setContainerProperties: deployService: [echo] Deploying a new service onto GT4... [echo] Deploying service ogsadai/DataService2... ... [echo] Done! BUILD SUCCESSFUL Total time: 1 second
Tanda telah berhasilnya DataService dikonfigurasi, terlihat dari daftar layanan pada kontainer GT yang dijalankan. Berikut ini adalah beberapa dari layanan tersebut.
# cat /opt/globus-4.0.2/var/container.log 2007-05-19 08:43:15,279 INFO exec.RunQueue [main,initialize:68] Starting state machine with 18 run queues. Starting SOAP server at: https://server1.mammoth.org:8443/wsrf/services/ With the following services: ... [10]: https://server1.mammoth.org:8443/wsrf/services/Test ServiceWrongWSDL [11]: https://server1.mammoth.org:8443/wsrf/services/ogsa dai/DataService1 [12]: https://server1.mammoth.org:8443/wsrf/services/Samp leAuthzService ...
Layanan [11] menunjukkan layanan ogsadai/DataService1. e. Konfigurasi DataServiceResource. Untuk tahap ini, paket OGSA-DAI yang diperoleh dari kompilasi paket sumber, diganti dengan OGSA-DAI rilis binari. Konfigurasi dapat dilakukan dalam modus grafik agar lebih menarik. Gambar 17–Gambar 23 memberikan ilustrasi mengenai tahapan konfigurasi DataServiceResource menggunakan modus grafik, khususnya untuk basis data MySQL.
Hal yang sama dilakukan untuk basis data
PostgreSQL, dengan penyesuaian beberapa opsi yang terkait.
Gambar 17 Memilih basis data
Gambar 18 Mengisi informasi mengenai basis data dan penggunanya
Gambar 19 Memilih pustaka untuk koneksi ke basis data
Gambar 20 Menyimpan berkas konfigurasi
Gambar 21 Memilih kontainer
Gambar 22 Konfirmasi konfigurasi DataServiceResource
Gambar 23 DataServiceResource telah dikonfigurasi
Sedangkan Gambar 24-Gambar 27 memberikan ilustrasi mengenai tahapan dalam mengekspose DataServiceResource ke DataService.
Gambar 24 Memilih kontainer
Gambar 25 Memilih DataService yang akan mengekspose DataServiceResource
Gambar 26 Konfirmasi untuk mengekspose DataServiceResource
Gambar 27 DataServiceResource telah diekspose
DataServiceResource yang telah diekspose ke DataService dapat diuji menggunakan aplikasi yang disertakan dalam paket OGSA-DAI. Tujuannya adalah untuk mengetahui apakah DataServiceResource telah dikonfigurasi dengan baik di kontainer GT. Tetapi, sebelum pengujian, kontainer GT harus di-restart dahulu. Berikut adalah cara menguji konfigurasi DataServiceResource.
$ ant listResourcesClient Ddai.url=https://server2.anaconda.org:8443/wsrf/services /ogsadai/MyDataService2 Buildfile: build.xml setupClientSecurity: listResourcesClient: [java] Service version: OGSA-DAI WSRF 2.2 [java] Number of resources: 1 [java] Resource: MyDSR BUILD SUCCESSFUL Total time: 13 seconds
Dari hasil eksekusi tersebut, terlihat bahwa DataServiceResource telah dikonfigurasi dengan baik.
BAB V HASIL DAN PEMBAHASAN 5.1. Implementasi Data Bibliografi Kedua sumber data telah diimplementasi dengan baik pada dua server basis data yang berbeda. Yang menarik adalah implementasi pada PostgreSQL hanya melibatkan dua tabel. Hal ini disebabkan karena kemampuan basis data PostgreSQL mengelola data yang berbentuk array, sehingga informasi mengenai penulis dalam suatu karya tulis ilmiah tidak membutuhkan tabel khusus. Kemampuan ini merupakan karakteristik PostgreSQL yang merupakan basis data relasional
berbasis
obyek.
Perbedaan
dapat
dilihat
pada
implementasi
menggunakan basis data MySQL yang melibatkan 3 tabel untuk memenuhi ketentuan normalisasi. Dalam mengimplementasi data bibliografi terdapat sedikit masalah terkait dengan penentuan jenis referensi pada setiap artikel. Hal ini disebabkan karena cukup banyak artikel yang tidak menerapkan format baku penulisan referensi. Untuk artikel-artikel tersebut, penulis hanya menebak jenis referensinya. Hal ini penulis lakukan karena penelitian ini lebih ditujukan pada mekanisme integrasi data bibliografi untuk mendukung aktifitas analisis sitiran, bukan pada analisis sitiran itu sendiri. Pengelolaan pengguna basis data juga dilakukan terkait dengan skenario pengujian hak akses sumber data yang akan dilakukan. Dalam PostgreSQL, terdapat satu pengguna yang diberi nama globus dan diberi hak akses penuh terhadap seluruh basis data. Sedangkan untuk MySQL, terdapat tiga pengguna yang masing- masing diberi nama globus, tmp dan tmp2. Pengguna pertama mendapatkan hak akses penuh terhadap seluruh tabel dalam basis data bibliografi, Pengguna berikutnya mendapatkan hak akses penuh terhadap sebuah tabel, sedangkan pengguna terakhir hanya mendapatkan hak akses select pada satu tabel saja.
5.2. Konfigurasi GT GT telah berhasil dikonfigurasi pada dua server yang berbeda. Akan tetapi, konfigurasi saling kenal yang dilakukan masih secara manual. Hal ini dilakukan dengan menukarkan paket simpleCA pada masing- masing server yang akan dilibatkan dalam komunikasi. Telah diujikan pendelegasian sebuah tugas kecil (/bin/hostname) dapat dilakukan baik dari server1 ke server2 maupun sebaliknya. Pengujian pertama dilakukan dari server1 ke server2 untuk kemudian pengujian dilakukan dari server2
ke server1. Berikut adalah pesan yang diperoleh ketika kedua server
telah saling percaya.
[adhy@server1 ogsadai-wsrf-2.2]$ globusrun-ws -F server2.anaconda.org -submit -s -c /bin/hostname Delegating user credentials...Done. Submitting job...Done. Job ID: uuid:b5c36614-1bae-11dc-b272-00b0d0ddcb77 Termination time: 06/17/2007 02:10 GMT Current job state: Active Current job state: CleanUp-Hold server2.anaconda.org Current job state: CleanUp Current job state: Done Destroying job...Done. Cleaning up any delegated credentials...Done. [arya@server2 tmpGrid]$ globusrun-ws -F server1.mammoth.org -submit -s -c /bin/hostname Delegating user credentials...Done. Submitting job...Done. Job ID: uuid:9344db82-1bad-11dc-bb49-000e2e805352 Termination time: 06/17/2007 02:02 GMT Current job state: Active Current job state: CleanUp-Hold Server1.mammoth.org Current job state: CleanUp Current job state: Done Destroying job...Done. Cleaning up any delegated credentials...Done.
5.3. Konfigurasi OGSA-DAI Terdapat sedikit masalah dalam melakukan konfigurasi paket OGSA-DAI. Hal ini terkait baik dengan sistem operasi yang digunakan, paket GT, maupun paket OGSA-DAI sendiri. Setelah paket GT selesai dikonfigurasi, penggunaan paket binari OGSA-DAI justru menyebabkan kontainer GT tidak bisa dijalankan.
Akan tetapi, penggunaan paket sumber OGSA-DAI menyebabkan DataService yang telah dikonfigurasi tidak dapat diakses. Penulis kemudian melakukan konfigurasi OGSA-DAI ke kontainer GT menggunakan paket sumber. Sedangkan tahapan konfigurasi DataService hingga mengekspose DataServiceResource dilakukan menggunakan paket binari OGSA-DAI. Kemungkinan masalah muncul ketika penulis menggunakan paket GT yang telah di-precompiled untuk sistem operasi Fedora Core 4. Hal ini dimungkinkan karena meskipun ditujukan untuk sistem operasi yang sama, berbagai pustaka dalam sistem operasi ketika dilakukannya kompilasi menjadi paket GT binari belum tentu sama dengan pustaka sistem operasi yang penulis gunakan. Hal yang sama terjadi pada saat melakukan konfigurasi paket OGSA-DAI yang ketika dijalankan residen di dalam GT. Kompatibilitas pustaka dapat menyebabkan terjadinya masalah ini. Akan tetapi, informasi pada situs OGSA-DAI sebagai acuan utama penulis tidak diberikan secara detil dalam hal pustaka yang terkait dengan sistem operasi dan paket GT yang digunakan.
5.4. Pengujian Tahapan pengujian ditujukan untuk mendapatkan komponen informasi dalam formula entropi pada persamaan 1. Pengujian ini dilakukan dengan fasilitas CLI maupun menu grafik. Selanjutnya, dilakukan pengujian hak akses terhadap sumber data. Pengujian ini menggunakan skenario seperti dijelaskan dalam bagian 5.1 mengenai implementasi data bibliografi.
a. Pengujian menggunakan fasilitas CLI. Pada tahap ini, aktifitas terkait sumber data dideskripsikan secara manual dalam perform document. Berikut adalah cuplikan berkas perform document yang berisi aktifitas untuk mendapatkan informasi mengenai jumlah berbagai referensi pada server1 selama rentang waktu yang tersedia dalam sumber data. <sqlQueryStatement name="statement"> <expression>select distinct jenisref, count(jenisref) from dbreferensi group by jenisref
<sqlResultsToXML name="statementRSToXML">
<webRowSet name="statementOutput"/>
Dalam perform document tersebut, aktifitas query dijelaskan dalam elemen <expression>.
Hasilnya, diberikan ke aktifitas yang diberi nama
statementOutputRS.
Aktifitas kedua tersebut akan mentransformasikan
hasil aktiftas pertama dalam format XML. Cuplikan hasil eksekusi perform document tersebut adalah seperti berikut ini. Hasil tersebut menunjukkan bahwa jumlah referensi dari jenis Buku adalah 353 dalam rentang waktu yang tersedia. [java] [java] [java] [java] [java] [java]
...
<currentRow> Buku 353 <currentRow> ...
Jumlah berbagai referensi pada server2
dapat diperoleh dengan
memodifikasi pernyataan query dalam perform document yang telah dibuat untuk memperoleh informasi tersebut dari server1. Berikut adalah pernyataan query yang dimodifikasi. select distinct jenis, count(jenis) from referensi group by jenis
Sedangkan cuplikan hasil eksekusi perform document tersebut adalah sebagai berikut. Dari hasil ini, ditunjukkan bahwa jumlah referensi dari jenis Buku pada server2 sebanyak 332. ... [java] [java] [java] [java] ...
<currentRow> Buku 332
Pengujian selanjutnya, dengan aktifitas yang sama dilakukan menggunakan menu grafik.
b. Pengujian menggunakan fasilitas menu grafik (databrowser). Paket OGSA-DAI menyertakan aplikasi menu grafik yang dapat digunakan untuk mengirimkan aktifitas ke DataService. Fasilitas tersebut diberi nama databrowser. Sedangkan menu databrowser adalah seperti Gambar 28. Pada gambar tersebut, ditunjukkan hubungan dengan DataService pada server2. Pada pengujian ini, membuat hubungan dengan DataService melalui menu grafik dilakukan dari server2. Hal ini disebabkan karena keterbatasan dalam server1 untuk bekerja pada modus grafik.
Gambar 28 Mengkases DataService di server2
Selanjutnya, eksekusi aktifitas query seperti telah dituliskan dalam kolom Statement,
akan memberikan hasil seperti Gambar 29. Seperti terlihat pada
Gambar 29, jumlah referensi dari jenis Buku adalah 353, sama seperti yang diperlihatkan pada pengujian menggunakan fasilitas CLI.
Gambar 29 Hasil aktifitas query ke server2
Pengujian dilanjutkan dengan membuat hubungan ke DataService di server1.
Penggunaan databrowser ditunjukkan dalam Gambar 30,
sedangkan hasilnya ditunjukkan pada Gambar 31. Seperti terlihat pada Gambar 31, jumlah referensi dari jenis Buku berjumlah 332, seperti yang telah diperoleh menggunakan fasilitas CLI.
Gambar 30 Mengakses DataService di server1
Gambar 31 Hasil aktifitas query ke server1 c. Pengujian hak akses sumber data. Pengujian ini dilakukan dari dua sisi, dari sistem grid melalui GT dan sumber data melalui OGSA-DAI. Dari sistem grid, hak akses ke sumber data hanya diberikan kepada pengguna yang memiliki sertifikat dan dikenal oleh CA sumber daya lokal. Pola ini juga berlaku bagi layanan grid terhadap sumber daya yang lain. Hanya pengguna bersertifikat yang dapat meminta layanan grid. Usaha meminta
layanan OGSA-DAI oleh pengguna yang tidak memiliki sertifikat memberikan pesan berikut ini. $ ant listResourcesClient Ddai.url=https://server2.anaconda.org:8443/wsrf/services /ogsadai/MyDataService1 Buildfile: build.xml setupClientSecurity: listResourcesClient: [java] A problem arose during communication with service https://server2.anaconda.org:8443/wsrf/services/ogsadai/ MyDataService1?WSDL. [java] Failed to init GSI context [Caused by: Defective credential detected [Caused by: Proxy file (/tmp/x509up_u501) not found.]] BUILD FAILED /home/globus/ogsadai-wsrf-2.2/build.xml:1537: Java returned: 1 Total time: 3 seconds
Pesan tersebut menunjukkan bahwa pengguna grid belum memiliki sertifikat. Dan apabila telah memiliki sertifikat tetapi berasal dari entitas yang belum dipercaya, pengguna tersebut juga tidak dapat dilayani. Kemudian, dari sisi sumber data, pengaturan hak akses dilakukan melalui berkas DatabaseRoles.xml. Dalam berkas tersebut, diatur pendelegasian aktifitas dari pengguna sistem grid yang memiliki sertifikat kepada pengguna basis data. Pengguna sistem grid hanya dapat mendelegasikan aktifitas
yang
memang
menjadi
wewenang
pengguna
basis
data
melakukannya. Berikut adalah cuplikan berkas DatabaseRoles.xml. xml version=”1.0” encoding=”UTF-8”?> <User dn=”CREDENTIAL” userid=”USER-ID” password=”PASSWORD”/>
Dalam berkas tersebut, terdapat elemen User yang mengatur pendelegasian aktifitas. Atribut dn menyatakan pengguna grid yang akan mendelegasikan aktifitas. Nilainya diperoleh dari informasi berkas proxy dari pengguna grid. Akan tetapi, nilai dn dapat diisi karakter ‘* ’ yang menunjukkan bahwa
setiap pengguna bersertifikat dapat meminta layanan OGSA-DAI. Sedangkan atribut userid dan password masing- masing adalah pengguna internal basis data dan kata sandinya. Usaha mendelegasikan aktifitas oleh pengguna bersertifikat pengguna basis data yang tidak berwenang mengeksekusi aktifitas tersebut, memberikan pesan seperti berikut ini. … <params>Syntax error or access violation message from server: “SELECT command denied to user ‘tmp’@’server2.anaconda.org’ for table penulis’”
Pesan tersebut muncul sebagai reaksi terhadap usaha mendelegasikan aktifitas kepada pengguna ’tmp’@’server2.anaconda.org’ yang tidak berwenang terhadap tabel penulis. Sedangkan Gambar 32-Gambar 34 menunjukkan pendelegasian aktifitas yang sesuai dengan wewenang yang dimiliki pengguna basis data. Dalam hal ini, pengguna basis data ‘tmp2’@’server2.anaconda.org’
berwenang melakukan aktifitas apapun
pada tabel referensi.
Gambar 32 Aktifitas menambahkan data
Gambar 33 Aktifitas memodifikasi data
Gambar 34 Aktifitas menghapus data
Dari hasil tersebut, OGSA-DAI yang merupakan komponen GT dapat melakukan integrasi data dan melakukan modifikasi dengan tetap memberikan otoritas pengelolaan kepada sumber daya lokal. Hal yang sama juga berlaku pada komponen GT yang lain. Mekanisme penggunaan bersama tetap menghormati kebijakan yang diterapkan sumber daya lokal. Penggunapun dapat secara mudah menggabungkan diri dengan VO tertentu untuk kemudian memisahkan diri kembali. Selain itu, keamanan sumber daya lokal terjamin dengan fasilitas keamanan yang dimiliki GT.
5.5. Pembahasan Dari hasil pengujian yang telah dilakukan, ditunjukkan bahwa OGSA-DAI telah dapat digunakan untuk mendukung aktifitas analisis sitiran. Akan tetapi, dukungan yang diberikan saat ini, baru pada perolehan komponen variabel pada formula entropi. Hal ini disebabkan karena penulis belum mampu membangun dan mengimplementasikan layanan untuk perhitungan entropi dalam OGSA-DAI
secara penuh. Hal ini tentu saja mensyaratkan pengetahuan mengenai SQL sehingga dapat menyulitkan bagi pengguna. Di sini, kemudahan dalam integrasi data yang ditawarkan masih memiliki kendala terutama dari sisi pengguna. Tentu akan lebih mudah bagi pengguna dalam melakukan analisis sitiran tanpa perlu memikirkan pernyataan query yang dibutuhkan. Berbagai kendala tersebut yang masih menjadi batasan dalam penelitian ini. Selain itu, ditunjukkan pula bahwa penggunaan OGSA-DAI sebagai media integrasi data menawarkan fasilitas keamanan yang baik. Untuk kasus perhitungan analisis sitiran dalam penelitian ini, manfaat fasilitas keamanan tersebut belum terlihat jelas. Akan tetapi, untuk kasus integrasi data yang benar-benar membutuhkan kemanan tinggi, OGSA-DAI adalah pilihan yang tepat.
BAB VI SIMPULAN DAN SARAN
6.1. Simpulan Aktifitas analisis sitiran menggunakan metode entropi (Mutiara 2004) dapat dipermudah pelaksanaannya menggunakan sistem integrasi data berbasis teknologi grid menggunakan perangkat lunak OGSA-DAI. Kemudahan yang diperoleh adalah dalam hal pengumpulan dan pengolahan data, meskipun masih terbatas pada pengumpulan variabel yang ada dalam formula entropi. Hasil tersebut dapat dilihat dari hasil pengujian menggunakan jenis data relasional seperti dilakukan dalam penelitian ini. Dua data bibliografi yang masing- masing diimplementasikan dalam basis data PostgreSQL dan MySQL dapat diintegrasi dengan mudah. Dalam pengujian tersebut, berhasil diperoleh komponen-komponen variabel dalam formula entropi. Selain itu, kemampuannya dalam mengintegrasi data tidak memerlukan modifikasi terhadap basis data yang telah diimplementasi. Fasilitas kemananpun telah diimplementasi sehingga hanya pengguna sah saja yang dapat meminta layanan kepada sistem. Dengan demikian, aktifitas analisis sitiran dapat dilakukan dengan mudah, cepat, dan aman. Selain itu, penerapan sistem terintegrasi yang tepat untuk kebutuhan analisis sitiran akan menjamin keakuratan hasil karena tidak lagi dilakukan secara manual.
6.2. Saran Beberapa hal yang masih perlu dikembangkan dari penelitian ini adalah sebagai berikut. a. Menelusuri kembali kompatibilitas berbagai pustaka yang terkait dengan sistem operasi, baik pada perangkat lunak Globus Toolkit maupun OGSADAI. b. Membangun aktifitas analisis berdasarkan metode yang digunakan, tidak hanya menggunakan aktifitas yang telah dipaketkan dalam OGSA-DAI. c. Membangun antamuka berbasis web yang memudahkan pengguna meminta layanan pada sistem OGSA-DAI.
d. Menerapkan analisis subyek dan mengintegrasikannya ke dalam sistem sehingga tujuan evaluasi terhadap perkembangan aktifitas ilmiah dapat dilakukan. e. Menerapkan mekanisme otentikasi bersama secara otomatis sehingga fitur fleksibilitas grid dapat dioptimalkan. f. Mengeksploitasi potensi pemanfaatan OGSA-DAI dalam aktifitas analisis sitiran dengan menggunakan metode maupun tujuan yang lain.
DAFTAR PUSTAKA Berman F et al, 2003. Adaptive Computing on the Grid Using AppLeS. IEEE Transaction on Parallel and Distributed Systems, Vol. 14, No. 4, Pp. 369382. Chetty M, Buyya R, 2002. Weaving Computational Grids: How Analogous Are They With Electrical Grids?. Computing in Science and Engineering, Vol 4, Issue 4 (July 2002), Pp. 61-71, ISSN:1521-9615. Czajkowski et al. 2004. The WS-Resource Framework. http://www.globus.org/wsrf/specs/ws-wsrf.pdf [2-4-2006] Deelman E, et al. 2004. Grid-Based Metadata Services. Presented in Building Service Based Grids Workshop, organized by Global Grid Forum, June 11 2004. http://www.globus.org/alliance/publications/deelman3.pdf [10-102005] Dutta A. 1995. The Paradox of Thruth, the Thruth of Entrophy. http://www.pynchon.pomona.edu/entropy/paradox.html [3-1-2006] Foster I, Kesselman C. 1999. Computational Grids. Chapter 2 of The Grid : Blueprint for a new Computign Infrastructure. Morgan Kaufman, San Fransisco, ISBN 1-558-60475-8. http://www.globus.org/alliance/publications/papers/chapter2.pdf [11-102005] Foster I, Kesselman C, Tuecke S. 2001. The Anatomy of the Grid : Enabling Scalable Virtual Organizations. International Journal of Supercomputer Applications, Vol. 15, No. 3, Pp. 200-222. http://www.globus.org/alliance/publications/papers/anatomy.pdf [1-8-2005] Foster I, Kesselman C, Tuecke S. 2002. The physiology of the grid : An open grid services architecture for distributed system integration. Global Grid Forum, June 2002. http://www.globus.org/alliance/publications/papers/ogsa.pdf [1-8-2005] Foster I et al. 2004. Modelling Stateful Resource with Web Service. http://www.106.ibm.com/developerworks/library/ws-resource/wsmodellingresources.pdf [17-3-2006] Foster I. 2005. A Globus Primer. Http://wwwunix.globus/toolkit/docs/4.0/key/GT4_Primer.pdf [26-12-2005] Foster I, et al. 2005. The Open Grid Service Architecture, Version 1.0. http://www.ggf.org/documents/GFD.30.pdf [13-3-2006]
Fusco L, Bemmelen J. 2004. Earth Observation Archives In Digital Library And Grid Infrastructures. Data Sciences Journal, December 30th , 2004 (Vol 3):222-226. http://journals.eecs.qub.ac.uk/codata/Journal/contents/3_04/3_04pdfs/DS38 8.pdf [15-10-2005] Globus Toolkit Team. 2006a. GT 4.0: Security: Pre-Web Services Authentication and Authorization. http://www.globus.org/toolkit/docs/4.0/security/prewsaa/index.pdf [30-112006] Globus Toolkit Team. 2006b. Chapter 1. 4.0.x quickstart. http://www.globus.org/toolkit/docs/4.0/admin/docbook/quicstart.html [26-62006] Haefel RM. 2004. J2EET M Web Services. Pearson Education, Inc. Jacob B, Jacob B, Brown M, Fukui K, Trivedi N. 2005. Introduction to Grid Computing. http://www.redbook.ibm.com/redbooks/pdfs/sg24778.pdf [124-2006] Joseph J, Fellenstein C. 2005. Grid Computing. IBM Corporation. Kostoff RN, Bedford CD, Antonio del Rio J, Cortez HD, and Karypis G. 2004. Macromolecules Mass Spectrometry: Citation Mining of User Documents. Journal of The American Society for Mass Spectrometry, Vol.15, No.3, Pp. 281-287. http://glaros.dtc.umn.edu/gkhome/fetch/papers/mmsJASMS04.pdf [12-42006] Mahmoud QH. 2000. Distributred Programming with Java. Manning Publication Co., Greenwich. Mutiara, 2004. Penerapan Analisis Entropi untuk Mengidentifikasi Pola Sitiran Bidang Ilmu Fisika Pada Jurnal Terakreditasi di Indonesia, Tesis. Program Studi Ilmu Perpustakaan, Fakultas Ilmu Pengetahuan Budaya, Universitas Indonesia. OGSA-DAI Team. 2006. OGSA-DAI WSRF 2.2 User Guide. www.ogsadai.org.uk/documentation [31-10-2006] Pahlevi SM, Kojima I. 2004. OGSA-WebDB : An OGSA-Based System for Bringing Web Databases into the Grid. Journal of Digital Information Management. Vol 2, Issued June 2nd 2004, Pp.48-53. Palmquist RA. 1997. Bibliometrics. http://www.gslis.utexas.edu/~palmquis/courses/biblio.html [24-12-2005]
Roure DD, Baker MA, Jennings NR, Shadbolt NR. 2003. The Evolution of the Grid, in Grid Computing – Making the Global Infrastructure a Really edited by F Berman, G Fox, and AJG Hey, John Wiley & Sons, Pp. 65-100. http://www.semanticgrid.org/documents/evolution/evolution.pdf {5-102005] Sotomayor B. 2005. The Globus Toolkit 4 Programmer's Tutorial. http://gdp.globus.org/gt4-tutorial [1-10-2005]. Stallings W. 2003. Cryptography and Network Security Priciples And Practices 3rd Edition. Pearson Education, Inc. Tanenbaum AS, Steen Mv. 2002. Distributed System Principles and Paradigm. Prentice-Hall. Inc., New Jersey. University of Connecticut Library. 2005. Definition of bibliography. http://www.lib.uconn.edu/using/tutorials/instruction/glossary.htm [3-12006] Zimmerman P. 1999. Introduction to Cryptography. ftp://ftp.pgpi.org/pub/pgp/7.0/docs/english/IntroToCrypto.pdf [8-03-2005]
Lampiran 1 Berkas konfigurasi layanan GridFTP service gsiftp { instances=100 socket_type=stream wait=no user=root env+=GLOBUS_LOCATION=/opt/globus-4.0.2 env+=LD_LIBRARY_PATH=/opt/globus-4.0.2/lib server=/opt/globus-4.0.2/sbin/globus-gridftp-server server_args=- i log_on_succes+= DURATION nice= 10 disable=no }
Lampiran 2 Berkas konfigurasi kontainer GT #!/bin/sh set -e export GLOBUS_LOCATION=/opt/globus-4.0.2 export JAVA_HOME=/usr/local/jdk1.5.0_08 export ANT_HOME=/usr/local/apache-ant-1.6.5 export GLOBUS_OPTIONS="-Xms256M -Xmx512M" . $GLOBUS_LOCATION/etc/globus-user-env.sh cd $GLOBUS_LOCATION case "$1" in start) $GLOBUS_LOCATION/sbin/globus-start-container-detached -p 8443 ;; stop) $GLOBUS_LOCATION/sbin/globus-stop-container-detached ;; *) echo "Usage: globus {start|stop}" >&2 exit 1 ;; esac exit 0
Lampiran 3 Berkas untuk menjalankan kontainer GT #!/bin/sh -e case "$1" in start) su - globus /usr/local/globus-4.0.1/start-stop start ;; stop) su - globus /usr/local/globus-4.0.1/start-stop stop ;; restart) $0 stop sleep 1 $0 start ;; *) printf "Usage: $0 {start|stop|restart}\n" >&2 exit 1 ;; esac exit 0