You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@chemistry.apache.org by Joshy Augustine <jo...@gmail.com> on 2014/10/29 10:06:37 UTC

CMIS and Transactions

Hi,

I apologise if this is the incorrect forum to ask this question.

Does anyone know if CMIS Specification mentions about Transactions? For
example, is there any possibility for a CMIS Repository API Invocation to
participate in a transaction started by the client of the API?


Thanks,
Joshy

Re: CMIS and Transactions

Posted by Peter Monks <pe...@alfresco.com>.
G’day Joshy,

Depends how the server implements the “local” binding - again you’re into proprietary extension land at that point.

Cheers,
Peter



On 2014-10-31, at 9:45 AM, Joshy Augustine <jo...@gmail.com>> wrote:

Thanks again Peter.

While going through Open CMIS Documentation, I came across references to a
non-standard 'Local' Binding provided by Open CMIS Framework. My
understanding is that this is a binding that can be used to invoke a CMIS
Server running in the same JVM. If one were to target a new/existing  Open
CMIS based CMIS Server Implementation over a 'Local' binding, is it
possible that it can participate in the transaction started by the client?

Thanks,
Joshy

On Thu, Oct 30, 2014 at 9:28 PM, Peter Monks <pe...@alfresco.com>>
wrote:

JCR is just a Java API, so it's technically easy to “integrate” it with
any other Java API-based standard (including JTA for transaction
management).  In contrast CMIS is far less less platform dependent and is
designed primarily for “out of process” clients, both of which makes this
kind of thing a fair bit more complex.

As I mentioned below, it would be technically possible for a given CMIS
server to support this kind of thing as a proprietary extension, but I
don’t know of any servers that have done so.  It would probably involve
something nasty like X/Open XA<
http://pubs.opengroup.org/onlinepubs/009680699/toc.pdf> or similar, since
you’re effectively managing distributed transactions at that point.  I, for
one, welcome our new stateless-favouring overlords.  ;-)

Cheers,
Peter


On 2014-10-30, at 7:42 AM, Joshy Augustine <jo...@gmail.com>
<ma...@gmail.com>> wrote:

Thanks Peter.
I was just considering the possibility of replacing a JSR 170 Compliant
Repository with a CMIS Compliant one. From the documentation, it looks like
JSR 170 Repository could potentially support transactions.

Thanks,
Joshy

On Wed, Oct 29, 2014 at 3:03 PM, Peter Monks <pe...@alfresco.com>
<ma...@alfresco.com>>
wrote:

G’day Joshy,

There is no such provision in the spec, although I believe it’s
technically possible via proprietary extensions.  I have no idea if any
current servers offer this however (Alfresco doesn’t, for example).

Interesting point of note - the 1.1 spec doesn’t even state whether
individual services are atomic or not.  It seems to be implied that they
are (e.g. in sections 2.2.4.14 and 2.2.4.17), and I believe most current
servers are implemented that way, but it was interesting to me that that
isn’t explicitly defined anywhere.

Cheers,
Peter


On 2014-10-29, at 2:06 AM, Joshy Augustine <jo...@gmail.com>
<ma...@gmail.com>
<ma...@gmail.com>> wrote:

Hi,

I apologise if this is the incorrect forum to ask this question.

Does anyone know if CMIS Specification mentions about Transactions? For
example, is there any possibility for a CMIS Repository API Invocation to
participate in a transaction started by the client of the API?


Thanks,
Joshy




--
Cheers,
Josh




--
Cheers,
Josh


Re: CMIS and Transactions

Posted by Joshy Augustine <jo...@gmail.com>.
Thanks again Peter.

While going through Open CMIS Documentation, I came across references to a
non-standard 'Local' Binding provided by Open CMIS Framework. My
understanding is that this is a binding that can be used to invoke a CMIS
Server running in the same JVM. If one were to target a new/existing  Open
CMIS based CMIS Server Implementation over a 'Local' binding, is it
possible that it can participate in the transaction started by the client?

Thanks,
Joshy

On Thu, Oct 30, 2014 at 9:28 PM, Peter Monks <pe...@alfresco.com>
wrote:

> JCR is just a Java API, so it's technically easy to “integrate” it with
> any other Java API-based standard (including JTA for transaction
> management).  In contrast CMIS is far less less platform dependent and is
> designed primarily for “out of process” clients, both of which makes this
> kind of thing a fair bit more complex.
>
> As I mentioned below, it would be technically possible for a given CMIS
> server to support this kind of thing as a proprietary extension, but I
> don’t know of any servers that have done so.  It would probably involve
> something nasty like X/Open XA<
> http://pubs.opengroup.org/onlinepubs/009680699/toc.pdf> or similar, since
> you’re effectively managing distributed transactions at that point.  I, for
> one, welcome our new stateless-favouring overlords.  ;-)
>
> Cheers,
> Peter
>
>
> On 2014-10-30, at 7:42 AM, Joshy Augustine <joshymaugustine@gmail.com
> <ma...@gmail.com>> wrote:
>
> Thanks Peter.
> I was just considering the possibility of replacing a JSR 170 Compliant
> Repository with a CMIS Compliant one. From the documentation, it looks like
> JSR 170 Repository could potentially support transactions.
>
> Thanks,
> Joshy
>
> On Wed, Oct 29, 2014 at 3:03 PM, Peter Monks <peter.monks@alfresco.com
> <ma...@alfresco.com>>
> wrote:
>
> G’day Joshy,
>
> There is no such provision in the spec, although I believe it’s
> technically possible via proprietary extensions.  I have no idea if any
> current servers offer this however (Alfresco doesn’t, for example).
>
> Interesting point of note - the 1.1 spec doesn’t even state whether
> individual services are atomic or not.  It seems to be implied that they
> are (e.g. in sections 2.2.4.14 and 2.2.4.17), and I believe most current
> servers are implemented that way, but it was interesting to me that that
> isn’t explicitly defined anywhere.
>
> Cheers,
> Peter
>
>
> On 2014-10-29, at 2:06 AM, Joshy Augustine <joshymaugustine@gmail.com
> <ma...@gmail.com>
> <ma...@gmail.com>> wrote:
>
> Hi,
>
> I apologise if this is the incorrect forum to ask this question.
>
> Does anyone know if CMIS Specification mentions about Transactions? For
> example, is there any possibility for a CMIS Repository API Invocation to
> participate in a transaction started by the client of the API?
>
>
> Thanks,
> Joshy
>
>
>
>
> --
> Cheers,
> Josh
>
>


-- 
Cheers,
Josh

Re: CMIS and Transactions

Posted by Peter Monks <pe...@alfresco.com>.
JCR is just a Java API, so it's technically easy to “integrate” it with any other Java API-based standard (including JTA for transaction management).  In contrast CMIS is far less less platform dependent and is designed primarily for “out of process” clients, both of which makes this kind of thing a fair bit more complex.

As I mentioned below, it would be technically possible for a given CMIS server to support this kind of thing as a proprietary extension, but I don’t know of any servers that have done so.  It would probably involve something nasty like X/Open XA<http://pubs.opengroup.org/onlinepubs/009680699/toc.pdf> or similar, since you’re effectively managing distributed transactions at that point.  I, for one, welcome our new stateless-favouring overlords.  ;-)

Cheers,
Peter


On 2014-10-30, at 7:42 AM, Joshy Augustine <jo...@gmail.com>> wrote:

Thanks Peter.
I was just considering the possibility of replacing a JSR 170 Compliant
Repository with a CMIS Compliant one. From the documentation, it looks like
JSR 170 Repository could potentially support transactions.

Thanks,
Joshy

On Wed, Oct 29, 2014 at 3:03 PM, Peter Monks <pe...@alfresco.com>>
wrote:

G’day Joshy,

There is no such provision in the spec, although I believe it’s
technically possible via proprietary extensions.  I have no idea if any
current servers offer this however (Alfresco doesn’t, for example).

Interesting point of note - the 1.1 spec doesn’t even state whether
individual services are atomic or not.  It seems to be implied that they
are (e.g. in sections 2.2.4.14 and 2.2.4.17), and I believe most current
servers are implemented that way, but it was interesting to me that that
isn’t explicitly defined anywhere.

Cheers,
Peter


On 2014-10-29, at 2:06 AM, Joshy Augustine <jo...@gmail.com>
<ma...@gmail.com>> wrote:

Hi,

I apologise if this is the incorrect forum to ask this question.

Does anyone know if CMIS Specification mentions about Transactions? For
example, is there any possibility for a CMIS Repository API Invocation to
participate in a transaction started by the client of the API?


Thanks,
Joshy




--
Cheers,
Josh


Re: CMIS and Transactions

Posted by Joshy Augustine <jo...@gmail.com>.
Thanks Peter.
I was just considering the possibility of replacing a JSR 170 Compliant
Repository with a CMIS Compliant one. From the documentation, it looks like
JSR 170 Repository could potentially support transactions.

Thanks,
Joshy

On Wed, Oct 29, 2014 at 3:03 PM, Peter Monks <pe...@alfresco.com>
wrote:

> G’day Joshy,
>
> There is no such provision in the spec, although I believe it’s
> technically possible via proprietary extensions.  I have no idea if any
> current servers offer this however (Alfresco doesn’t, for example).
>
> Interesting point of note - the 1.1 spec doesn’t even state whether
> individual services are atomic or not.  It seems to be implied that they
> are (e.g. in sections 2.2.4.14 and 2.2.4.17), and I believe most current
> servers are implemented that way, but it was interesting to me that that
> isn’t explicitly defined anywhere.
>
> Cheers,
> Peter
>
>
> On 2014-10-29, at 2:06 AM, Joshy Augustine <joshymaugustine@gmail.com
> <ma...@gmail.com>> wrote:
>
> Hi,
>
> I apologise if this is the incorrect forum to ask this question.
>
> Does anyone know if CMIS Specification mentions about Transactions? For
> example, is there any possibility for a CMIS Repository API Invocation to
> participate in a transaction started by the client of the API?
>
>
> Thanks,
> Joshy
>
>


-- 
Cheers,
Josh

Re: CMIS and Transactions

Posted by Peter Monks <pe...@alfresco.com>.
G’day Joshy,

There is no such provision in the spec, although I believe it’s technically possible via proprietary extensions.  I have no idea if any current servers offer this however (Alfresco doesn’t, for example).

Interesting point of note - the 1.1 spec doesn’t even state whether individual services are atomic or not.  It seems to be implied that they are (e.g. in sections 2.2.4.14 and 2.2.4.17), and I believe most current servers are implemented that way, but it was interesting to me that that isn’t explicitly defined anywhere.

Cheers,
Peter


On 2014-10-29, at 2:06 AM, Joshy Augustine <jo...@gmail.com>> wrote:

Hi,

I apologise if this is the incorrect forum to ask this question.

Does anyone know if CMIS Specification mentions about Transactions? For
example, is there any possibility for a CMIS Repository API Invocation to
participate in a transaction started by the client of the API?


Thanks,
Joshy