savannah-hackers
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Savannah-hackers] savannah.gnu.org: submission of Ruby Object Database


From: imarsman
Subject: [Savannah-hackers] savannah.gnu.org: submission of Ruby Object Database
Date: Thu, 25 Oct 2001 13:01:33 -0400

A package was submitted to savannah.gnu.org.
This mail was sent to address@hidden, address@hidden


Ian A. Marsman <address@hidden> described the package as follows:
License: lgpl
Other License: 
Package: Ruby Object Database
System name: robdb
This package does NOT want to apply for inclusion in the GNU project

I have been asked to re-submit my application for the \"robdb\" project in more 
detail.

I build server-based applications that frequently use relational databases. 
Although this works, it frequently takes up a considerable amount of project 
time to break down the data entities to fit the relational model, then build 
saving and loading interfaces to allow the application to interact with the 
database.

I like the structure of xml, but building a database that allows arbitrary xml 
to be loaded, saved, searched, and validated is a lot of work, and more 
importantly, is not really what I want. I want to be able to save and load my 
class objects without having to worry about how it happens. Essentially, I want 
my objects to be persistant on disk in the least obtrusive way.

I think that what I am hoping to do is reasonably novel in the Free Software 
world. I know that there are commercial object databases from companies like 
Object Design, but I am not aware of any free ones. Even if there were, I would 
probably still write the software I am proposing :)

What I propose is an object database that operates by breaking down classes 
into parts that can be represented as single strings. These serialized objects 
would be saved and retrieved from disk using the Berkely Database libraries. 
The Berkeley Database libraries handle pure database tasks such as caching, 
transactions, and locking well. Using such a set of libraries frees me up to 
focus on the object abstraction layer. Just as importantly, however, the 
Berkeley Database is just large enough to do what it needs to do without adding 
extra overhead that is not needed, as would happen with a relational database. 
I plan to implement the interface in the Ruby language, which I like, and more 
importantly, has good support for object-oriented functions. I could also use 
other languages like Java or Python or [insert the name of your favourite 
language], I know, but I like Ruby and am reasonably proficient in its use.

What I\'d like to do is have my software be able to communicate with other 
languages using an rpc protocol like XML-RPC. Although I like Ruby, I think it 
would be good to be able to interact with my database tool using any language. 
What I am striving for is an object access method that is language-neutral and 
easy to use.

I like dealing with data as a programmer. I enjoy it very much when a language 
or library allows data manipulation to be done cleanly and easily. I want to 
write the proposed software to allow people to access their data in a natural 
way using simple and universal protocols (like xml-rpc).

Software Model
--------------
                     Language-specific proxy layer
                          ||
                     XML-RPC Server
                          ||           
Direct Ruby access <OR> XML-RPC abstraction layer
       ||                 ||
Ruby language object serialization layer
               ||
Berkeley Database libraries





reply via email to

[Prev in Thread] Current Thread [Next in Thread]