JSR 170: The Key to Unlocking Content Repositories Originally presented at the XML 2006 Conference by: Joel Amoussou, CEO, Efasoft [email_address]
JSR 170 Design Goal “ The API should be a standard, implementation independent, way to access content bi-directionally on a granular level within a content repository.” http://www.jcp.org/en/jsr/detail?id=170
The Airline Industry Use Case Airline Tech Pubs Portal Airframe Manufacturer RDBMS Engine Manufacturer Native XML DB Component Manufacturer File System JSR 170 JSR 170 JSR 170 JSR 170
The Airline Industry Use Case (cont’d) Airline Tech Pubs Portal Airframe Manufacturer RDBMS Engine Manufacturer Native XML DB Component Manufacturer Object DB JSR 170 JSR 170 JSR 170 JSR 170 NEW No rewrite!
Features WebDAV, RMI, SOAP Open Source Jackrabbit/TCK/Eclipse Hierarchical model (workspace, nodes, and properties) Plug-and-Play Compliant Repository Independent of Persistence Storage Standardized Content Repository API JSR 170
JSR 170 Level 1 Credit: Apache Jackrabbit Level1 Read only Simple & Covers a large number of usecases Structured Strong typed information Hierarchical Parent child relationships, Sort order PropertyTypes String, Binary, Numbers, Calendar, ... NodeTypes Introspect complex Content Structures Query (XPath) Search and query the Repository Export Standardized XML Content Export Fine & Coarsegrained Content Items Small to Large
JSR 170 Level 2 Credit: Apache Jackrabbit Write Save changes to a repository Unstructured Support for weakly or unstructured Content Import Standardized Finegrained Content Import Referencial Integrity Reference Tracking and Integrity AccessControl Introspection Level 2
Optional Features Credit: Apache Jackrabbit Versioning Workspaces, Merge, Update, Label, ... JTA Support (XA) Transactions Observation Monitor changes in the Repository Query (SQL) Search the Content Repeository using SQL Locking Session based and persistant