chemistry-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Florian Müller <>
Subject Re: Heads up on the CMIS 1.1 implementation in OpenCMIS
Date Fri, 03 May 2013 15:08:28 GMT

 Here is an update on the CMIS 1.1 Web Services implementation. The 
 whole Web Services code has been refactored.

 Web Services client:

 - Supports CMIS 1.0 and CMIS 1.1.
 - The CMIS version of the server is auto-detected.
 - It can now handle CMIS WSDLs that are protected by HTTP Basic 
 - WSDL URL(s) or endpoint URL(s) can be configured. The latter doesn't 
 require a WSDL on the server and starts up a bit faster.
 - Support for different JAX-WS implementations. The session parameter 
 WEBSERVICES_JAXWS_IMPL can be set to the following values:
   * sunri
     + Support for JAX-WS RI
     + Tested with 2.1.7, _should_ work with 2.2.x
     + Requires JAX-WS RI jars
     + It's the default
   * sunjre
     + Support for the JAX-WS implementation shipped with Oracle JREs 
 and derived JREs
     + Requires Java 6u4 or later
     + Doesn't require any additional JAX-WS and JAXB jars
     + Barely tested
   * cxf
     + Support for Apache CXF
     + Requires CXF jars
     + Barely tested
   * websphere
     + Support for IBM WebSphere and later
     + Doesn't require any additional JAX-WS and JAXB jars
     + Works only on WebSphere
     + Barely tested
 - The JAX-WS implementations above handle (big) content attachments 
   OpenCMIS tries to do its best to enable content streaming, but the 
 behavior eventually depends on the underlying implementation.
 - The extra packages for WebLogic and Websphere have been removed, 
 because they are not necessary anymore.

 Web Services server:

 - Supports CMIS 1.0 and CMIS 1.1.
 - Five CMIS endpoints:
   * AtomPub Binding CMIS 1.0
   * AtomPub Binding CMIS 1.1
   * Web Services Binding CMIS 1.0
   * Web Services Binding CMIS 1.1
   * Browser Binding CMIS 1.1
 - Requires JAX-WS RI 2.1.7.
 - The server implementation has been split into two modules:
   * chemistry-opencmis-server-bindings (server code)
   * chemistry-opencmis-server-bindings-war (server war)
   (For OpenCMIS developers: You have to get a fresh copy of the source 
 - Please note that the war file structure and some files have changed.
   The following steps are necessary to migrate to the new Web Services 
   * Remove the directory "wsdl".
   * Add the directories "cmis10" and "cmis11" from the server bindings 
 war package.
   * Replace the file "sun-jaxws.xml" with the new version.
   * Check the new "web.xml" and copy the fragments you need.

 The OpenCMIS build now produces two client-with-dependencies packages; 
 one with the JAX-WS RI jars and one with Apache CXF jars.
 There are also two CMIS Workbench packages now. One uses the JAX-WS JRE 
 classes; the other one uses Apache CXF.
 We have to discuss if we want to release the CXF packages.

 With that OpenCMIS does now fully support CMIS 1.0 and CMIS 1.1 on the 
 client and on the server side.
 The TCK coverage for the new CMIS 1.1 features is still basic, but 
 there are at least smoke tests for all new CMIS 1.1 operations.
 I'd like to ask everybody to grab the latest snapshot and test it. If 
 everything looks good, we should release OpenCMIS 0.9.0.

 - Florian

> Another update:
> All CMIS 1.1 features have been implemented for the AtomPub binding.
> There are TCK tests for almost all new features. (There are no tests
> for retention and hold support at the moment.) The test coverage is
> basic but will enhance over time. It should be good enough to start
> off.
> How about letting everybody play with the current SNAPSHOT and in a
> few weeks cut an OpenCMIS 0.9.0-beta-2 release?
> After that we can tackle the Web Services binding and release the
> final 0.9.0 version.
> - Florian
>> Quick update:
>> The XML code refactoring is completed. That is, the AtomPub binding
>> is now CMIS 1.1 compliant but a few features are not implemented, 
>> yet.
>> For example, creating and deleting types is not supported at this
>> point. I start implementing the missing features now.
>> The refactoring had two nice side effects.
>> 1. The AtomPub binding does not depend on JAXB anymore. If you are
>> not using the Web Services binding, you can remove this dependency.
>> 2. The XML processing is now in some scenarios up to 50% faster. :)
>> - Florian
>>> Hi,
>>> The Browser Binding already supports CMIS 1.1 but the other two
>>> binding do not.
>>> I'm going to implement CMIS 1.1 for the AtomPub binding next. That
>>> requires a rewrite of the XML writing and parsing components. I 
>>> have
>>> done most of this work in the last few weeks, but the new XML code
>>> isn't active, yet.
>>> If nobody objects, I will exchange the XML code in the next few 
>>> days.
>>> If you then experience any issues with the OpenCMIS SNAPSHOT, 
>>> please
>>> let me know.
>>> - Florian

View raw message