• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
JSR 170: The Key to Unlocking Content Repositories
 

JSR 170: The Key to Unlocking Content Repositories

on

  • 4,318 views

 

Statistics

Views

Total Views
4,318
Views on SlideShare
4,298
Embed Views
20

Actions

Likes
4
Downloads
0
Comments
0

2 Embeds 20

http://www.slideshare.net 18
http://www.techgig.com 2

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    JSR 170: The Key to Unlocking Content Repositories JSR 170: The Key to Unlocking Content Repositories Presentation Transcript

    • 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 JDBC of Content Repositories RDBMS Content Repositories Analogy Infrastructure & Consolidation Relational SQL JDBC Hierarchical XPath 2.0 JSR 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!
    • Enterprise Repository Product Lifecycle Management (PLM)‏ My Customers Content Repositories Learning Management System (LMS)‏ Enterprise Resource Planning (ERP)‏ Enterprise Portals Customer Relationship Management (CRM)‏ MyRepo
    • Interoperable Enterprise CMS Cross-Repository Integration Library Services Observation Exchange Aggre- gation
    • 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
    • Repository Model Description DescriptiveDataModule <dm> … </dm> Illustration Root Procedure Node Property Content Date Content <dm> … </dm> Content 2006-12-06 Creator “ X-Airways” ProceduralDataModule
    • JSR 170 Code Snippet
      • InitialContext ctx = ...
      • Repository repository = (Repository)ctx.lookup(&quot;s1000drepo&quot;);
      • Credentials credentials = new SimpleCredentials(&quot;username&quot;, &quot;password&quot;.toCharArray());
      • Session mySession = repository.login(credentials, &quot;S1000DWorkspace&quot;);
      • Node root = mySession.getRootNode();
      • Node illustration = root.getNode(&quot;Description/Illustration&quot;);
      • Property dateProperty = illustration.getProperty(&quot;Date&quot;);
      • Value dateValue = dateProperty.getValue();
      • date creationDate = dateValue.getDate();
      • Node procedure = (Node) mySession.getItem(&quot;/Procedure&quot;);
      • Node proceduralDM = procedure.addNode(&quot;ProceduralDataModule&quot;);
      • proceduralDM.setProperty(&quot;Creator&quot;, &quot;X-Airways&quot;);
      • mySession.save();
    • 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
    • Apache Sling and Chemistry
      • Sling
      • REST access to Jackrabbit
      • Server-side Javascript
      • OSGi
      • Chemistry
      • CMIS on top of Jackrabbit
      • SOAP binding
      • AtomPub binding
    • JSR 283 1
      • Node & Property
      • Shareable nodes
      • Content modeling
      • Metadata
      2
      • Misc
      • Retention & hold
      • Access control
      • Journaled observ.
      • Workspace mgt
      3
      • Query
      • Extension for SQL
      • Prepared queries
    • Thank You ! [email_address]