db4o 4.4 released
db4o 4.4 has been released as a "development" version today. It is available on the download center page of the db4o website.
For this build we refactored our use of reflection functionality completely. All access to reflection is routed through a pluggable interface. We considered the refactoring to be necessary, to enable our new database browser, we will call it "ObjectManager". Since the browser has to be able to display all objects in the database, even if it does not have access to the "real" classes, db4o has to provide it's own "generic classes" and "generic objects". This is possible with the new pluggable reflection interface. db4o can now run against any sort of "class" or "object" - the reflection plugin simply tells db4o what "classes" and "objects" are. Besides enabling our "ObjectManager", the new technology opens a wide range of other new possibilities:
Enjoy the new db4o version!
For this build we refactored our use of reflection functionality completely. All access to reflection is routed through a pluggable interface. We considered the refactoring to be necessary, to enable our new database browser, we will call it "ObjectManager". Since the browser has to be able to display all objects in the database, even if it does not have access to the "real" classes, db4o has to provide it's own "generic classes" and "generic objects". This is possible with the new pluggable reflection interface. db4o can now run against any sort of "class" or "object" - the reflection plugin simply tells db4o what "classes" and "objects" are. Besides enabling our "ObjectManager", the new technology opens a wide range of other new possibilities:
- With a generic object plugin (under development for 4.5) a db4o server can be run without having to deploy application classes.
- db4o can be enabled to run on Java dialects without reflection (J2ME CLDC, MIDP).
- It will be much easier to access stored objects if their classes are no longer available.
- Refactorings can be run in the reflector.
- Objects can be translated in the reflector.
- It is easy to build interfaces to db4o from other programming languages.
- One of these "languages" could be XML. A plugin reflector could turn db4o into a native XML database. Although an XML interface is not on our product roadmap, we encourage the db4o user community to pick this idea up as a complementary open source project and we will be happy to provide support.
- With the appropriate reflector db4o can now also be a perfect fit for a completely dynamic type system on top of the actual programming language.
Enjoy the new db4o version!

