Presentation is loading. Please wait.

Presentation is loading. Please wait.

Apache Chemistry face-to-face meeting April 2010.

Similar presentations


Presentation on theme: "Apache Chemistry face-to-face meeting April 2010."— Presentation transcript:

1 Apache Chemistry face-to-face meeting April 2010

2 OpenCMIS Overview

3 OpenCMIS Commons Interfaces, classes, enums and exceptions used across all other modules JAXB classes are generated and packaged here

4 OpenCMIS 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

5 OpenCMIS 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

6 OpenCMIS 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 AtomPub links and Web Services port objects

7 OpenCMIS Provider (2) Serializable and thread-safe Authentication: WS-Security UsernameTokens and HTTP basic auth out-of-box Hooks for custom authentication code AtomPub: StAX + JAX-B Web Services: JAX-WS RI

8 OpenCMIS Server (1) CMIS binding implementations – server side AtomPub: StAX + 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

9 OpenCMIS Server (2) Authentication: WS-Security UsernameTokens and HTTP basic auth out-of-box Hooks for custom authentication code

10 OpenCMIS 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

11 OpenCMIS InMemory Repository A simple implementation 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 HashMap plus internal interfaces and impl. Covers major aspects of CMIS spec, but not all Type creation supported by Java code

12 InMemory 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

13 OpenCMIS 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

14 OpenCMIS Tests and Tools Object Generator Automatic creation of folders and documents Java interface and command line tool Simple browser for AtomPub repositories Web based Straight forward XSLT transformation

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

16 SAP UseCase (1) – EPM Attachments

17 SAP Use Case (2) - uPods

18 SAP Use Case (3) - Development


Download ppt "Apache Chemistry face-to-face meeting April 2010."

Similar presentations


Ads by Google