MySipisis Pro with NoSQL Database

Sejak tahun 1985 data bibliografis perpustakaan di Indonesia dan kebanyakan negara berkembang disimpan menggunakan flat file, non-relasional database yaitu CDS/ISIS.  Sejak tahun 1990an, Perpustakaan IPB mempelopori penggunaan CDS/ISIS dan menjadi trend setter aplikasi perpustakaan di Indonesia. Kalau ibarat politik, kala itu kunginisasi maka dunia perpustakaan di-sipisis-isasi oleh tim otomasi perpustakaan IPB. Sampai muncul anekdot, sipisis keliling nusantara menggunakan pesawat Sipisis Air.  Heleh, kembali ke database.

Berdekade-dekade (dua dekade), ISIS (CDS.ISIS) digunakan sebagai database di dunia perpustakaan dan ketika memasuki era akhir 90, mulai bermunculan database MySQL seiring dengan keilmuan komputer yang membawa RDBMS (Relational Database Management System) sebagai pakem pembuatan aplikasi yang menggunakan database. MySQL, PostgreSQL, Oracle, SQL Server, MS Access adalah beberapa dari sekian banyak RDBMS. Konsep relational dan ACID-itynya dianggap mampu mempertahankan konsistensi dan integritas data yang menjadi kiblat utama konsep relational database.

Di tahun 2009 Eric Evans mengenalkan kembali istilah NoSQL yang sebenarnya sudah muncul sejak 1998. Nampaknya ini membawa angin segar bagi dunia perpustakaan setelah CDS/ISIS ditinggal oleh pembuatnya Giampaolo Del Bigio untuk selama-lamanya (meninggal tahun 1997) dan pengembangannya mandeg. CDS/ISIS dan NoSQL mempunyai kimiripan dalam hal non-relational databasenya dan document-oriented database. NoSQL menjadi booming setelah Google menggunakan BigTable, Facebook menggunakan Cassandra, Amazon menggunakan Dynamo, Apache mengeluarkan CouchDB, dan MySIPISIS menggunakan NoSQL (yang terakhir ini bercanda).

Berikut kutipan salah satu artikel yang mendiskusikan NoSQL bakal cocok untuk digunakan sebagai pangkalan data bibliografis perpustakaan:

For decades bibliographic data has been stored in non-relational databases, and thousands of libraries in developing countries still use ISIS databases to run their OPACs. Fast forward to 2010 and the NoSQL movement has shown that non-relational databases are good enough for Google, Amazon.com and Facebook. Meanwhile, several Open Source NoSQL systems have appeared.

This paper discusses the data model of one class of NoSQL products, semistructured, document-oriented databases exemplified by Apache CouchDB and MongoDB, and why they are well-suited to collective cataloging applications. Also shown are the methods, tools, and scripts used to convert, from ISIS to CouchDB, bibliographic records of LILACS, a key Latin American and Caribbean health sciences index operated by the Pan-American Health Organization.

by Luciano G. Ramalho

Sejak kemunculan NoSQL, Sipisis sebenarnya sudah tertarik dan baru awal tahun ini melakukan experiment dan implementasi penggunaan NoSQL dalam MySIPISIS Pro. Jadi MySIPISIS Pro tersedia dalam dua versi, yakni MySQL dan NoSQL. Ke depan Sipisis juga sedang menyiapkan ASP (Application Service Provider) yang akan menyewakan MySIPISIS Pro online yang tidak membutuhkan instalasi, hardware sendiri, dan maintenance. Sipisis as a Service ini (SaaS) akan saya bahas dalam artikel berikutnya.

Dukungan RFID pada Aplikasi MySipisis Pro

January 20, 2011 Leave a comment

MySipisis Pro adalah aplikasi manajemen perpustakaan turunan ke-3 keluarga Sipisis setelah Sipisis Dos, Sipisis for Windows dan MySipisis (versi web). Sejak tahun 2000 hingga saat ini Sipisis terus berkembang. Perkembangan terakhir adalah dukungan MySipisis Pro pada pemindai RFID.  Dan fitur ini sudah benar-benar diujicobakan menggunakan the real RFID and it works. Rasanya MySipisis merupakan aplikasi perpustakaan pertama buatan anak bangsa yang digunakan untuk mendukng RFID. Sedikit RFID bisa dibaca di wikipedia atau di wikipedia ini.

Selain RFID, fitur lain seperti dukungan union catalog menggunakan standar Z39.50 dan OAI PMH yang memungkinkan perpustakaan-perpustakan saling bertukar data atau saling bisa menelusur dan ditelusur. Di samping banyak fitur baru lainnya.

Saya tidak membahas fitur Z39.50 atau OAI-PMH dulu, saya akan membahas cara menangani input RFID. Awalnya saya berusaha mencari dengan bantuan Om Google bagaimana cara membaca input RFID, apakah benar dugaan saya bahwa RFID itu adalah sekadar pengganti barcode dengan perbedaan pada kecepatan pemrosesannya saja. Ini artinya tidak diperlukan API atau library khusus untuk menghandle-nya.

Setelah cukup lama mencari dan menemukan hal-hal yang tidak jelas mengenai RFID, saya mencari ke YouTube. Ya, YouTube, saya mencari video cara menggunakan/memindai RFID tag. Akhirnya saya menemukan video ini. Dan “bang!!!”, ternyata benar, antarpindaian terdapat pemisah enter key. Dari sini dapat disimpulkan bahwa sebenarnya barcode dan RFID tidak berbeda cara menangani hasil pindaiannya. Mereka hanyalah pengganti keyboard dengan perbedaan: barcode memindai satu per satu dengan jeda antarpindaian cukup lama sementara RFID dapat memindai satu per satu (juga) secara lebih cepat.

Konsekuensi dari perilaku RFID di atas, maka ketika terjadi transaksi pinjam, kembali, atau perpanjangan, 2 atau lebih buku bisa diolah (seolah) bersamaan, karena sebenarnya RFID memindai satu demi satu dengan jeda yang sangat singkat. Sebagai programmer, maka yang kita lakukan adalah bagaimana memproses input tanpa campur tangan operator dapat memproses satu demi satu input dari RFID. Sebagai analogi adalah, kalau barcode itu mengolah sebuah variable biasa (non array) sementara RFID diolah sebagai sebuah variable array atau objek collection yang berisi beberapa item. Dari sini terbayang kan how to cope with RFID.

Nah, bagi yang ingin mengimplementasikan RFID dalam aplikasinya entah itu aplikasi apapun sejenis tracking misalnya, maka RFID is just another keyboard substitution, treat this as a usual keypress event on your input box.

Cara meng-compile mod_rewrite

February 13, 2010 Leave a comment

Setelah cari sana-sini dan ga menemukan cara meng-compile/build mod_rewrite.c menjadi mod_rewrite.so di linux, akhirnya saya coba-coba. Mod-rewrite ini sangat diperlukan di framework yang biasa kami pakai, yakni Symfony. Yang mau belajar symfony dalam bahasa indonesia, bisa ke sini.

Kenapa kok mesti dibuild ulang? bukannya sudah otomatis mod_rewrite enabled ketika install apache dengan perintah ramah $ sudo apt-get install apache2 di Ubuntu atau $yum install di Fedora. Nah, kebetulan apachenya di-build juga dari source, tp karena kelupaan untuk ./configure –enable-rewrite waktu pertama kali install, jadi bingung deh, pigimana nambahinnya.

1. Masuk ke directory tempat kita menyimpan source httpd misalnya di /usr/src/apache/httpd-2.2.12

2. Configure dengan perintah ./configure –enable-modules=most

3. masuk ke directory modules/mappers

4. jalankan perintah: /usr/local/apache/bin/apxs -i -a -c -lz mod_rewrite.c

5. jadi deh, mod_rewrite.so sudah tersedia di tempatnya, malah sudah di-config-kan juga di httpd.conf, asyik juga nih..

6. restart apache: /etc/init.d/apachectl restart

Ga panjang-panjang amat yah, simpel…hehehehe, tp sy baru bisa. Habis kebiasaan sudo apt-get install sih…

Configure ./configure –enable-modules=most

Categories: LINUX, PHP Tags: , , ,

Akhirnya Nge-blog juga

February 13, 2010 Leave a comment

Mungkin ada yang menunggu-nunggu blog nya Bayu Raharjo, atau sudah googling kok ga nemu ya blognya si Bayu Raharjo, PT beIT Inovasi Tiwikrama…Hehehehe….narsisus juga nih…Emang saya baru membuat blog. Awalnya beberapa hal yang sy perlu simpan atau tulis, cuma disimpan atau ditulis di email, jadi saya punya dua email, satu di yahoo satu lagi di gmail. Nah, kalau ada sesuatu yang penting sy tulis di email yahoo, sy kirim email gmail. Selesai.

Ternyata, baru sekarang saya tergerak untuk mulai menuliskannya di blog, semoga bermanfaat buat orang lain, karena “Non nobis solum noti sumus – we’re not born for ourselves alone”. Selamat menikmati isi blog ini.

Categories: Uncategorized