On Thursday, June 13, 2002, at 09:10 AM, Mark J. Stang wrote:
Kimbro/Tom/et. al., If I understand what you are saying, in this and other e-mails from this time-frame, all of the XML:DB API is done through CORBA.
Yes it's done through CORBA, there's also a new version that uses XML-RPC in scratch pad. There's nothing at all that would prevent the construction of a local (i.e.) non-network version of the XML:DB API.
One option is to start Xindice from within my application as opposed to running it in a seperate JVM from the command-line. So, at that point, clients that know about my server can use it just like it was started via the command-line. One less JVM, but I am still going through the CORBA interface.
Correct.
What if I want to bypass the whole CORBA thing and access the db directly? I think at that point I loose the XML:DB API, what do I use then? I think at that point I am getting down to the metal.
That's correct too.
The main con is you lose the ability to use the command line tools as they require an XML:DB API with network access. The main pro is that your app will be slimmer and should be faster. If you were to build a local implementation of the XML:DB API then your code wouldn't be much different either. Otherwise you're using the internal classes of the server directly and the interfaces there are different. For instance you would program directly against org.apache.xindice.core.Collection.Pros/Cons?
I have been developing a multi-user application. I can now see a need for a single-user version. Easier to install, easier to start up. This is for those who profess not to need a multi-user version. If they should change their minds, a single-user with the DB embeded inside would prevent that.
So, what would you suggest?
As long as you don't need the command line tools, embedding without all the CORBA mess seems like it has good potential. It will also remove any security concerns tied directly to the database, your app will be in control of all security. If you're planning two versions you'd definitely want to implement a local version of the XML:DB API to make changing your code simpler. It's really not that hard of a thing to do.
thanks,
Mark
Kimbro Staken wrote:
Yes it is possible, there isn't any documentation on how to do it right now though. I started working on some last week but i barely got started.
There's basically two levels that you can embed at. The entire server
framework, which brings all the services and would allow you to continue
using the command line tools. And just the database,which will prevent the
command line tools from working.
Take a look at org.apache.xindice.server.Xindice to see how the server is started, and org.apache.xindice.server.services.XindiceService to see how the database it self is started.
On Monday, February 18, 2002, at 06:02 PM, Mark A. Richman wrote:
Is there anyway to run Xindice from within a web server, say Tomcat, instead of as its own standalone server? I'd like to be able to handle client calls via a servlet, so I can incorporate Xindice into my own apps.
Thanks, Mark
Kimbro Staken XML Database Software, Consulting and Writing http://www.xmldatabases.org/
-- Mark J Stang Architect Cybershop Systems
Kimbro Staken Java and XML Software, Consulting and Writing http://www.xmldatabases.org/ Apache Xindice native XML database http://xml.apache.org/xindice XML:DB Initiative http://www.xmldb.org
