Ozone based framework
Kovács Gábor <gejzir <at> gmail.com>
2007-11-12 15:02:20 GMT
I've been using/testing ozone for 4 years now in various test and proof
of concept projects.
I've tested a few other object oriented databases as well. I'd like to
share some thoughts with you.
I think that ozone is unique, because AFAIK no other object oriented
database server handles the object links as proxy objects. If you are
developing a server side application this is a huge plus, since usually
the hardest part of object retrieval is building and caching a complex
object tree, and the main performance hit usually comes from that.
Ozone, on the other hand, does the object retrieval in a natural and
elegant way, reaching only for objects really needed. This method is
perfect on the server side, and it works (but much slower) on the client
side as well, if RMI communication is allowed between the server and the
We encounter problems with this model when we need to send a complex
object graph to a fat, GUI like client, process the data and store some
objects back to the server.
Another problem is that when developing a real world application,
sometimes allowing RMI communication between the server and the client
is not an option.
I've done more than just thinking about this :). To solve these
problems, I've developed a framework, where ozone objects can be
detached from the server - a selected graph serialized and sent to the
client where the data is processed and offline modifications
subsequently re-attached to the server. The depth of the graph to be
detached is specified in the call to the framework. The details of
translating objects/graphs in both directions of this process is
automatically handled by this solution. The framework also implements
database indexing using native ozone objects (retrieving all object
instances of a certain class is also working). This framework should be
viewed as a layer on top of Ozone developed specifically to meet the
real-life problems I mentioned above. The framwork uses native _Ozone
and serializable _POJO classes. I've also written ant tasks for easy
generation of the counterpart objects. If a process works on the server
side, it can use the native _Ozone classes, a remote client can deal
with serializable _POJO classes.
I have a couple questions regarding Ozone and this framework: First of
all, is ozone currently actively being developed? How can I get CVS
access (either read-only or with commit rights)?? And finally, does
this framework interest anyone? Would anyone be interested in testing
and improving/contributing to this framework project?
I hope there are some folks who actively developing/using Ozone.
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems? Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >> http://get.splunk.com/