Representational State Transfer


4
Aug 10

Basis Data Graph

InfoGrid

InfoGrid

Sekarang banyak sekali jenis basis data, kalau dulu membayangkan basis data mungkin yang kita bayangkan adalah tabel-tabel yang saling terhubung satu sama lain atau mungkin kita membayangkan bahasa SQL. Dulu saya pernah menulis tentang basis data berorientasi dokumen khususnya yang dibuat menggunakan bahasa pemrograman Erlang. Sekarang saya tertarik untuk menulis jenis basis data lainnya, yaitu basis data graph. Ada banyak graph database yang beredar, diantaranya:

  1. neo4j (java)
  2. HyperGraphDB (java)
  3. vertexdb (C)
  4. InfoGrid (java)
  5. FlockDB (java)

Diantara semua itu, yang paling menarik perhatian saya adalah neo4j, InfoGrid, dan FlockDB. InfoGrid menawarkan kemudahan dalam pembuatan aplikasi web yang REST-ful. Tapi HyperGraphDB dengan hypergraph-nya dan vertexdb yang high-performance juga tidak kalah menarik.

Basis data jenis ini konon cocok untuk membuat aplikasi semacam bioinformatics atau semantic web.


27
Dec 09

Panduan Instalasi NetKernel

Service Oriented Architecture (SOA) mungkin sudah tidak asing lagi bagi Anda. Bila Anda menggunakan Java, Anda mungkin juga tidak asing dengan OSGi untuk membuat aplikasi modular ala SOA. Bagaimana dengan NetKernel? Secara kasar, NetKernel = UNIX + WWW. NetKernel digunakan untuk membuat aplikasi dengan menggunakan REST dan Resource-Oriented Architecture. NetKernel dapat dijadikan alternatif JEE dalam pengembangan aplikasi enterprise. NetKernel bersifat free dan opensource selama Anda tidak menggunakannya untuk keperluan komersial.

NetKernel memiliki dokumentasi yang sangat lengkap, baik teori maupun praktek. NetKernel menggunakan bahasa Java namun juga dapat menggunakan bahasa lain yang berjalan di atas JVM seperti Scala, Groovy, dsb. Ini adalah framework yang sangat bagus, walaupun Anda tidak menggunakannya dalam pekerjaan sehari-hari, mempelajari NetKernel dapat meningkatkan kemampuan Anda sebagai seorang software architect yang handal. Tidak menutup kemungkinan, NetKernel adalah framework masa depan yang siap menuai kesuksesan.

Berikut ini tahap-tahap instalasi NetKernel:

1. Download NetKernel di http://download.netkernel.org/nkse/
2. Buat/siapkan direktori untuk tempat instalasi.
3. Jalankan NetKernel melalui terminal, misal saya menggunakan versi 4.0.2:

java -jar 1060-NetKernel-SE-4.0.2.jar

4. Buka http://localhost:1060 melalui browser Anda.

NetKernel SE 4.0.2

5. Pilih menu install kemudian ikuti instruksi selanjutnya.
6. Masukkan target direktori untuk instalasi. Pastikan pilihan Expand JAR files dalam kondisi tercentang. Isikan proxy bila diperlukan.

NetKernel SE 4.0.2
7. Shutdown NetKernel kemudian jalankan lagi dengan boot script yang tersedia di folder bin pada direktori dimana netkernel diinstall.

./netkernel.sh

8. Masuk ke menu Control Panel kemudian pilih Rebuild Search Index.

nk3

… NetKernel siap Anda gunakan


15
Oct 09

Basis Data Berorientasi Dokumen

Salah satu topik hangat saat ini adalah NoSQL. NoSQL adalah basis data yang tidak menggunakan SQL. Bukan tidak menggunakan SQL karena adanya tambahan lapisan abstraksi seperti ORM (Object-Relational Mapping), tapi secara native memang tidak menggunakan SQL seperti yang umum kita temui pada basis data relasional. Pada tulisan ini, saya akan memberi dua buah contoh basis data berorientasi dokumen (document-oriented database). Jenis basis data ini sangat berbeda dengan basis data relasional yang banyak kita jumpai saat ini.

Saya mengambil dua contoh basis data berorientasi dokumen yang dibuat menggunakan Erlang, yaitu Apache CouchDB dan riak. Kedua basis data ini menggunakan Map/Reduce, RESTful HTTP, dan JSON. Tujuan umumnya pun sama, yaitu skalabilitas, terdistribusi, performa tinggi, dan fault-tolerant.

1. Apache CouchDB

CouchDB adalah salah satu produk dari The Apache Software Foundation. Bagi Anda yang ingin mengetahui lebih jauh tentang basis data ini, O’Reilly menyediakan versi gratis dari buku “CouchDB: The Difinitive Guide”.

Apache CouchDB

Apache CouchDB

2. riak

Baik CouchDB maupun riak sama-sama menggunakan RESTful HTTP dan JSON. Dari protokol yang digunakan, kita dapat menebak dengan mudah bahwa basis data tersebut sejatinya adalah sebuah web, bahkan riak secara terang-terangan menyebut dirinya sebagai document-oriented web database. Riak sangat terinspirasi oleh Amazon Dynamo, teorema CAP Eric Brewer, dan web secara general. Pada riak, data disimpan berdasarkan kombinasi key-value. Sebagai gambaran umum tentang riak, Anda dapat melihat presentasi dari event NYC NoSQL 5 Oktober 2009 oleh Bryan Fink.

riak MapReduce

riak MapReduce

Basis data di atas (basis data berorientasi dokumen) bukanlah pengganti basis data relasional. Basis data di atas sangat cocok bila digunakan untuk membangun sistem terdistribusi yang membutuhkan skalabilitas dan performa tinggi, seperti pada aplikasi web dengan jumlah data dan concurrency yang sangat besar.