Separate exist-db service configuration

classic Classic list List threaded Threaded
6 messages Options
Reply | Threaded
Open this post in threaded view
|

Separate exist-db service configuration

lazx
I am trying to setup orbeon (3.7.0beta1+200902112035) to use a separate exist-db service.  The reason why is that I am planning to run multiple instances of orbeon in a production environment, where data collected in orbeon should be saved to one database.

Step 1: Save forms + data to exist-db:

By editing "properties-form-runner.xml" to have the following configuration, the expected results of saving forms to the db occurs:

<property as="xs:anyURI"  name="oxf.fr.persistence.service.exist.uri" value="https://remote_exist_server:8020/exist/rest/db"/>
<property as="xs:anyURI"  name="oxf.fr.appserver.uri" value=""/>

This enables all new forms + data to be saved to the separate exist-db server.


Step 2: Save client state, cache, and move away from the pre-packaged exist-db:

But now I am having difficulty configuring the cache and "application store" to use my exist-db service.  By editing "properties-xforms.xml" to have the following configuration, caching and state storage does not occur:

<property as="xs:anyURI"  name="oxf.xforms.store.application.uri" value="https://remote_exist_server:8020/exist/rest/db"/>
<property as="xs:string"  name="oxf.xforms.store.application.collection" value="/db/orbeon/xforms/cache/"/>

I have already done some digging into why this configuration does not work, and it is related to the xmldb interface not supporting SSL/HTTPS.

Is there a way to enable the application store to use the same exist-db REST service as the form persistence configuration?

Can orbeon be completely severed from the pre-packaged exist-db service?


Thank you for you help!
Reply | Threaded
Open this post in threaded view
|

Re: Separate exist-db service configuration

Hank Ratzesberger
Hi,

Of course this idea might be a complete change to your architecture,
I realize that, but even though Orbeon needs eXist to preserve
session state information, where you submit your instance data can
be to another Orbeon deployment or directly to a separate eXist.

You could use Apache mod_rewrite to redirect the instance sumbissions
(GET, PUT, POST...) to a separate eXist.

Anyway, that is what I have done with not very complex applications.

--Hank

On Feb 19, 2009, at 12:43 PM, lazx wrote:

>
> I am trying to setup orbeon (3.7.0beta1+200902112035) to use a  
> separate
> exist-db service.  The reason why is that I am planning to run  
> multiple
> instances of orbeon in a production environment, where data  
> collected in
> orbeon should be saved to one database.
>
> Step 1: Save forms + data to exist-db:
>
> By editing "properties-form-runner.xml" to have the following  
> configuration,
> the expected results of saving forms to the db occurs:
>
> <property as="xs:anyURI"  name="oxf.fr.persistence.service.exist.uri"
> value="https://remote_exist_server:8020/exist/rest/db"/>
> <property as="xs:anyURI"  name="oxf.fr.appserver.uri" value=""/>
>
> This enables all new forms + data to be saved to the separate exist-db
> server.
>
>
> Step 2: Save client state, cache, and move away from the pre-packaged
> exist-db:
>
> But now I am having difficulty configuring the cache and  
> "application store"
> to use my exist-db service.  By editing "properties-xforms.xml" to  
> have the
> following configuration, caching and state storage does not occur:
>
> <property as="xs:anyURI"  name="oxf.xforms.store.application.uri"
> value="https://remote_exist_server:8020/exist/rest/db"/>
> <property as="xs:string"  
> name="oxf.xforms.store.application.collection"
> value="/db/orbeon/xforms/cache/"/>
>
> I have already done some digging into why this configuration does  
> not work,
> and it is related to the xmldb interface not supporting SSL/HTTPS.
>
> Is there a way to enable the application store to use the same  
> exist-db REST
> service as the form persistence configuration?
>
> Can orbeon be completely severed from the pre-packaged exist-db  
> service?
>
>
> Thank you for you help!
> --
> View this message in context: http://www.nabble.com/Separate-exist- 
> db-service-configuration-tp22109292p22109292.html
> Sent from the ObjectWeb OPS - Users mailing list archive at  
> Nabble.com.
>
>
> --
> You receive this message as a subscriber of the [hidden email]  
> mailing list.
> To unsubscribe: mailto:[hidden email]
> For general help: mailto:[hidden email]?subject=help
> OW2 mailing lists service home page: http://www.ow2.org/wws
Hank Ratzesberger
NEES@UCSB
Institute for Crustal Studies,
University of California, Santa Barbara
805-893-8042







--
You receive this message as a subscriber of the [hidden email] mailing list.
To unsubscribe: mailto:[hidden email]
For general help: mailto:[hidden email]?subject=help
OW2 mailing lists service home page: http://www.ow2.org/wws
Reply | Threaded
Open this post in threaded view
|

Re: Separate exist-db service configuration

lazx
Thanks Hank for your response.

I had a hunch that orbeon requires a local exist-db for session state storage...  is there any great benefit or degradation to moving session state to an external eXist??

"You could use Apache mod_rewrite to redirect the instance sumbissions
(GET, PUT, POST...) to a separate eXist."

Instance submissions are being saved to the remote eXist properly...  its just the cache that is not working.  This leads me to suspect that instance data is saved over REST (REST works OKAY with SSL/HTTPS), and caching data is saved over xmldb (xmldb does not work with SSL/HTTPS).  Thoughts on how to have caching to eXist over REST?

Hank Ratzesberger wrote
Hi,

Of course this idea might be a complete change to your architecture,
I realize that, but even though Orbeon needs eXist to preserve
session state information, where you submit your instance data can
be to another Orbeon deployment or directly to a separate eXist.

You could use Apache mod_rewrite to redirect the instance sumbissions
(GET, PUT, POST...) to a separate eXist.

Anyway, that is what I have done with not very complex applications.

--Hank

On Feb 19, 2009, at 12:43 PM, lazx wrote:

>
> I am trying to setup orbeon (3.7.0beta1+200902112035) to use a  
> separate
> exist-db service.  The reason why is that I am planning to run  
> multiple
> instances of orbeon in a production environment, where data  
> collected in
> orbeon should be saved to one database.
>
> Step 1: Save forms + data to exist-db:
>
> By editing "properties-form-runner.xml" to have the following  
> configuration,
> the expected results of saving forms to the db occurs:
>
> <property as="xs:anyURI"  name="oxf.fr.persistence.service.exist.uri"
> value="https://remote_exist_server:8020/exist/rest/db"/>
> <property as="xs:anyURI"  name="oxf.fr.appserver.uri" value=""/>
>
> This enables all new forms + data to be saved to the separate exist-db
> server.
>
>
> Step 2: Save client state, cache, and move away from the pre-packaged
> exist-db:
>
> But now I am having difficulty configuring the cache and  
> "application store"
> to use my exist-db service.  By editing "properties-xforms.xml" to  
> have the
> following configuration, caching and state storage does not occur:
>
> <property as="xs:anyURI"  name="oxf.xforms.store.application.uri"
> value="https://remote_exist_server:8020/exist/rest/db"/>
> <property as="xs:string"  
> name="oxf.xforms.store.application.collection"
> value="/db/orbeon/xforms/cache/"/>
>
> I have already done some digging into why this configuration does  
> not work,
> and it is related to the xmldb interface not supporting SSL/HTTPS.
>
> Is there a way to enable the application store to use the same  
> exist-db REST
> service as the form persistence configuration?
>
> Can orbeon be completely severed from the pre-packaged exist-db  
> service?
>
>
> Thank you for you help!
> --
> View this message in context: http://www.nabble.com/Separate-exist- 
> db-service-configuration-tp22109292p22109292.html
> Sent from the ObjectWeb OPS - Users mailing list archive at  
> Nabble.com.
>
>
> --
> You receive this message as a subscriber of the ops-users@ow2.org  
> mailing list.
> To unsubscribe: mailto:ops-users-unsubscribe@ow2.org
> For general help: mailto:sympa@ow2.org?subject=help
> OW2 mailing lists service home page: http://www.ow2.org/wws

Hank Ratzesberger
NEES@UCSB
Institute for Crustal Studies,
University of California, Santa Barbara
805-893-8042







--
You receive this message as a subscriber of the ops-users@ow2.org mailing list.
To unsubscribe: mailto:ops-users-unsubscribe@ow2.org
For general help: mailto:sympa@ow2.org?subject=help
OW2 mailing lists service home page: http://www.ow2.org/wws
Reply | Threaded
Open this post in threaded view
|

Re: Separate exist-db service configuration

Alessandro Vernet
Administrator
In reply to this post by lazx
On Feb 19, 2009, at 12:43 PM, lazx wrote:

> Step 2: Save client state, cache, and move away from the pre-packaged
> exist-db:
>
> But now I am having difficulty configuring the cache and  
> "application store"
> to use my exist-db service.  By editing "properties-xforms.xml" to  
> have the
> following configuration, caching and state storage does not occur:
>
> <property as="xs:anyURI"  name="oxf.xforms.store.application.uri"
> value="https://remote_exist_server:8020/exist/rest/db"/>
> <property as="xs:string"  
> name="oxf.xforms.store.application.collection"
> value="/db/orbeon/xforms/cache/"/>
Could you clarify what you mean by "caching and state storage does not  
occur"? Do you get an exception with this configuration?

Alex
--
Orbeon Forms - Web 2.0 Forms, open-source, for the Enterprise
Orbeon's Blog: http://www.orbeon.com/blog/
Personal Blog: http://avernet.blogspot.com/
Twitter - http://twitter.com/avernet



--
You receive this message as a subscriber of the [hidden email] mailing list.
To unsubscribe: mailto:[hidden email]
For general help: mailto:[hidden email]?subject=help
OW2 mailing lists service home page: http://www.ow2.org/wws
Reply | Threaded
Open this post in threaded view
|

Re: Separate exist-db service configuration

lazx
Alessandro Vernet wrote
Could you clarify what you mean by "caching and state storage does not  
occur"? Do you get an exception with this configuration?
<property as="xs:anyURI"  name="oxf.xforms.store.application.uri" value="https://remote_exist_server:8020/exist/rest/db"/>
<property as="xs:string" name="oxf.xforms.store.application.collection" value="/db/orbeon/xforms/cache/"/> 

orbeon returns an error to the web client saying:

"Invalid XML:DB URI: https://remote_exist_server:8020/exist/rest/db"  (Exception class: org.orbeon.oxf.common.OXFException)

The problem isn't that the uri is invalid, its that XML:DB doesn't support ssl/https  (reference: http://www.nabble.com/Not-possible-to-make-xmldb-connections-over-SSL--td21314850.html)

So, my question is how I would go about modifying orbeon to use eXist REST (SSL support) rather than XML-RPC (no SSL support).  (Sorry, I have repeated this question a couple times already - just want to make sure I am asking the correct question, or if moving the application store to rest rather than xml-rpc is even a good idea - performance hit?)

Thanks Alessandro
Reply | Threaded
Open this post in threaded view
|

Re: Re: Separate exist-db service configuration

Erik Bruchez
Administrator
>> Could you clarify what you mean by "caching and state storage does  

>> not
>> occur"? Do you get an exception with this configuration?
>
> <property as="xs:anyURI"  name="oxf.xforms.store.application.uri"
> value="https://remote_exist_server:8020/exist/rest/db"/>
> <property as="xs:string"  
> name="oxf.xforms.store.application.collection"
> value="/db/orbeon/xforms/cache/"/>
>
> orbeon returns an error to the web client saying:
>
> "Invalid XML:DB URI: https://remote_exist_server:8020/exist/rest/db"
> (Exception class: org.orbeon.oxf.common.OXFException)
>
> The problem isn't that the uri is invalid, its that XML:DB doesn't  
> support
> ssl/https  (reference:
> http://www.nabble.com/Not-possible-to-make-xmldb-connections-over-SSL--td21314850.html
> http://www.nabble.com/Not-possible-to-make-xmldb-connections-over-SSL--td21314850.html
> )
Good analysis.

> So, my question is how I would go about modifying orbeon to use  
> eXist REST
> (SSL support) rather than XML-RPC (no SSL support).  (Sorry, I have  
> repeated
> this question a couple times already - just want to make sure I am  
> asking
> the correct question, or if moving the application store to rest  
> rather than
> xml-rpc is even a good idea - performance hit?)

This won't work out of the box because this class is making the calls  
to eXist through XML:DB:

   
org.orbeon.oxf.xforms.state.XFormsPersistentApplicationStateStore.java

Now this could certainly be modified to use the REST API optionally.

-Erik

--
Orbeon Forms - Web Forms for the Enterprise Done the Right Way
http://www.orbeon.com/



--
You receive this message as a subscriber of the [hidden email] mailing list.
To unsubscribe: mailto:[hidden email]
For general help: mailto:[hidden email]?subject=help
OW2 mailing lists service home page: http://www.ow2.org/wws