Thursday, July 11, 2002

Xindice Progress

It's been a long time since I've done any actual coding on Xindice. Not sure why, maybe because my ideas are going in a different direction now, not sure. As part of my research work I'm designing an entirely new XML database that will be very different from Xindice, or any other XML database for that matter. It's highly experimental though.

Anyway, over the past few days I finally dug into the Xindice code again and converted it over to using XML-RPC for all network communications. While in the process I also yanked all the old CORBA code. Now I'm working on an embedded XML:DB API driver so that you can easily build applications that talk locally to the database. To switch from a network database to the local database will just be a change of the XML:DB URI that is used.

Hopefully getting rid of CORBA will make the system much more stable. If nothing else it definitely makes it a lot easier to know what's going on. CORBA is a prime example of why complexity isn't good. It may be a binary protocol and in theory efficient, but it's so difficult to know what the ORB is doing that it's impossible to work with. Anyway, from my tests with XML-RPC vs CORBA, on identical reasonably complex test cases, there's little if any performance difference. In addition there's still tons of room to optimize what's going on with XML-RPC, whereas my attempts to optimize CORBA just led to frustration at the complexity of doing even the simplest things. Complex software standards simply are not worth it.

Now if I can just get away with cutting the other over engineered junk out of the server we'll have something we can finally start adding some useful new features to.

Finally it would be nice if I could just get up the energy to actually revise the XML:DB API interfaces. Something else I've grown to be incredibly unhappy with. Whenever I get around to it, I'm going to chuck the language independent idea and make it Java only. As far as I know the only real implementations of it are in Java anyway and if somebody wants it in another language they can just map it. They really would have had to do that anyway. Language independence seriously compromised the quality, usability and simplicity of the API. I'm tempted to just abandon the whole idea, but it is nice that Xindice and eXist can more or less interoperate on this level.
11:38:26 PM    

Sybase XML

Store and retrieve XML data with custom Java classes in Sybase. CNET Jul 11 2002 0:04AM ET [Moreover - Database industry news]
1:43:28 AM