Re: [bdbxml] Developing a local (Swing) front-end

Tom McCubbin <[email protected]>
Newsgroups gmane.comp.db.dbxml.general
Message-ID <[email protected]>
Breno Costa wrote:

>Hi all,
>
>   Thanks for the replies. Unfortunately I cant help on this new
>project, as I'm not C++ fluent.
>
>    But I can make Debian/Ubuntu Linux packages for the software. I'm
>a member of the Ubuntu-BR project.
>
>cheers,
>
>-- Breno
>  
>
That would be great!
However,  the project is not language specific.  Most of the people will 
be uing java, and the idea
is to support many languages...

>On 6/23/05, Philipp Suter <[email protected]> wrote:
>  
>
>>Hi All
>>
>>I was discussing some of the mnetioned points with webhiker a few weeks
>>ago as we both are in the need of a xmldb server. Tom kindly offered his
>>help concerning the programming of the server. Our discussion was on the
>>xml mailing list under the topic "[bdbxml] How to avoid out of memory
>>errors with Sleepycat XML DB".
>>
>>Tom McCubbin wrote:
>>
>>    
>>
>>>I'm fairly sure the java client to BDBXML is using swig to punch
>>>through the JNI to get at the c++ library.  Hence some of the
>>>dispose/memory issues i've seen on the list.  I'm all for any and all
>>>server implementations, and client implementations, and much more
>>>focused on the protocol and the service definition.  I have used the
>>>axis toolkit both in java, and c++, though it was ~ a year ago.  We
>>>did benchmarks, and both lost out in all tests by a magnitude or
>>>better to the gsoap implementation.  gsoap is also much less obtrusive
>>>in deployment from a c++ perspective, as it basically scan's a header
>>>file, and generates all the code for your service objects.  Clients
>>>don't have to use gsoap.  e.g., you could roll a client in pure java
>>>using the java axis kit.  We did just this w/ a java portal that was
>>>talking to the gsoap server...
>>>      
>>>
>>which is the perfect implementation scenario from my point of view, here
>>are some benchmarks: http://www.cs.fsu.edu/~engelen/soapperformance.html
>>
>>    
>>
>>>Finally, the deployment of the c++ server is a simple single binary w/
>>>few dependancies, and very lightweight.
>>>
>>>In any case, i think of it more like jabber.  Define a dialect of xml,
>>>behavior, context, rules, etc., and then deploy some test
>>>implementations.  We can recut the code in all sorts of languages.  I
>>>know most people don't like c++, and for good reason.  It is not a
>>>language for the masses...
>>>
>>>More importantly, I am clueless re: the XML:DB stuff, and will go off
>>>their spec.  Is there something else we should apply that is missing
>>>from that spec?  That's what we should really focus on...do we want
>>>their spec solely, a subset plus our extensions, or maybe a superset
>>>of core 1 plus our extensions?  I would like feedback here, because my
>>>only use to date w/ xml is in configuration files / systems.
>>>      
>>>
>>Here is a quote from an email of the abovely mentioned discussion:
>>"One thing you might want to ponder on before you get started, and which
>>a quick perusal of the spec might not make immediately apparent, is that
>>Xml:DB is based on nestable Collections.
>>At fiest glance, the XmlContainer maps quite nicely onto Xml:DB
>>Collections, however, unlike Sleepycat, in which all containers are
>>flat, Xml:DB allows Collections to contain other Collections as well as
>>XML documents.
>>This might make translating the XQUery or XPath statements a bit more
>>tricky, since one needs to traverse child collections when evaluating
>>the expressions.
>>But perhaps you can use the metadata storage capabilities of Sleepcat to
>>store this info about relationships between Collections. "
>>
>>    
>>
>>>This hasn't warranted BDBXML, but i am evaluating for just that
>>>reason.   All of my config queries are in XPath, and I would love to
>>>have an optimal centralized configuration system such as this.
>>>Currently, i can keep shared config info on a server, and access the
>>>config using XInclude from a local config file.  It would be nicer for
>>>me to keep all config docs in one location, and have decentralized
>>>processes seemlessly, and quickly accessing their configuration info...
>>>
>>>I'll get the server done by weeks end i hope...
>>>
>>>My last ? is what platform people would want a pkg for.  I'm doing the
>>>dev work on linux x86, but also have a sparc solaris workstation, and
>>>windoze machines...feedback from those interested in testing...
>>>      
>>>
>>I could test on windows and os x if anybody is interested in os x.
>>packaging is only possible for os x, I do not have any packaging tools
>>for windows.
>>
>>cheers
>>ph
>>
>>    
>>
>>>i'll try and send another email to all involved, because sleepycat
>>>might want us to take this off list...i don't know.
>>>
>>>-tom
>>>
>>>Mark R. Diggory wrote:
>>>
>>>      
>>>
>>>>Tom McCubbin wrote:
>>>>
>>>>        
>>>>
>>>>>Yup.  It was the initial hope to expose an API that could support
>>>>>XML:DB core level 1.  I am going to expose sufficient functionality
>>>>>to allow
>>>>>java clients to provide a light weight wrapper that would be the
>>>>>XML:DB driver.  I am similarly overtasked, but hope to have a server
>>>>>up and running
>>>>>shortly.  I looked into xml/rpc long ago, before the SOAP spec had
>>>>>started to formalize.  It is much more approachable, but i think not
>>>>>as cross-
>>>>>language friendly going fwd.  Maybe I'm wrong.  From a c++
>>>>>standpoint, there are no products that approach the performance of
>>>>>gsoap, and
>>>>>understandably because it uses a pre-processor / code generator to
>>>>>create compile time marshal/demarshallers.  No runtime parser is
>>>>>going to
>>>>>approach it.
>>>>>          
>>>>>
>>>>
>>>>Well, this is the tack that eXist took, there is a primary eXist API
>>>>on the server side that exposes services on xml-rpc, soap, Web-Dav,
>>>>XML:DB, REST, etc.They are Servlet API implementations, all of which
>>>>can run on any standard Servlet Container (Tomcat, Jetty, etc). These
>>>>are all just services, the ultimate goal of which is to interact with
>>>>the eXist API (a B-Tree implementation in Java based on the original
>>>>XMLDB reference implementation).
>>>>
>>>>eXist implements XQuery using an implementation/approach similar to
>>>>Michael Kay's Saxon  XSLT transformer package on its own B-Tree
>>>>implementation. There was once a time that eXist could run on
>>>>databases like Berkeley DB, but they eventually just focused in on a
>>>>java based solution because of issues with maintaining query
>>>>capabilities over very different disparate external datastore
>>>>technologies. However, given this, I still think eXist could still be
>>>>extended to be backed by something like BDBXML.
>>>>
>>>>        
>>>>
>>>>>That said, we can easily support native JNI access to the gsoap
>>>>>client, or use a java-pure toolkit.  I'm not in a possition to be
>>>>>fanatical...I'm happy
>>>>>to do the swig work to punch through the runtime.  whatever.
>>>>>
>>>>>          
>>>>>
>>>>Doesn't the existing BDBXML Java client provide enough access
>>>>capability to adapt a soap interface to? Then instead of generating
>>>>(un)marshallers in C++ and Java, you just use Java, use XML-RPC/Soap
>>>>api's from Apache and run on any Java Servlet Engine. Not that
>>>>generating XML-RPC/SOAP servers in C++ etc wouldn't be usefull too,
>>>>it would.
>>>>
>>>>http://ws.apache.org/axis/
>>>>
>>>>        
>>>>
>>>>>talk is just talk...so let me see if i can't proceed and you, and
>>>>>the others can test it out, help me to improve it, and we may just
>>>>>have something.
>>>>>          
>>>>>
>>>>
>>>>We have a strong need for this sort of technology on out project.
>>>>
>>>>        
>>>>
>>>>>i'll send an email to you, and the others just so i can get
>>>>>everyones name straight, and on a mail list...
>>>>>
>>>>>          
>>>>>
>>>>Please do.
>>>>
>>>>        
>>>>
>>>>>ps - i use eclipse for my c++ dev work, and would love to have an
>>>>>addin that exercised the xmldb server...that would be cool.
>>>>>Finally, the new
>>>>>native eclipse on fedora core 4 is pretty impressive.  Seems to be
>>>>>much snappier...
>>>>>          
>>>>>
>>>>
>>>>yes, the GNU GCJ work that Redhat/Fedora is doing is really making
>>>>Java a strong linux application platform.-Mark
>>>>
>>>>-Mark
>>>>
>>>>        
>>>>
>>>>>Mark R. Diggory wrote:
>>>>>
>>>>>          
>>>>>
>>>>>>I see this discussion and come back to the opinion that this is
>>>>>>what the XMLDB api is really tuned to
>>>>>>(http://xmldb-org.sourceforge.net). Basically, providing an API in
>>>>>>Java for which drivers (analogous to JDBC) can be developed. There
>>>>>>are already examples of Drivers that use XMLRPC for communication
>>>>>>available if you review the eXist and Xindice codebases. Ultimately
>>>>>>both support embedded and remote db instances. XMLDB in exist is
>>>>>>delivered using standard XML-RPC and Servlet API's, so theres no
>>>>>>reinvention there and it represents a good example for more native
>>>>>>tooling. Theres no reason the same sort of remote server interface
>>>>>>couldn't be delivered using C/C++ or whatever.
>>>>>>
>>>>>>This is elegant in that the XMLDB api already has hooks for
>>>>>>extensions such as XQueryServices, XPath services which are
>>>>>>considered Core functionality,  and any driver can implement
>>>>>>extended services on their db, for instance eXist provides an
>>>>>>UserManagement service thats built into its implementation.
>>>>>>
>>>>>>I've been working on two little projects at the moment:
>>>>>>
>>>>>>1.) A very generic XMLDB browser/manager for Eclipse/Java based
>>>>>>somewhat on the Attrezzo Per Xindice
>>>>>>(http://attrezzo.sourceforge.net/)which is an XMLDB based Eclipse
>>>>>>Perspective that is dependent on Xindice.
>>>>>>
>>>>>>2.) an XMLDB client to interact with embedded bdbxml instances for
>>>>>>the above manager.
>>>>>>
>>>>>>I have very very limited time for both these projects at the moment
>>>>>>and havn't yet released any of my development.
>>>>>>
>>>>>>IMHO BDBXML really needs an XMLDB API Client/Service implementation
>>>>>>(even if its a separate project external to BDBXML). There are
>>>>>>communities of OpenSource tools (Apache XML, Apache Cocoon, Spring
>>>>>>etc) that are using XMLDB as means to provide Generic Sources of
>>>>>>XML data to webapplications.  Implement even just an embedded XMLDB
>>>>>>client using the BDBXML java api and BDBXML becomes very attractive
>>>>>>in those markets.
>>>>>>
>>>>>>-Mark
>>>>>>
>>>>>>Tom McCubbin wrote:
>>>>>>
>>>>>>            
>>>>>>
>>>>>>>FIRST, I (and the 'others') are totally unconnected to Sleepycat,
>>>>>>>or any official anything in regard to DBXML.
>>>>>>>
>>>>>>>That said, there was recently an issue w/ this very topic brought
>>>>>>>up ~1 month ago.  We decided to put together
>>>>>>>a client/server layer that would extend DBXML for this purpose.  A
>>>>>>>thin layer to issue XPath, XQuery stuff,
>>>>>>>etc.
>>>>>>>
>>>>>>>I am currently putting together the server side of things in C++,
>>>>>>>while others will be making the java
>>>>>>>client package.  For iter #1, it will be embedded in SOAP
>>>>>>>transactions, and details above and beyond
>>>>>>>are still congealing.
>>>>>>>
>>>>>>>So, it this is for work, don't wait for us.  If this is
>>>>>>>production, don't wait for us.  If you want to join us in our
>>>>>>>mad adventure, i'm sure you'd be welcome.  However, it'd be great
>>>>>>>if i wasn't the only c++ guy, as
>>>>>>>i haven't a clue re: the nitty gritty details of win32, or the
>>>>>>>development platform, as my work is predominantly
>>>>>>>focused on solaris/sparc, and now growing slowly more onto linux x86.
>>>>>>>
>>>>>>>That being sad, I have used dev-cpp/gcc on the win platform, and
>>>>>>>it makes us unix people feel much more at
>>>>>>>ease.  I imagine most use the MS VisualXXX stuff though, and i am
>>>>>>>clueless.  It is so easy, i just don't get it:)
>>>>>>>
>>>>>>>-tom
>>>>>>>
>>>>>>>Breno Costa wrote:
>>>>>>>
>>>>>>>              
>>>>>>>
>>>>>>>>Hi,
>>>>>>>>
>>>>>>>>   I was developing a Web-based interface for acessing BDB XML
>>>>>>>>containers, but now I need to switch to a swing-based desktop app.
>>>>>>>>
>>>>>>>>  I'm just worried on network access of the containers, as BDB
>>>>>>>>XML is
>>>>>>>>embedded and has no servers. Network shares are an obvious solution
>>>>>>>>but I dont think it's the best.
>>>>>>>>
>>>>>>>>   Has anyone ever been in this same situation?
>>>>>>>>
>>>>>>>>thanks,
>>>>>>>>
>>>>>>>>-- Breno
>>>>>>>>
>>>>>>>>
>>>>>>>>------------------------------------------
>>>>>>>>To remove yourself from this list, send an
>>>>>>>>email to [email protected]
>>>>>>>>
>>>>>>>>
>>>>>>>>                
>>>>>>>>
>>>>>>>
>>>>>>>------------------------------------------
>>>>>>>To remove yourself from this list, send an
>>>>>>>email to [email protected]
>>>>>>>
>>>>>>>              
>>>>>>>
>>>>>>------------------------------------------
>>>>>>To remove yourself from this list, send an
>>>>>>email to [email protected]
>>>>>>            
>>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>------------------------------------------
>>>>>To remove yourself from this list, send an
>>>>>email to [email protected]
>>>>>
>>>>>          
>>>>>
>>>
>>>------------------------------------------
>>>To remove yourself from this list, send an
>>>email to [email protected]
>>>
>>>
>>>      
>>>



------------------------------------------
To remove yourself from this list, send an
email to [email protected]
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.