JSR 170: The Key to Unlocking Content Repositories Originally presented at the XML 2006 Conference by: Joel Amoussou, CEO,...
JSR 170 Design Goal “ The API should be a standard, implementation independent, way to access content bi-directionally on ...
The JDBC of Content Repositories RDBMS Content Repositories Analogy Infrastructure & Consolidation Relational SQL JDBC Hie...
The Airline Industry Use Case Airline Tech Pubs Portal Airframe Manufacturer RDBMS Engine  Manufacturer Native  XML DB Com...
The Airline Industry Use Case  (cont’d)‏ Airline Tech Pubs Portal Airframe Manufacturer RDBMS Engine  Manufacturer Native ...
Enterprise Repository Product Lifecycle Management (PLM)‏ My Customers Content Repositories Learning Management System (LM...
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...
Repository Model Description DescriptiveDataModule <dm> … </dm> Illustration Root Procedure Node Property Content Date Con...
JSR 170 Code Snippet <ul><li>InitialContext ctx = ... </li></ul><ul><li>Repository repository = (Repository)ctx.lookup(&qu...
JSR 170 Level 1 Credit: Apache Jackrabbit Level1 Read only Simple & Covers a large number of usecases Structured Strong ty...
JSR 170 Level 2 Credit: Apache Jackrabbit Write Save changes to a repository Unstructured Support for weakly or unstructur...
Optional Features Credit: Apache Jackrabbit Versioning Workspaces, Merge, Update, Label, ... JTA Support (XA) Transactions...
Apache Sling and Chemistry  <ul><li>Sling </li></ul><ul><li>REST access to Jackrabbit </li></ul><ul><li>Server-side Javasc...
JSR 283 1 <ul><li>Node & Property </li></ul><ul><li>Shareable nodes </li></ul><ul><li>Content modeling </li></ul><ul><li>M...
Thank You ! [email_address]
Upcoming SlideShare
Loading in …5
×

JSR 170: The Key to Unlocking Content Repositories

2,415
-1

Published on

Published in: Technology
0 Comments
4 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
2,415
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
0
Comments
0
Likes
4
Embeds 0
No embeds

No notes for slide

JSR 170: The Key to Unlocking Content Repositories

  1. 1. JSR 170: The Key to Unlocking Content Repositories Originally presented at the XML 2006 Conference by: Joel Amoussou, CEO, Efasoft [email_address]
  2. 2. 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
  3. 3. The JDBC of Content Repositories RDBMS Content Repositories Analogy Infrastructure & Consolidation Relational SQL JDBC Hierarchical XPath 2.0 JSR 170
  4. 4. 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
  5. 5. 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!
  6. 6. 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
  7. 7. Interoperable Enterprise CMS Cross-Repository Integration Library Services Observation Exchange Aggre- gation
  8. 8. 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
  9. 9. Repository Model Description DescriptiveDataModule <dm> … </dm> Illustration Root Procedure Node Property Content Date Content <dm> … </dm> Content 2006-12-06 Creator “ X-Airways” ProceduralDataModule
  10. 10. JSR 170 Code Snippet <ul><li>InitialContext ctx = ... </li></ul><ul><li>Repository repository = (Repository)ctx.lookup(&quot;s1000drepo&quot;); </li></ul><ul><li>Credentials credentials = new SimpleCredentials(&quot;username&quot;, &quot;password&quot;.toCharArray()); </li></ul><ul><li>Session mySession = repository.login(credentials, &quot;S1000DWorkspace&quot;); </li></ul><ul><li>Node root = mySession.getRootNode(); </li></ul><ul><li>Node illustration = root.getNode(&quot;Description/Illustration&quot;); </li></ul><ul><li>Property dateProperty = illustration.getProperty(&quot;Date&quot;); </li></ul><ul><li>Value dateValue = dateProperty.getValue(); </li></ul><ul><li>date creationDate = dateValue.getDate(); </li></ul><ul><li>Node procedure = (Node) mySession.getItem(&quot;/Procedure&quot;); </li></ul><ul><li>Node proceduralDM = procedure.addNode(&quot;ProceduralDataModule&quot;); </li></ul><ul><li>proceduralDM.setProperty(&quot;Creator&quot;, &quot;X-Airways&quot;); </li></ul><ul><li>mySession.save(); </li></ul>
  11. 11. 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
  12. 12. 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
  13. 13. 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
  14. 14. Apache Sling and Chemistry <ul><li>Sling </li></ul><ul><li>REST access to Jackrabbit </li></ul><ul><li>Server-side Javascript </li></ul><ul><li>OSGi </li></ul><ul><li>Chemistry </li></ul><ul><li>CMIS on top of Jackrabbit </li></ul><ul><li>SOAP binding </li></ul><ul><li>AtomPub binding </li></ul>
  15. 15. JSR 283 1 <ul><li>Node & Property </li></ul><ul><li>Shareable nodes </li></ul><ul><li>Content modeling </li></ul><ul><li>Metadata </li></ul>2 <ul><li>Misc </li></ul><ul><li>Retention & hold </li></ul><ul><li>Access control </li></ul><ul><li>Journaled observ. </li></ul><ul><li>Workspace mgt </li></ul>3 <ul><li>Query </li></ul><ul><li>Extension for SQL </li></ul><ul><li>Prepared queries </li></ul>
  16. 16. Thank You ! [email_address]

×