You are viewing a plain text version of this content. The canonical link for it is here.
Posted to xindice-users@xml.apache.org by "Mark J. Stang" <ma...@earthlink.net> on 2002/06/13 18:10:33 UTC

Re: Xindice as a servlet?

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.

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.

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.

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?

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


Re: Xindice as a servlet?

Posted by "Mark J. Stang" <ma...@earthlink.net>.
I would be very interested.

Mark

Giacomo Meroni wrote:

> Hi all,
> I am making some tests on Xindice. The xml:db/corba api created problems
> when integrated with xerces (that I use for xml processing), so I have
> developed an alpha version of servlet support for Xindice that uses
> directly the core interfaces, making Xindice running into a servlet
> engine. Till now I have a servlet for xpath querying and a servlet for
> db management (add/remove collection and documents, ..). Both support
> multi db instances; I found problems in indexes management, so that part
> is not working right now.
> If you find it interesting for the project, I could give the sources.
>
> Giacomo
>
> 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.
> >
> >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.
> >
> >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.
> >
> >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?
> >
> >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
> >
> >
> >(See attached file: markstang.vcf)
> >

--
Mark J Stang
Architect
Cybershop Systems


Re: Xindice as a servlet?

Posted by Giacomo Meroni <gi...@txt.it>.
Hi all,
I am making some tests on Xindice. The xml:db/corba api created problems 
when integrated with xerces (that I use for xml processing), so I have 
developed an alpha version of servlet support for Xindice that uses 
directly the core interfaces, making Xindice running into a servlet 
engine. Till now I have a servlet for xpath querying and a servlet for 
db management (add/remove collection and documents, ..). Both support 
multi db instances; I found problems in indexes management, so that part 
is not working right now.
If you find it interesting for the project, I could give the sources.

Giacomo

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.
>
>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.
>
>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.
>
>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?
>
>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
>
>
>(See attached file: markstang.vcf)
>



Re: Xindice as a servlet?

Posted by Kimbro Staken <ks...@xmldatabases.org>.
On Thursday, June 13, 2002, at 01:27  PM, Mark J. Stang wrote:

> As I understand it, the new XML-RPC will replace the CORBA interface.
> However, from the Xindice Users point of view, our interface, the
> XML:DB API won't change.   It should mean that our client code shouldn't
> have
> to change.
>
> But that means that there is a network layer between the data.
> It sounds like, if we want an XML:DB API without any CORBA or
> XML-RPC, we will have to write it ourselves.   Or since this is an open
> source, we can write one and submit it as part of the project :-).

Well yes and it would be a valuable contribution.

> However,
> we lose the command-line tools.

Actually you could still use them, it would just be inconvenient. You'd 
just need to shutdown your application, run the command line tools and 
then start your application again. The command line tools are built 
against the XML:DB API so they should work against any implementation of 
that API (well they will need to be changed a little, but it's trivial). 
The problem is that in the embedded scenario the tools will load the 
database in the same VM just like your application does and accessing the 
same files from two VMs is definitely not a good idea.

>  Which for some people that is a good
> thing.  It is a bit of a security hazard.   However, if we use the
> CORBA/XML-RPC which has a security hazard, we also get third-party
> access and third-party tools.
>
> I will have to think about whether or not I need to bypass|re-implement
> the XML:DB API.
>
> Does anyone else need this bad enough to sit down and write the code?
>
> Mark
>
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


Re: Xindice as a servlet?

Posted by Francesco Bellomi <fb...@libero.it>.
Hi,

>The current Xindice server package should really have been viewed as just 
>one possible packaging of the Xindice database engine. I'm curious does 
>anyone else agree with this?

I totally agree!

My company is developing an XML-based content management framework, and we 
are planning to use XIndice as the main store (as it becomes more mature), 
and we would like to deploy our solutions using XIndice both as an embedded 
DB, and as a server-based db, depending on the specific needs.
IMHO the best solution would be an XML:DB implementation for the embedded 
database, so we could easily switch to the network-based one.

Is is wise to start developing such implementation now, or would you 
suggest to wait until the internal API gets refactored?


>So then the question becomes what is the API people use to build 
>applications? To this point we've always used the XML:DB API for this 
>purpose, at least for Java developers. If your question is whether or not 
>we should continue to do that? Then that is something I've been wondering too.

I think the XML:DB API is a good place to start, and it is also 
(potentially) extensible. (I work mainly in java).
I agree that XML database are missing a query language that supports 
"linking" and "relations".

Francesco


-
Francesco Bellomi
"Use truth to show illusion,
and illusion to show truth."


Re: XUpdate query

Posted by Kimbro Staken <ks...@xmldatabases.org>.
You should ask this on the users list.

On Thursday, June 13, 2002, at 03:56  PM, Umesh Rathod wrote:

> Hi:
>         Can anyone tell me how to write XUpdate query in PHP?
>
>
> Thanks and Regards,
> Umesh
>
>
>
>
>
>
>
>
>
>
>
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


XUpdate query

Posted by Umesh Rathod <um...@treemedia.com>.
Hi:
        Can anyone tell me how to write XUpdate query in PHP? 


Thanks and Regards,
Umesh











Re: Xindice as a servlet?

Posted by Kimbro Staken <ks...@xmldatabases.org>.
Since you have multiple people interested in this and none of them are 
current committers, the easiest thing to do is just create a sourceforge 
project. You don't have to run it long term, just use the resources for a 
while. I'd still use this mailing list though. Once there's actual working 
code then we can roll it into the core project here and get commit for 
whoever wants to work on it long term.

Really though, this code should be fairly simple. You have two example XML:
DB implementations for Xindice already, as well as both the CORBA and 
XML-RPC server components. All you're really doing is moving the code from 
the server components, directly into the XML:DB implementation. Thereby 
cutting out the network layer. The only thing a little tricky will be 
bootstrapping the database, but you can look at org.apache.xindice.server.
services.XindiceService to see how it works.

There's also a set of Unit tests that are part of the XML:DB reference 
implementation download from http://www.xmldb.org/xapi.

On Friday, June 14, 2002, at 09:09  AM, Mark J. Stang wrote:

> Since this is an Apache project, I don't quite know where to
> start.   Also, we need advice from Kimbro on where to start.
> And someone will need commit, maybe we can submit through
> someone else on the project.
>
> Mark
>
> Matt Liotta wrote:
>
>> If need be, I can assign one of my engineers as well. I would rather get
>> started myself and see how things go before assigning additional
>> resources though.
>>
>> -Matt
>>
>>> -----Original Message-----
>>> From: Mark J. Stang [mailto:markstang@earthlink.net]
>>> Sent: Friday, June 14, 2002 7:55 AM
>>> To: xindice-dev@xml.apache.org
>>> Subject: Re: Xindice as a servlet?
>>>
>>> It appears that we have about three of us who are interested.
>>> Matt also expressed interest.   Anyone else?
>>>
>>> Mark
>>>
>>> Vanessa Williams wrote:
>>>
>>>> Mark J. Stang wrote:
>>>>
>>>>> I agree.   I think you are right, the core pieces need to be
>> defined
>>>>> as Interfaces.   Everyone should code to those.
>>>>
>>>> That would be great.
>>>>
>>>>> Right now everyone sees the XML:DB as the interface to Xindice, as
>> I
>>> do
>>>>> also.   In reality, there is a Xindice interface defined through
>> the
>>>>> org.apache.xindice.core.* classes.   The CORBA and XML-RPC
>>>>> interfaces provide an API to use these classes.   That API is the
>> one
>>>>> defined by XML:DB.
>>>>>
>>>>> So it seems the first step should be to define interfaces to the
>>> "core" of
>>>>> Xindice.   And then implement the XML:DB API on top of that,
>> without
>>>>> using CORBA or XML-RPC.   When that is done, we should be able
>>>>> to talk to Xindice either remotely or embedded with the same API.
>>>>
>>>> This would also make me a happy camper.
>>>>
>>>> You asked "Does anyone else need this bad enough to sit down and
>> write
>>> the
>>>> code?" I suppose I'm getting to the point where I do. I'm trying to
>>> build a
>>>> commercial server product on top of Xindice and in its current form
>>> that's
>>>> not practical. While I'd rather spend my time writing my app, it
>> seems I
>>> am
>>>> spending a fair bit of time poking around Xindice anyway (or trying
>> to),
>>>> so...given some direction and an appropriately-sized chunk to bite
>> off,
>>> I'd
>>>> be willing to help.
>>>>
>>>>> --
>>>>> Mark J Stang
>>>>> Architect
>>>>> Cybershop Systems
>>>>>
>>>>>
>>>
>>> --
>>> Mark J Stang
>>> Architect
>>> Cybershop Systems
>
> --
> 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


Re: Xindice as a servlet?

Posted by Vanessa Williams <v....@acm.org>.
Sorry, I forgot to answer your question, Mark. I'm in Toronto, Canada.
That's Eastern Standard Time (actually EDT at the moment).

Vanessa

Mark J. Stang wrote:

> That pretty much covers it.  I will go to SourceForge and create the project.
> I suspect that what we have to do is take the CORBA server implementation and
> implement it stand-alone.   We will need a package name for it.
> 
> BTW, where in the world are you?   It would help to know as far as
> coordination
> goes.   I am in Boulder, Colorado USA.
> 
> Mark


Re: Xindice as a servlet?

Posted by "Mark J. Stang" <ma...@earthlink.net>.
That pretty much covers it.  I will go to SourceForge and create the project.
I suspect that what we have to do is take the CORBA server implementation and
implement it stand-alone.   We will need a package name for it.

BTW, where in the world are you?   It would help to know as far as coordination
goes.   I am in Boulder, Colorado USA.

Mark

Vanessa Williams wrote:

> Mark J. Stang wrote:
>
> > Sure, what do you want to call it on SourceForge?
>
> I can't think of anything profound. The best I can come up with is Xindice
> Embedded. Since it's not going to be a permanent project anyway, it probably
> doesn't matter much what it's called.
>
> Just so we're clear, looking at a post of yours from Jun 13th, am I correct
> that this is what we're planning to do?
>
> 1) define interfaces to the "core" of Xindice;
> 2) implement the XML:DB API on top of the Xindice core interface.
>
> Programmers who want to use Xindice embedded can code to the "core"
> interfaces, or to XML:DB, whichever they prefer. The XML:DB part has to have
> the server components built-in, as per Kimbro's message, and then the
> network layer is gone. Et voila! an embedded Xindice package.
>
> Is that an accurate description of the project's purpose?
>
> Cheers,
>
> Vanessa
>
> > Mark
> >
> > Vanessa Williams wrote:
> >
> >> Are you willing to lead this thing, Mark?
> > --
> > Mark J Stang
> > Software Architect
> > Cybershop Systems
> >
> >

--
Mark J Stang
Software Architect
Cybershop Systems


Re: Xindice as a servlet?

Posted by "Mark J. Stang" <ma...@earthlink.net>.
All,
I have applied for the project on SourceForge.  It will take them
at least two business days to decide if they are going to approve it.
In the mean time, I would suggest that we all download the latest
CVS version of Xindice, if you haven't already...

thanks,

Mark

Vanessa Williams wrote:

> Mark J. Stang wrote:
>
> > Sure, what do you want to call it on SourceForge?
>
> I can't think of anything profound. The best I can come up with is Xindice
> Embedded. Since it's not going to be a permanent project anyway, it probably
> doesn't matter much what it's called.
>
> Just so we're clear, looking at a post of yours from Jun 13th, am I correct
> that this is what we're planning to do?
>
> 1) define interfaces to the "core" of Xindice;
> 2) implement the XML:DB API on top of the Xindice core interface.
>
> Programmers who want to use Xindice embedded can code to the "core"
> interfaces, or to XML:DB, whichever they prefer. The XML:DB part has to have
> the server components built-in, as per Kimbro's message, and then the
> network layer is gone. Et voila! an embedded Xindice package.
>
> Is that an accurate description of the project's purpose?
>
> Cheers,
>
> Vanessa
>
> > Mark
> >
> > Vanessa Williams wrote:
> >
> >> Are you willing to lead this thing, Mark?
> > --
> > Mark J Stang
> > Software Architect
> > Cybershop Systems
> >
> >

--
Mark J Stang
Software Architect
Cybershop Systems


Re: Xindice as a servlet?

Posted by "Mark J. Stang" <ma...@earthlink.net>.
Sounds good to me.   We could do intermediate releases through
SourceForge and announce them here.   How does that sound?

Mark

Matt Liotta wrote:

> I certainly don't mind if a separate CVS repository is setup and we work
> with that until we are ready to integrate back with the main Xindice
> tree. However, it would seem to be useful to share the changes we are
> making as we make them with this list. If for nothing more than an extra
> set of eyeballs.
>
> -Matt
>
> > -----Original Message-----
> > From: Vanessa Williams [mailto:v.williams@acm.org]
> > Sent: Sunday, June 16, 2002 8:24 AM
> > To: xindice-dev@xml.apache.org
> > Subject: Re: Xindice as a servlet?
> >
> > Mark J. Stang wrote:
> >
> > > Sure, what do you want to call it on SourceForge?
> >
> > I can't think of anything profound. The best I can come up with is
> Xindice
> > Embedded. Since it's not going to be a permanent project anyway, it
> > probably
> > doesn't matter much what it's called.
> >
> > Just so we're clear, looking at a post of yours from Jun 13th, am I
> > correct
> > that this is what we're planning to do?
> >
> > 1) define interfaces to the "core" of Xindice;
> > 2) implement the XML:DB API on top of the Xindice core interface.
> >
> > Programmers who want to use Xindice embedded can code to the "core"
> > interfaces, or to XML:DB, whichever they prefer. The XML:DB part has
> to
> > have
> > the server components built-in, as per Kimbro's message, and then the
> > network layer is gone. Et voila! an embedded Xindice package.
> >
> > Is that an accurate description of the project's purpose?
> >
> > Cheers,
> >
> > Vanessa
> >
> > > Mark
> > >
> > > Vanessa Williams wrote:
> > >
> > >> Are you willing to lead this thing, Mark?
> > > --
> > > Mark J Stang
> > > Software Architect
> > > Cybershop Systems
> > >
> > >

--
Mark J Stang
Software Architect
Cybershop Systems


RE: Xindice as a servlet?

Posted by Matt Liotta <ml...@r337.com>.
I certainly don't mind if a separate CVS repository is setup and we work
with that until we are ready to integrate back with the main Xindice
tree. However, it would seem to be useful to share the changes we are
making as we make them with this list. If for nothing more than an extra
set of eyeballs.

-Matt

> -----Original Message-----
> From: Vanessa Williams [mailto:v.williams@acm.org]
> Sent: Sunday, June 16, 2002 8:24 AM
> To: xindice-dev@xml.apache.org
> Subject: Re: Xindice as a servlet?
> 
> Mark J. Stang wrote:
> 
> > Sure, what do you want to call it on SourceForge?
> 
> I can't think of anything profound. The best I can come up with is
Xindice
> Embedded. Since it's not going to be a permanent project anyway, it
> probably
> doesn't matter much what it's called.
> 
> Just so we're clear, looking at a post of yours from Jun 13th, am I
> correct
> that this is what we're planning to do?
> 
> 1) define interfaces to the "core" of Xindice;
> 2) implement the XML:DB API on top of the Xindice core interface.
> 
> Programmers who want to use Xindice embedded can code to the "core"
> interfaces, or to XML:DB, whichever they prefer. The XML:DB part has
to
> have
> the server components built-in, as per Kimbro's message, and then the
> network layer is gone. Et voila! an embedded Xindice package.
> 
> Is that an accurate description of the project's purpose?
> 
> Cheers,
> 
> Vanessa
> 
> > Mark
> >
> > Vanessa Williams wrote:
> >
> >> Are you willing to lead this thing, Mark?
> > --
> > Mark J Stang
> > Software Architect
> > Cybershop Systems
> >
> >


Re: Xindice as a servlet?

Posted by Vanessa Williams <v....@acm.org>.
Mark J. Stang wrote:

> Sure, what do you want to call it on SourceForge?

I can't think of anything profound. The best I can come up with is Xindice
Embedded. Since it's not going to be a permanent project anyway, it probably
doesn't matter much what it's called.

Just so we're clear, looking at a post of yours from Jun 13th, am I correct
that this is what we're planning to do?

1) define interfaces to the "core" of Xindice;
2) implement the XML:DB API on top of the Xindice core interface.

Programmers who want to use Xindice embedded can code to the "core"
interfaces, or to XML:DB, whichever they prefer. The XML:DB part has to have
the server components built-in, as per Kimbro's message, and then the
network layer is gone. Et voila! an embedded Xindice package.

Is that an accurate description of the project's purpose?

Cheers,

Vanessa
 
> Mark
> 
> Vanessa Williams wrote:
> 
>> Are you willing to lead this thing, Mark?
> --
> Mark J Stang
> Software Architect
> Cybershop Systems
> 
> 


Re: Xindice as a servlet?

Posted by "Mark J. Stang" <ma...@earthlink.net>.
Sure, what do you want to call it on SourceForge?

Mark

Vanessa Williams wrote:

> Are you willing to lead this thing, Mark?
>
> Mark J. Stang wrote:
>
> > Since this is an Apache project, I don't quite know where to
> > start.   Also, we need advice from Kimbro on where to start.
> > And someone will need commit, maybe we can submit through
> > someone else on the project.
> >
> > Mark

--
Mark J Stang
Software Architect
Cybershop Systems


Re: Xindice as a servlet?

Posted by Vanessa Williams <v....@acm.org>.
Are you willing to lead this thing, Mark?


Mark J. Stang wrote:

> Since this is an Apache project, I don't quite know where to
> start.   Also, we need advice from Kimbro on where to start.
> And someone will need commit, maybe we can submit through
> someone else on the project.
> 
> Mark


Re: Xindice as a servlet?

Posted by "Mark J. Stang" <ma...@earthlink.net>.
Since this is an Apache project, I don't quite know where to
start.   Also, we need advice from Kimbro on where to start.
And someone will need commit, maybe we can submit through
someone else on the project.

Mark

Matt Liotta wrote:

> If need be, I can assign one of my engineers as well. I would rather get
> started myself and see how things go before assigning additional
> resources though.
>
> -Matt
>
> > -----Original Message-----
> > From: Mark J. Stang [mailto:markstang@earthlink.net]
> > Sent: Friday, June 14, 2002 7:55 AM
> > To: xindice-dev@xml.apache.org
> > Subject: Re: Xindice as a servlet?
> >
> > It appears that we have about three of us who are interested.
> > Matt also expressed interest.   Anyone else?
> >
> > Mark
> >
> > Vanessa Williams wrote:
> >
> > > Mark J. Stang wrote:
> > >
> > > > I agree.   I think you are right, the core pieces need to be
> defined
> > > > as Interfaces.   Everyone should code to those.
> > >
> > > That would be great.
> > >
> > > > Right now everyone sees the XML:DB as the interface to Xindice, as
> I
> > do
> > > > also.   In reality, there is a Xindice interface defined through
> the
> > > > org.apache.xindice.core.* classes.   The CORBA and XML-RPC
> > > > interfaces provide an API to use these classes.   That API is the
> one
> > > > defined by XML:DB.
> > > >
> > > > So it seems the first step should be to define interfaces to the
> > "core" of
> > > > Xindice.   And then implement the XML:DB API on top of that,
> without
> > > > using CORBA or XML-RPC.   When that is done, we should be able
> > > > to talk to Xindice either remotely or embedded with the same API.
> > >
> > > This would also make me a happy camper.
> > >
> > > You asked "Does anyone else need this bad enough to sit down and
> write
> > the
> > > code?" I suppose I'm getting to the point where I do. I'm trying to
> > build a
> > > commercial server product on top of Xindice and in its current form
> > that's
> > > not practical. While I'd rather spend my time writing my app, it
> seems I
> > am
> > > spending a fair bit of time poking around Xindice anyway (or trying
> to),
> > > so...given some direction and an appropriately-sized chunk to bite
> off,
> > I'd
> > > be willing to help.
> > >
> > > > --
> > > > Mark J Stang
> > > > Architect
> > > > Cybershop Systems
> > > >
> > > >
> >
> > --
> > Mark J Stang
> > Architect
> > Cybershop Systems

--
Mark J Stang
Architect
Cybershop Systems


RE: Xindice as a servlet?

Posted by Matt Liotta <ml...@r337.com>.
If need be, I can assign one of my engineers as well. I would rather get
started myself and see how things go before assigning additional
resources though.

-Matt

> -----Original Message-----
> From: Mark J. Stang [mailto:markstang@earthlink.net]
> Sent: Friday, June 14, 2002 7:55 AM
> To: xindice-dev@xml.apache.org
> Subject: Re: Xindice as a servlet?
> 
> It appears that we have about three of us who are interested.
> Matt also expressed interest.   Anyone else?
> 
> Mark
> 
> Vanessa Williams wrote:
> 
> > Mark J. Stang wrote:
> >
> > > I agree.   I think you are right, the core pieces need to be
defined
> > > as Interfaces.   Everyone should code to those.
> >
> > That would be great.
> >
> > > Right now everyone sees the XML:DB as the interface to Xindice, as
I
> do
> > > also.   In reality, there is a Xindice interface defined through
the
> > > org.apache.xindice.core.* classes.   The CORBA and XML-RPC
> > > interfaces provide an API to use these classes.   That API is the
one
> > > defined by XML:DB.
> > >
> > > So it seems the first step should be to define interfaces to the
> "core" of
> > > Xindice.   And then implement the XML:DB API on top of that,
without
> > > using CORBA or XML-RPC.   When that is done, we should be able
> > > to talk to Xindice either remotely or embedded with the same API.
> >
> > This would also make me a happy camper.
> >
> > You asked "Does anyone else need this bad enough to sit down and
write
> the
> > code?" I suppose I'm getting to the point where I do. I'm trying to
> build a
> > commercial server product on top of Xindice and in its current form
> that's
> > not practical. While I'd rather spend my time writing my app, it
seems I
> am
> > spending a fair bit of time poking around Xindice anyway (or trying
to),
> > so...given some direction and an appropriately-sized chunk to bite
off,
> I'd
> > be willing to help.
> >
> > > --
> > > Mark J Stang
> > > Architect
> > > Cybershop Systems
> > >
> > >
> 
> --
> Mark J Stang
> Architect
> Cybershop Systems



Re: Xindice as a servlet?

Posted by "Mark J. Stang" <ma...@earthlink.net>.
It appears that we have about three of us who are interested.
Matt also expressed interest.   Anyone else?

Mark

Vanessa Williams wrote:

> Mark J. Stang wrote:
>
> > I agree.   I think you are right, the core pieces need to be defined
> > as Interfaces.   Everyone should code to those.
>
> That would be great.
>
> > Right now everyone sees the XML:DB as the interface to Xindice, as I do
> > also.   In reality, there is a Xindice interface defined through the
> > org.apache.xindice.core.* classes.   The CORBA and XML-RPC
> > interfaces provide an API to use these classes.   That API is the one
> > defined by XML:DB.
> >
> > So it seems the first step should be to define interfaces to the "core" of
> > Xindice.   And then implement the XML:DB API on top of that, without
> > using CORBA or XML-RPC.   When that is done, we should be able
> > to talk to Xindice either remotely or embedded with the same API.
>
> This would also make me a happy camper.
>
> You asked "Does anyone else need this bad enough to sit down and write the
> code?" I suppose I'm getting to the point where I do. I'm trying to build a
> commercial server product on top of Xindice and in its current form that's
> not practical. While I'd rather spend my time writing my app, it seems I am
> spending a fair bit of time poking around Xindice anyway (or trying to),
> so...given some direction and an appropriately-sized chunk to bite off, I'd
> be willing to help.
>
> > --
> > Mark J Stang
> > Architect
> > Cybershop Systems
> >
> >

--
Mark J Stang
Architect
Cybershop Systems


Re: Xindice as a servlet?

Posted by Vanessa Williams <v....@acm.org>.
Mark J. Stang wrote:

> I agree.   I think you are right, the core pieces need to be defined
> as Interfaces.   Everyone should code to those.

That would be great.
 
> Right now everyone sees the XML:DB as the interface to Xindice, as I do
> also.   In reality, there is a Xindice interface defined through the
> org.apache.xindice.core.* classes.   The CORBA and XML-RPC
> interfaces provide an API to use these classes.   That API is the one
> defined by XML:DB.
> 
> So it seems the first step should be to define interfaces to the "core" of
> Xindice.   And then implement the XML:DB API on top of that, without
> using CORBA or XML-RPC.   When that is done, we should be able
> to talk to Xindice either remotely or embedded with the same API.

This would also make me a happy camper.

You asked "Does anyone else need this bad enough to sit down and write the
code?" I suppose I'm getting to the point where I do. I'm trying to build a
commercial server product on top of Xindice and in its current form that's
not practical. While I'd rather spend my time writing my app, it seems I am
spending a fair bit of time poking around Xindice anyway (or trying to),
so...given some direction and an appropriately-sized chunk to bite off, I'd
be willing to help.



> --
> Mark J Stang
> Architect
> Cybershop Systems
> 
> 


Re: Xindice as a servlet?

Posted by "Mark J. Stang" <ma...@earthlink.net>.
I agree.   I think you are right, the core pieces need to be defined
as Interfaces.   Everyone should code to those.

Right now everyone sees the XML:DB as the interface to Xindice, as I do
also.   In reality, there is a Xindice interface defined through the
org.apache.xindice.core.* classes.   The CORBA and XML-RPC
interfaces provide an API to use these classes.   That API is the one
defined by XML:DB.

So it seems the first step should be to define interfaces to the "core" of
Xindice.   And then implement the XML:DB API on top of that, without
using CORBA or XML-RPC.   When that is done, we should be able
to talk to Xindice either remotely or embedded with the same API.

The question to be asked later is whether or not XML:DB is the best
Interface to use.   For right now, I think it is, but it is holding us back.
Some of the answers to questions are "because the XML:DB API doesn't
support that".   Since Kimbro is part of the XML:DB project, he can
speak to what it will take to get the API modified.   We have two choices,
one stick with XML:DB or invent/use a new one.   For right now, I say we
stick with XML:DB.   One because it is in place and people have coded to
it.   Two, because the XML-RPC initiative is in progress and they might as
well finish.   And three don't change too many things at once.   I would just
as
soon see one API available as three different implementations than everyone
running off in three seperate directions.   Also, the test classes should work

for all three implementations.

Thoughts?   Kimbro am I correct in my description?

Mark

Kimbro Staken wrote:

> On Thursday, June 13, 2002, at 01:59  PM, Matt Liotta wrote:
>
> > Isn't XML:DB just a set of interfaces?
>
> Yes.
>
> > Doesn't Xindice provide more
> > functionality than what is in XML:DB?
>
> Yes.
>
> > Thus, it would seem that Xindice
> > needs to provide its own API that mostly matches XML:DB, but also
> > supports Xindicisms.
>
> Yes, the XML-RPC API provides this for network access and the internal
> classes provide it to anyone who wants to embed the database. Really
> though, the internal structure needs to be refactored to make it clearer
> what the APIs are and to also make them less susceptible to change. It's
> kind of risky to build against the internal classes directly, but right
> now there's no alternative.
>
> > Then you could have many different implementations
> > of the Xindice API.
>
> I think there should be two APIs that are Xindice specific.
> 1. A network API (current CORBA, future XML-RPC)
> 2. An internal API (org.apache.xindice.core.Database, Collection and
> friends - needs refactoring)
>
> Whether those match or not, in my opinion doesn't matter because the
> medium is so different.
>
> So then the question becomes what is the API people use to build
> applications? To this point we've always used the XML:DB API for this
> purpose, at least for Java developers. If your question is whether or not
> we should continue to do that? Then that is something I've been wondering
> too. What's actually important though, is making sure the appropriate
> information is available outside the database engine. The two APIs above
> cover that, so to me those are the most important ones to be concerned
> with. From there people can build whatever APIs they want, or just use the
> XML:DB API.
>
> I understand completely if you're confused. Again this is why I really
> wish we had originally packaged this as an embedded database. In that
> scenario it would be much clearer what is the database and what is really
> an add on component that provides a particular service. Really everything
> like the CORBA API, XML-RPC API, XML:DB API, command line tools and all
> that are just add ons. People should be building whatever add ons they
> want and shouldn't be concerned with whether or not the core project
> codifies them as the "official" way. The current Xindice server package
> should really have been viewed as just one possible packaging of the
> Xindice database engine. I'm curious does anyone else agree with this?
>
> > -Matt
> >
> >> -----Original Message-----
> >> From: Kimbro Staken [mailto:kstaken@xmldatabases.org]
> >> Sent: Thursday, June 13, 2002 1:53 PM
> >> To: xindice-dev@xml.apache.org
> >> Subject: Re: Xindice as a servlet?
> >>
> >>
> >> On Thursday, June 13, 2002, at 01:30  PM, Matt Liotta wrote:
> >>
> >>> If the CORBA and/or XML-RPC implementations where just layers on top
> > of
> >>> the local implementation this wouldn't be an issue.
> >>
> >> Why would you want to add another layer inside the server? Unless I'm
> >> misunderstanding, what you're suggesting is.
> >>
> >> XML:DB API -> network -> CORBA -> local XML:DB API -> Core classes.
> >>
> >> Or alternatitvely
> >>
> >> XML-DB API -> network -> XML-RPC -> local XML:DB API -> Core classes.
> >>
> >> As should be apparent from this there's no value in adding the local
> >> XML:DB API into the stack. Both the CORBA and XML-RPC services are
> > already
> >> just layers implemented against the same set of internal classes.
> >>
> >>> Simply add a
> >>> configuration directive to specify whether you want a CORBA or
> > XML-RPC
> >>> implementation to be made available.
> >>>
> >>> To answer you other question, yes, I would be willing to help code
> > it.
> >>>
> >>
> >> What would be valuable is for someone to write the local XML:DB API
> >> implementation. It's really not that hard. Just about anyone who is
> >> embedding the server would probably like to see that. It would make it
> >> quite simple to move from an embedded database to a full network
> > database
> >> simply by using the alternate XML:DB implementations.
> >>
> >>> -Matt
> >>>
> >> 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
> >
> >
> 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

--
Mark J Stang
Architect
Cybershop Systems


Re: Xindice as a servlet?

Posted by Vanessa Williams <v....@acm.org>.
Kimbro Staken wrote:

> I understand completely if you're confused. Again this is why I really
> wish we had originally packaged this as an embedded database. In that
> scenario it would be much clearer what is the database and what is really
> an add on component that provides a particular service. Really everything
> like the CORBA API, XML-RPC API, XML:DB API, command line tools and all
> that are just add ons. People should be building whatever add ons they
> want and shouldn't be concerned with whether or not the core project
> codifies them as the "official" way. The current Xindice server package
> should really have been viewed as just one possible packaging of the
> Xindice database engine. I'm curious does anyone else agree with this?
> 


I do agree. I find my own attempts to look through the code are hindered by
confusion over what's necessary and what's extra stuff on top that I can use
or ignore according to my application's needs. Also, since only the XML:DB
API is really documented in the Developer documentation, it's hard to know
how to use Xindice "raw", or even to know whether it's wise to do so.



> 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
> 


Re: Xindice as a servlet?

Posted by Kimbro Staken <ks...@xmldatabases.org>.
On Thursday, June 13, 2002, at 01:59  PM, Matt Liotta wrote:

> Isn't XML:DB just a set of interfaces?

Yes.

> Doesn't Xindice provide more
> functionality than what is in XML:DB?

Yes.

> Thus, it would seem that Xindice
> needs to provide its own API that mostly matches XML:DB, but also
> supports Xindicisms.

Yes, the XML-RPC API provides this for network access and the internal 
classes provide it to anyone who wants to embed the database. Really 
though, the internal structure needs to be refactored to make it clearer 
what the APIs are and to also make them less susceptible to change. It's 
kind of risky to build against the internal classes directly, but right 
now there's no alternative.

> Then you could have many different implementations
> of the Xindice API.

I think there should be two APIs that are Xindice specific.
1. A network API (current CORBA, future XML-RPC)
2. An internal API (org.apache.xindice.core.Database, Collection and 
friends - needs refactoring)

Whether those match or not, in my opinion doesn't matter because the 
medium is so different.

So then the question becomes what is the API people use to build 
applications? To this point we've always used the XML:DB API for this 
purpose, at least for Java developers. If your question is whether or not 
we should continue to do that? Then that is something I've been wondering 
too. What's actually important though, is making sure the appropriate 
information is available outside the database engine. The two APIs above 
cover that, so to me those are the most important ones to be concerned 
with. From there people can build whatever APIs they want, or just use the 
XML:DB API.

I understand completely if you're confused. Again this is why I really 
wish we had originally packaged this as an embedded database. In that 
scenario it would be much clearer what is the database and what is really 
an add on component that provides a particular service. Really everything 
like the CORBA API, XML-RPC API, XML:DB API, command line tools and all 
that are just add ons. People should be building whatever add ons they 
want and shouldn't be concerned with whether or not the core project 
codifies them as the "official" way. The current Xindice server package 
should really have been viewed as just one possible packaging of the 
Xindice database engine. I'm curious does anyone else agree with this?

> -Matt
>
>> -----Original Message-----
>> From: Kimbro Staken [mailto:kstaken@xmldatabases.org]
>> Sent: Thursday, June 13, 2002 1:53 PM
>> To: xindice-dev@xml.apache.org
>> Subject: Re: Xindice as a servlet?
>>
>>
>> On Thursday, June 13, 2002, at 01:30  PM, Matt Liotta wrote:
>>
>>> If the CORBA and/or XML-RPC implementations where just layers on top
> of
>>> the local implementation this wouldn't be an issue.
>>
>> Why would you want to add another layer inside the server? Unless I'm
>> misunderstanding, what you're suggesting is.
>>
>> XML:DB API -> network -> CORBA -> local XML:DB API -> Core classes.
>>
>> Or alternatitvely
>>
>> XML-DB API -> network -> XML-RPC -> local XML:DB API -> Core classes.
>>
>> As should be apparent from this there's no value in adding the local
>> XML:DB API into the stack. Both the CORBA and XML-RPC services are
> already
>> just layers implemented against the same set of internal classes.
>>
>>> Simply add a
>>> configuration directive to specify whether you want a CORBA or
> XML-RPC
>>> implementation to be made available.
>>>
>>> To answer you other question, yes, I would be willing to help code
> it.
>>>
>>
>> What would be valuable is for someone to write the local XML:DB API
>> implementation. It's really not that hard. Just about anyone who is
>> embedding the server would probably like to see that. It would make it
>> quite simple to move from an embedded database to a full network
> database
>> simply by using the alternate XML:DB implementations.
>>
>>> -Matt
>>>
>> 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
>
>
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


RE: Xindice as a servlet?

Posted by Matt Liotta <ml...@r337.com>.
Isn't XML:DB just a set of interfaces? Doesn't Xindice provide more
functionality than what is in XML:DB? Thus, it would seem that Xindice
needs to provide its own API that mostly matches XML:DB, but also
supports Xindicisms. Then you could have many different implementations
of the Xindice API.

-Matt

> -----Original Message-----
> From: Kimbro Staken [mailto:kstaken@xmldatabases.org]
> Sent: Thursday, June 13, 2002 1:53 PM
> To: xindice-dev@xml.apache.org
> Subject: Re: Xindice as a servlet?
> 
> 
> On Thursday, June 13, 2002, at 01:30  PM, Matt Liotta wrote:
> 
> > If the CORBA and/or XML-RPC implementations where just layers on top
of
> > the local implementation this wouldn't be an issue.
> 
> Why would you want to add another layer inside the server? Unless I'm
> misunderstanding, what you're suggesting is.
> 
> XML:DB API -> network -> CORBA -> local XML:DB API -> Core classes.
> 
> Or alternatitvely
> 
> XML-DB API -> network -> XML-RPC -> local XML:DB API -> Core classes.
> 
> As should be apparent from this there's no value in adding the local
> XML:DB API into the stack. Both the CORBA and XML-RPC services are
already
> just layers implemented against the same set of internal classes.
> 
> > Simply add a
> > configuration directive to specify whether you want a CORBA or
XML-RPC
> > implementation to be made available.
> >
> > To answer you other question, yes, I would be willing to help code
it.
> >
> 
> What would be valuable is for someone to write the local XML:DB API
> implementation. It's really not that hard. Just about anyone who is
> embedding the server would probably like to see that. It would make it
> quite simple to move from an embedded database to a full network
database
> simply by using the alternate XML:DB implementations.
> 
> > -Matt
> >
> 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


Re: Xindice as a servlet?

Posted by Kimbro Staken <ks...@xmldatabases.org>.
On Thursday, June 13, 2002, at 01:30  PM, Matt Liotta wrote:

> If the CORBA and/or XML-RPC implementations where just layers on top of
> the local implementation this wouldn't be an issue.

Why would you want to add another layer inside the server? Unless I'm 
misunderstanding, what you're suggesting is.

XML:DB API -> network -> CORBA -> local XML:DB API -> Core classes.

Or alternatitvely

XML-DB API -> network -> XML-RPC -> local XML:DB API -> Core classes.

As should be apparent from this there's no value in adding the local 
XML:DB API into the stack. Both the CORBA and XML-RPC services are already 
just layers implemented against the same set of internal classes.

> Simply add a
> configuration directive to specify whether you want a CORBA or XML-RPC
> implementation to be made available.
>
> To answer you other question, yes, I would be willing to help code it.
>

What would be valuable is for someone to write the local XML:DB API 
implementation. It's really not that hard. Just about anyone who is 
embedding the server would probably like to see that. It would make it 
quite simple to move from an embedded database to a full network database 
simply by using the alternate XML:DB implementations.

> -Matt
>
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


RE: Xindice as a servlet?

Posted by Matt Liotta <ml...@r337.com>.
If the CORBA and/or XML-RPC implementations where just layers on top of
the local implementation this wouldn't be an issue. Simply add a
configuration directive to specify whether you want a CORBA or XML-RPC
implementation to be made available.

To answer you other question, yes, I would be willing to help code it.

-Matt

> -----Original Message-----
> From: Mark J. Stang [mailto:markstang@earthlink.net]
> Sent: Thursday, June 13, 2002 1:28 PM
> To: xindice-dev@xml.apache.org
> Subject: Re: Xindice as a servlet?
> 
> As I understand it, the new XML-RPC will replace the CORBA interface.
> However, from the Xindice Users point of view, our interface, the
> XML:DB API won't change.   It should mean that our client code
shouldn't
> have
> to change.
> 
> But that means that there is a network layer between the data.
> It sounds like, if we want an XML:DB API without any CORBA or
> XML-RPC, we will have to write it ourselves.   Or since this is an
open
> source, we can write one and submit it as part of the project :-).
> However,
> we lose the command-line tools.   Which for some people that is a good
> thing.  It is a bit of a security hazard.   However, if we use the
> CORBA/XML-RPC which has a security hazard, we also get third-party
> access and third-party tools.
> 
> I will have to think about whether or not I need to
bypass|re-implement
> the XML:DB API.
> 
> Does anyone else need this bad enough to sit down and write the code?
> 
> Mark
> 
> Matt Liotta wrote:
> 
> > > 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.
> > >
> > If I read this correctly, you are saying the XML:DB API is
implemented
> > by CORBA specific classes. That doesn't seem to make sense. Wouldn't
it
> > make more sense to have an implementation of XML:DB that isn't tied
to
> > CORBA and then layer CORBA on top of that? I would certainly rather
use
> > an implementation that isn't tied to CORBA.
> >
> > -Matt
> 
> --
> Mark J Stang
> Architect
> Cybershop Systems



Re: Xindice as a servlet?

Posted by "Mark J. Stang" <ma...@earthlink.net>.
As I understand it, the new XML-RPC will replace the CORBA interface.
However, from the Xindice Users point of view, our interface, the
XML:DB API won't change.   It should mean that our client code shouldn't
have
to change.

But that means that there is a network layer between the data.
It sounds like, if we want an XML:DB API without any CORBA or
XML-RPC, we will have to write it ourselves.   Or since this is an open
source, we can write one and submit it as part of the project :-).
However,
we lose the command-line tools.   Which for some people that is a good
thing.  It is a bit of a security hazard.   However, if we use the
CORBA/XML-RPC which has a security hazard, we also get third-party
access and third-party tools.

I will have to think about whether or not I need to bypass|re-implement
the XML:DB API.

Does anyone else need this bad enough to sit down and write the code?

Mark

Matt Liotta wrote:

> > 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.
> >
> If I read this correctly, you are saying the XML:DB API is implemented
> by CORBA specific classes. That doesn't seem to make sense. Wouldn't it
> make more sense to have an implementation of XML:DB that isn't tied to
> CORBA and then layer CORBA on top of that? I would certainly rather use
> an implementation that isn't tied to CORBA.
>
> -Matt

--
Mark J Stang
Architect
Cybershop Systems


Re: Xindice as a servlet?

Posted by Kimbro Staken <ks...@xmldatabases.org>.
On Thursday, June 13, 2002, at 01:53  PM, Matt Liotta wrote:

> Maybe I am confused here, but I don't see how it is irrelevant. I want
> to use Xindice as an embedded database, not access it through a network
> API of some kind whether it is XML-RPC or not. I think it is great that
> Xindice will support XML-RPC in the future, but I would really prefer it
> to be optional.
>

Which is why you should create a local implementation of the XML:DB API. 
Just don't entangle it with CORBA or XML-RPC or anything else.

You need to look at the architecture of the software. It is very modular. 
The database internals are completely independent of any network functions.
  CORBA, XML-RPC and the database engine itself are just services that run 
within a server framework. You can easily mix and match what pieces you 
want. You can also get rid of the whole server framework, including CORBA 
and XML-RPC and just use the core database engine. If you put a simple XML:
DB API wrapper around that engine you'll have a lightweight embedded 
database that is API compatible with the full network enabled version of 
Xindice. You don't have to do that though, you could just as easily build 
your application against the internal classes of the database. In this 
scenario there's no network functionality at all, it's just an embedded 
database.

In a lot of ways I wish we had just packaged it that way to begin with. 
All the other stuff just confuses people and has really slowed down the 
development of the server. Personally I'd like to see all the server 
framework junk chucked and just replaced with a mechanism to run the 
Xindice database engine within a servlet engine. It would be a lot clearer 
to people then what exactly is the database and what is support 
infrastructure that is not as important. We have a lot more discussions 
here about support infrastructure then we do about the database itself.

> -Matt
>
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


RE: Xindice as a servlet?

Posted by Matt Liotta <ml...@r337.com>.
Maybe I am confused here, but I don't see how it is irrelevant. I want
to use Xindice as an embedded database, not access it through a network
API of some kind whether it is XML-RPC or not. I think it is great that
Xindice will support XML-RPC in the future, but I would really prefer it
to be optional.

-Matt

> -----Original Message-----
> From: Kimbro Staken [mailto:kstaken@xmldatabases.org]
> Sent: Thursday, June 13, 2002 1:43 PM
> To: xindice-dev@xml.apache.org
> Subject: Re: Xindice as a servlet?
> 
> 
> On Thursday, June 13, 2002, at 12:59  PM, Matt Liotta wrote:
> >>
> > If I read this correctly, you are saying the XML:DB API is
implemented
> > by CORBA specific classes. That doesn't seem to make sense. Wouldn't
it
> > make more sense to have an implementation of XML:DB that isn't tied
to
> > CORBA and then layer CORBA on top of that? I would certainly rather
use
> > an implementation that isn't tied to CORBA.
> >
> The interface you're using is the XML:DB API, the fact that it uses
CORBA
> under the covers is irrelevant and is supposed to be seamless to the
user
> of the API. There's another XML:DB API implementation in scratchpad
that
> uses XML-RPC. Our goal has never really been to expose a CORBA API, we
> simply made the mistake of choosing to use CORBA as the network API to
> access the server. Once the XML-RPC API is mature I'm hoping to see
CORBA
> chopped completely out of the system.
> 
> > -Matt
> >
> >
> 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


Re: Xindice as a servlet?

Posted by Kimbro Staken <ks...@xmldatabases.org>.
On Thursday, June 13, 2002, at 12:59  PM, Matt Liotta wrote:
>>
> If I read this correctly, you are saying the XML:DB API is implemented
> by CORBA specific classes. That doesn't seem to make sense. Wouldn't it
> make more sense to have an implementation of XML:DB that isn't tied to
> CORBA and then layer CORBA on top of that? I would certainly rather use
> an implementation that isn't tied to CORBA.
>
The interface you're using is the XML:DB API, the fact that it uses CORBA 
under the covers is irrelevant and is supposed to be seamless to the user 
of the API. There's another XML:DB API implementation in scratchpad that 
uses XML-RPC. Our goal has never really been to expose a CORBA API, we 
simply made the mistake of choosing to use CORBA as the network API to 
access the server. Once the XML-RPC API is mature I'm hoping to see CORBA 
chopped completely out of the system.

> -Matt
>
>
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


RE: Xindice as a servlet?

Posted by Matt Liotta <ml...@r337.com>.
> 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.
> 
If I read this correctly, you are saying the XML:DB API is implemented
by CORBA specific classes. That doesn't seem to make sense. Wouldn't it
make more sense to have an implementation of XML:DB that isn't tied to
CORBA and then layer CORBA on top of that? I would certainly rather use
an implementation that isn't tied to CORBA.

-Matt


Re: Xindice as a servlet?

Posted by Kimbro Staken <ks...@xmldatabases.org>.
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.

> Pros/Cons?
>
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.

> 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