« Return to Thread: Ozone based framework

Hi Kovács, Although I'm not an active Ozone developer and user anymore it sounds really interessting to me. From what I understand you've built a client-side ozone cache by simply serializing certain ozone objects. But maybe we could see it from a more abstract point of view: what you need is a mirror of parts of an ozone database. Maybe it would more elegant to use ozone itself to manage such a mirror. Than your application would always connect to a local instance of ozone with all the speed benefits. This client-side instance is attached to a server-side ozone database. If your application requests an object which is not in your local cache it loads it from the server, i.e. we need a transparent ozone proxy that implements a cache. BTW: You will find CVS read-access here: http://sourceforge.net/cvs/?group_id=39695 Best Regards, Gerd Kovács Gábor schrieb:Hi All, 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 client. 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. Regards, Gejzir ------------------------------------------------------------------------- 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/ _______________________________________________ Ozone-users mailing list Ozone-users@... https://lists.sourceforge.net/lists/listinfo/ozone-users
« Return to Thread: Ozone based framework
| Free embeddable forum powered by Nabble | Forum Help |