Open CMIS Apache Chemistry facetoface meeting April 2010

  • Slides: 18
Download presentation
Open. CMIS Apache Chemistry face-to-face meeting April 2010

Open. CMIS Apache Chemistry face-to-face meeting April 2010

Open. CMIS Overview

Open. CMIS Overview

Open. CMIS Commons �Interfaces, classes, enums and exceptions used across all other modules �JAXB

Open. CMIS Commons �Interfaces, classes, enums and exceptions used across all other modules �JAXB classes are generated and packaged here

Open. CMIS Client API �Object Oriented API �Easy adoption �Easy consumption �Session Concept �Persistent

Open. CMIS Client API �Object Oriented API �Easy adoption �Easy consumption �Session Concept �Persistent Session �Transient Session * �Caching �Exception Handling * �Eventing for Extension Handling * �Session based Configuration Context �Iterator based Paging Support

Open. CMIS Session Concept Persistent Session �Application Controlled Lifetime Support �Read Cache �Isolation Level:

Open. CMIS Session Concept Persistent Session �Application Controlled Lifetime Support �Read Cache �Isolation Level: Read Committed �Composite Application Support Transient Session �Supports Save/Cancel Scenarios �Cached Write Operations �Meta Data in Memory �Content in Shadow Repository

Open. CMIS Provider (1) �CMIS binding implementations – client side �Exposes an API that

Open. CMIS Provider (1) �CMIS binding implementations – client side �Exposes an API that is very close the CMIS specification and the CMIS schema �Fine grained control including getting and setting extension data �Completely independent of the client API �Caches repository infos and types �Caches Atom. Pub links and Web Services port objects

Open. CMIS Provider (2) �Serializable and thread-safe �Authentication: �WS-Security Username. Tokens and HTTP basic

Open. CMIS Provider (2) �Serializable and thread-safe �Authentication: �WS-Security Username. Tokens and HTTP basic auth out -of-box �Hooks for custom authentication code �Atom. Pub: St. AX + JAX-B �Web Services: JAX-WS RI

Open. CMIS Server (1) �CMIS binding implementations – server side �Atom. Pub: St. AX

Open. CMIS Server (1) �CMIS binding implementations – server side �Atom. Pub: St. AX + JAX-B �Web Services: JAX-WS RI �Calls are processed and mapped to interfaces that a repository connector has to implement �SPI inspired by the CMIS specification

Open. CMIS Server (2) �Authentication: �WS-Security Username. Tokens and HTTP basic auth out -of-box

Open. CMIS Server (2) �Authentication: �WS-Security Username. Tokens and HTTP basic auth out -of-box �Hooks for custom authentication code

Open. CMIS Server Support �Convenience classes and wrappers for repository connectors �Examples: �Required parameters

Open. CMIS Server Support �Convenience classes and wrappers for repository connectors �Examples: �Required parameters that are not provided by the client are caught and an appropriate error is returned �Optional parameters that are not provided by the client are set with the default value defined in CMIS specification �None CMIS exceptions are caught and translated into CMIS exceptions �Helpers to quickly build a connector prototype

Open. CMIS In. Memory Repository �A simplementation of a CMIS repository based on an

Open. CMIS In. Memory Repository �A simplementation of a CMIS repository based on an in-memory store �Testing-only, no real persistence �Fast �No dependencies �(Future: Base for experimental spec enhancements) �Based on a huge static Hash. Map plus internal interfaces and impl. �Covers major aspects of CMIS spec, but not all �Type creation supported by Java code

In. Memory Repository Impl Scope �Implemented: �Type validation �Repository Service �Object Service (Documents, Folders,

In. Memory Repository Impl Scope �Implemented: �Type validation �Repository Service �Object Service (Documents, Folders, object read+write, metadata, content, unfiling, multi-filing) �Navigation Service (Folder navigation, tree and descendents) �Versioning Service (simple linear versioning model with majors, minors) �Not (yet)implemented: �Relations, Renditions, Query, ACLs, Policies �Potential use case: �Implement internal interfaces using real persistence layer �Very experimental, enforces specific document model

Open. CMIS File System Repository �A simple repository implementation that uses the file system

Open. CMIS File System Repository �A simple repository implementation that uses the file system as back-end �Only for testing! �Supports everything a file system can support plus metadata handling �No versioning, no policies, no relationships, no query, no rendition, read-only ACLs, no content changes, . . . �Types can be defined via XML file

Open. CMIS Tests and Tools �Object Generator �Automatic creation of folders and documents �Java

Open. CMIS Tests and Tools �Object Generator �Automatic creation of folders and documents �Java interface and command line tool �Simple browser for Atom. Pub repositories �Web based �Straight forward XSLT transformation

Open. CMIS Full Integration Tests �Tests the whole stack: JUnit tests Client API Provider

Open. CMIS Full Integration Tests �Tests the whole stack: JUnit tests Client API Provider API Network (Atom/SOAP) CMIS server (on Jetty) In. Memory repository �Executed as part of a regular build �This will eventually become the home of most tests

SAP Use. Case (1) – EPM Attachments

SAP Use. Case (1) – EPM Attachments

SAP Use Case (2) - u. Pods

SAP Use Case (2) - u. Pods

SAP Use Case (3) - Development

SAP Use Case (3) - Development