[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[xmlblaster-devel] Re: [xmlblaster] integration of Xindice in xmlBlaster (fwd)

Forwarding this message to xmlBlaster-list.



---------- Forwarded message ----------
Date: Thu, 17 Jan 2002 23:48:53 -0700
From: Kimbro Staken <kstaken at dbxmlgroup.com>
Reply-To: xindice-users at xml.apache.org
To: xindice-users at xml.apache.org
Subject: Re: [xmlblaster] integration of Xindice in xmlBlaster

On Thursday, January 17, 2002, at 12:25 PM, Heinrich Götzger wrote:

> The Testcase (TestPersistenceXindice.java) is mostly developed and ready
> to be commited but it rejects to run because of the two ORBs.
> Now I'm getting into the real issue of the two-ORB-Problem: This test
> won't run satisfying because the two ORB's disturbing each other as others
> because of their experience recognized already. Still a lot to learn ;-)
> How can we proceed?
> 1. Integrate a different ORB
>    -> not the best idea

As long as you have a POA compliant ORB this is trivial to do. I've
switched between OpenORB and JacORB many times while testing and other
people have used Visibroker as well.

> 2. Try to get an own classloader
>    Any ideas?
> 3. Connect to dbXML via XML-Objects or XML-RPC (bypassing CORBA)
>    does dbXML run without any orb?

You can run it without an ORB, but things like the XML:DB API and the
command line tools won't work since CORBA is how they communicate with the
server. If you can do without that functionality, just get rid of
APIService in system.xml and the server won't load the ORB.

Overall there's a very loose coupling between the server and the network
API used, there's also a loose coupling between the command line tools and
the XML:DB APi implementation used. Where there is a tight coupling is
between the current XML:DB API implementation and the CORBA API service.
Replace the XML:DB driver impl and provide a different network API for the
server and you can have everything working without CORBA pretty easily.
Take a look at the XML:-RPC impl to see how to write a different network
API. http://sourceforge.net/projects/xindice-xmlrpc/ for Xindice or
http://www.xmldatabases.org/projects/dbXML-XMLRPC/ for dbXML.

> 4. use another db i.e. eXist
>    is less developed than dbXML
> Several issues came up, while developing dbXMLProxy:
> 1. How to handle BLOB or other binary data?
>    No anwser from xindice-list up to now.
>    -> does it make sense using dbXML at all?
> 2. Starting dbXML from within the proxy would be a good issue to bring
>    comfort and safety.

I haven't been following this discussion closely so I need to ask are you
using dbXML or Xindice? If you're using dbXML you should definitely move
to Xindice before getting in too deep.

>    Lots of questions rise around this point:
>    - How's logging working?
>    - Exception and error handling around the dbXML-Server is neccessary.
>    - We need to create the persistence collection, but only once!
>    - Is it thread safe, or is it possible to run more than one instance
>      of dbXML on one computer?

It sounds like you're looking at embedding the server. It is possible to
run more then one instance and the server should be thread safe but that
might depend on exactly how you're using it.

> 3. The RequestBroker needs a closing method, this is neccessary to have a
>    point to shutdown the dbXML or at least close the collection correct.
> regards
> Heinrich
> --
> http://www.xmlBlaster.org
Kimbro Staken
XML Database Software, Consulting and Writing