OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

cmis message

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]


Subject: Some documentation links to opencmis for the browser binding call today


As we don’t have set up a sub group yet I will spam the whole list with some links that might be useful for the browser binding call today:

 

The opencmis call was mentioned as a potential helper to create / test / prototype / validate the JSON binding.

 

How far we want to make use of this option needs to be decided by the TC. To make this decision easier it might be useful to get some more information around this project.

 

OpenCMIS is part of a Apache incubator project called Chemistry. Scope of Chemistry is the CMIS standard, opencmis deals with the Java implementation. OpenCMIS provides client and server components to simplify creating and using CMIS repositories. There is no release yet but the Java code implements the full scope of the CMIS 1.0 specification for both the AtomPub and the web service binding. In a nutshell OpenCMIS hides the protocol binding details (as far as possible) and provides Java classes to access or implement a CMIS repository. Another binding can be introduced without affecting existing OpenCMIS clients and servers.

 

A high level architecture diagram can be found here:

https://cwiki.apache.org/CMIS/opencmis-modules.html

 

A brief description can be found here:

https://cwiki.apache.org/CMIS/opencmis-server-framework.html

 

If you want to dive deeper you may build (https://cwiki.apache.org/CMIS/opencmis-how-to-build.html) it and start playing with it.  There are two sample repositories (InMemory server and Fileshare) that provide a zero-dependency CMIS server implementation for testing.

 

The code is in a subversion repository:

https://svn.apache.org/repos/asf/incubator/chemistry/opencmis/trunk

 

 

Florian Müller has done some experimental work on the JSON binding.

The basic idea is to use the Jersey (https://jersey.dev.java.net/) framework to get a fast and simple RESTful server. The actual JSON generation is done by handwritten Java classes (very simple) that convert the openCMIS Java objects to JSON. In theory you can automate this, but to get readable JSON code you have to do this manually to control the JSON structure.

For a small subset of the spec there is code available that demonstrates this. You can find all the code that can be deployed as a web application in the Chemistry sandbox:

https://svn.apache.org/repos/asf/incubator/chemistry/opencmis-browser-binding/trunk

Of particular interest might be the classes CmisResource.java and JSONConverter.java.

A JSON URL to get the RepositoryInfo would for example look like this:

http://myhost:8080/opencmis/browser/repository/A1

 

 

There is also a rudimentary JSP-based test client to proof that it works from a browser:

http://myhost:8080/opencmis/demo.jsp (Please don’t be confused: The .jsp contains Javascript code, so the browser is the client and parses the JSON. It’s not the servlet!)

 

All credits go to Florian for this JSON-work so far. The only reason I write this email is that he is on travel today.

 

We can discuss later if/how we want to make use of this option. We are happy to provide more information around build/setup/architecture if required and perhaps we also can find a way to host a public test server somehow.

 

Jens

 

 

 

 

 

 

 



[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]