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 $GLOBUS_LOCATION/share/globus_wsrf_rft/rft_schema.sql
ke
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.