From: Joel Rosi-S. <Joel.Rosi-Schwartz@Etish.org> - 2003-08-04 08:59:20
|
Per Nyfelt wrote: >On Sunday 03 August 2003 17.08, Joel Rosi-Schwartz wrote: > > >>... >>I have created eXist and xmlDb services in JBoss. Basically this is >>created using the MBean code in third party with some modifications by >>Kevin O'Neill and some more by myself. The services run quite well. >> >>... >> >> > >How do you think that the MBeans could be improved? Would you mind sharing the >modifications you've done to the services? > First, I need to say that I have plagiarized from so many quarters, that I really no longer remember what is my contribution and what is stolen. No claims of authorship or originality are expressed or implied ;-) I am working with both Xindice and eXist. My hope was to abstract the differences between the implementation details in the service layer so that applications could swap them in and out transparently. You already started down this path when you spilt the MBeans between eXist, Xindice and xmlDb, I am just trying to take it a bit further so that they are a bit more rationalized. In fact I am on the path of factoring out as much as I can into a super class, so that all of my mbeans have a common parent that handles services such as defining their home and setting up JNDI and also a common parent to all of my data related mbeans to factor out their common features, e.g. datadir. I have this working now, but I only use eXist and Xindice for datastore at the moment. I do not yet rely on querying the database or using Xupdate. From a conversation that I had with Kevin O'Neill I learned that there were some implementation differences between the database that made my goal of transparent swapping difficult to achieve, quote Kevin: This was my inital plan. Unfortunatly they handle things like Collection.getName() differently (xindice returns the local name, exist returns the full path). Also eXist returns nodes from queries, xindice returns documents (though these are easily broken). I would be interested in knowing what other gotchas exist? I any case my plan at the moment is to take it as far as I reasonably can. I have about three more months until I publicly beta my application. Before doing so I plan on building a stress tester to put my application under varying degrees of load to measure stability, robustness, aliveness, etc. I figure this will also flush a bug or two ;-) I want to run these against both eXist and Xindice to help me make a final decision on which one I will be packaging, As far as sharing the changes to the services, I am very happily to, but I have a serious time problem at the moment. Per, if you have some time to help, I would be happy to zip up my service sources as they stand for you to take a look at. Possibly you would be willing to take out what you think is useful and refractor it into your release. - joel |