Hi,

I can talk a bit about the OpenCMIS architecture. That might help to 
distinguish it from Chemistry.

OpenCMIS consists of two layers. We call them Provider layer and Client layer.

The Provider layer implements and hides the CMIS bindings. The API of the 
Provider layer maps the CMIS domain model. That is, the CMIS specification can 
be used as the documentation of the Provider layer. There are the same 
services, the same operations and the same parameters. The AtomPub and Web 
Services bindings are hidden behind this API. The application does not need to 
know in advance which binding it will eventually use.

This layer is fully implemented expect for some details. There are some open 
spec issues that prevent us from finalizing it. It needs extensive testing, 
though.

Although the Provider layer allows fine-grained control over the calls to the 
CMIS server it doesn't provide a nice Java-like interface. It deals with 
immutable data objects.

The Client layer sits on top of the Provider layer and provides this nice 
Java-like interface. It has all the classes and methods you would expect from 
an object-oriented interface. We also will make sure that it fits into 
enterprise framework environments.

We are currently designing the API of this layer. The proposals are not public 
yet.

Application developers can choose which API is the most suitable for their use 
case. If fine-grained control or cachable and serializable objects are relevant 
than the Provider layer is the right choice. If a nice interface and framework 
integration is important the Client layer is the better option.

Regarding the instability of the CMIS spec: Yes, there are still open issues 
but those are details. We and other companies were confident enough to spend at 
lot of energy to implement CMIS and do these small corrections later. It's the 
right time to implement the CMIS spec.


I hope that helps.

Florian


-----Original Message-----
From: Goetz, Paul [mailto:paul.go...@sap.com] 
Sent: Thursday, December 10, 2009 9:20 AM
To: general@incubator.apache.org
Subject: RE: [PROPOSAL] OpenCMIS incubator for Content Mangement 
Interoperability Services (CMIS)

Hi Bertrand, hi Giuanugo,

we discussed that with Florent Guillaume (from Chemistry) already.

There are two aspects here, let me start with the technical one:
As stated in the proposal: Chemistry aims to have a broader scope (including 
server implementations and mappings to JCR). OpenCMIS is about protocol 
handling (SOAP and AtomPub) only.
At least to me (as a CMIS consumer), Chemistry is difficult to understand since 
both parts (SPI and API) are not clearly separated. With OpenCMIS, we aim for a 
clear separation between provider interfaces (SPI) and client interfaces (API). 
What's also missing from my perspective is a better mechanism for the client to 
control the write-through operations behind the objects.

The second aspect is organizational:
It will be difficult to align the APIs right now. When discussing that with 
Florent we came to the conclusion that either we start a sandbox in Chemistry, 
or we start a project in parallel.
After some further discussions (involving Justin Erenkrantz to get some 
guidance), we decided for a new project to avoid the confusion of having two 
API approaches in one project.
Therefore we would suggest to start with a new podling, and decide on how to do 
a merge/combination of Chemistry and OpenCMIS later.

And there are other Apache products co-existing in parallel (e.g. Axis and CXF, 
just to pick one example), and the ASF has never stated that this has to be 
avoided. So to me, it seemed that the idea of having two projects in parallel 
isn't that bad.

Best regards,
Paul

-----Original Message-----
From: Gianugo Rabellino [mailto:gian...@gmail.com] 
Sent: Mittwoch, 9. Dezember 2009 18:45
To: general@incubator.apache.org
Subject: Re: [PROPOSAL] OpenCMIS incubator for Content Mangement 
Interoperability Services (CMIS)

On Wed, Dec 9, 2009 at 6:33 PM, Bertrand Delacretaz
<bdelacre...@apache.org> wrote:
> On Wed, Dec 9, 2009 at 6:21 PM, Goetz, Paul <paul.go...@sap.com> wrote:
>
>> ...Alignment
>> Apache Chemistry aims to build a CMIS implementation, too. The focus for 
>> OpenCMIS is to provide a
>> self-contained client library for CMIS for Java only - while Chemistry is 
>> aiming at a broader scope, as
>> it started from a JCR/Jackrabbit based approach and is planning to support 
>> Javascript as well.
>> As the APIs are pretty different right now, contributing the OpenCMIS code 
>> to Chemistry will
>> be very hard to do - but on a mid-term perspective, we will review our 
>> options to merge
>> OpenCMIS with Chemistry....
>
> I'm not sure if having two podlings implementing CMIS is a good idea.

I second that. Although I am, in principle, interested, I'd like to
know more about what would differentiate OpenCMIS from Chemistry, and
why is this duplication a good thing. From your proposal, I seem to
understand you are more focused on the CMIS client side, yet I would
like to understand a bit more what's missing from the client Chemistry
bit.

-- 
Gianugo

---------------------------------------------------------------------
To unsubscribe, e-mail: general-unsubscr...@incubator.apache.org
For additional commands, e-mail: general-h...@incubator.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: general-unsubscr...@incubator.apache.org
For additional commands, e-mail: general-h...@incubator.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: general-unsubscr...@incubator.apache.org
For additional commands, e-mail: general-h...@incubator.apache.org

Reply via email to