Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

JCR and ModeShape

6,815 views

Published on

Content Repository for Java API, ModeShape project, and jboss.org - talk from Red Hat Developer Conference 2011 (Brno, Czech republic)

Published in: Technology
  • Dating for everyone is here: ❶❶❶ http://bit.ly/39mQKz3 ❶❶❶
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • Dating direct: ❤❤❤ http://bit.ly/39mQKz3 ❤❤❤
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • DOWNLOAD THAT BOOKS INTO AVAILABLE FORMAT (2019 Update) ......................................................................................................................... ......................................................................................................................... Download Full PDF EBOOK here { http://bit.ly/2m6jJ5M } ......................................................................................................................... Download Full EPUB Ebook here { http://bit.ly/2m6jJ5M } ......................................................................................................................... Download Full doc Ebook here { http://bit.ly/2m6jJ5M } ......................................................................................................................... Download PDF EBOOK here { http://bit.ly/2m6jJ5M } ......................................................................................................................... Download EPUB Ebook here { http://bit.ly/2m6jJ5M } ......................................................................................................................... Download doc Ebook here { http://bit.ly/2m6jJ5M } ......................................................................................................................... ......................................................................................................................... ................................................................................................................................... eBook is an electronic version of a traditional print book that can be read by using a personal computer or by using an eBook reader. (An eBook reader can be a software application for use on a computer such as Microsoft's free Reader application, or a book-sized computer that is used solely as a reading device such as Nuvomedia's Rocket eBook.) Users can purchase an eBook on diskette or CD, but the most popular method of getting an eBook is to purchase a downloadable file of the eBook (or other reading material) from a Web site (such as Barnes and Noble) to be read from the user's computer or reading device. Generally, an eBook can be downloaded in five minutes or less ......................................................................................................................... .............. Browse by Genre Available eBooks .............................................................................................................................. Art, Biography, Business, Chick Lit, Children's, Christian, Classics, Comics, Contemporary, Cookbooks, Manga, Memoir, Music, Mystery, Non Fiction, Paranormal, Philosophy, Poetry, Psychology, Religion, Romance, Science, Science Fiction, Self Help, Suspense, Spirituality, Sports, Thriller, Travel, Young Adult, Crime, Ebooks, Fantasy, Fiction, Graphic Novels, Historical Fiction, History, Horror, Humor And Comedy, ......................................................................................................................... ......................................................................................................................... .....BEST SELLER FOR EBOOK RECOMMEND............................................................. ......................................................................................................................... Blowout: Corrupted Democracy, Rogue State Russia, and the Richest, Most Destructive Industry on Earth,-- The Ride of a Lifetime: Lessons Learned from 15 Years as CEO of the Walt Disney Company,-- Call Sign Chaos: Learning to Lead,-- StrengthsFinder 2.0,-- Stillness Is the Key,-- She Said: Breaking the Sexual Harassment Story That Helped Ignite a Movement,-- Atomic Habits: An Easy & Proven Way to Build Good Habits & Break Bad Ones,-- Everything Is Figureoutable,-- What It Takes: Lessons in the Pursuit of Excellence,-- Rich Dad Poor Dad: What the Rich Teach Their Kids About Money That the Poor and Middle Class Do Not!,-- The Total Money Makeover: Classic Edition: A Proven Plan for Financial Fitness,-- Shut Up and Listen!: Hard Business Truths that Will Help You Succeed, ......................................................................................................................... .........................................................................................................................
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here

JCR and ModeShape

  1. 1. Content Repository API for Java ™ (JCR) & ModeShape Jozef Chocholáček @jchochol JBoss Community Team
  2. 2. Agenda <ul><li>JCR – what is it (good for)
  3. 3. ModeShape – beyond JCR
  4. 4. How do we use JCR and ModeShape </li></ul>
  5. 5. JCR Content Repository API for Java ™ <ul><li>Simple answer: JSR-170, JSR-283 -> javax.jcr API
  6. 6. OK, few more details: </li><ul><li>Abstracts where and how the content is stored
  7. 7. Best things from databases and file systems + additional features </li></ul><li>Typical uses: CMS, portals, knowledge bases, artifact repositories, ... </li></ul>
  8. 8. JCR Basic Concepts <ul><li>Repository
  9. 9. Workspace
  10. 10. Node
  11. 11. Property
  12. 12. Node Type
  13. 13. Path / UUID
  14. 14. Session
  15. 15. Namespace registry
  16. 16. Node type manager
  17. 17. Version manager
  18. 18. Lock manager
  19. 19. ... </li></ul>
  20. 20. JCR API Example
  21. 21. JCR Node Types <ul><li>Defines the structure of the node
  22. 22. Supertype(s)
  23. 23. Primary node type / mixin node type
  24. 24. Property names and types </li><ul><li>STRING, URI, BOOLEAN, LONG, DOUBLE, DECIMAL, BINARY, DATE, NAME, PATH, REFERENCE, WEAKREFERENCE </li></ul><li>Child nodes and their (node) types </li></ul>
  25. 25. JCR Node Type Example
  26. 26. JCR Query Languages <ul><li>XPath
  27. 27. JCR-SQL
  28. 28. JCR-SQL2 </li></ul><ul><li>JCR-JQOM </li></ul>SQL JCR-SQL2 table node type column property row node
  29. 29. JCR JCR-SQL2 Examples
  30. 30. JCR JCR-JQOM Example
  31. 31. JCR Advantages (Why To Use JCR) <ul><li>Standard API
  32. 32. Flexible data structure
  33. 33. Hierarchical graph-based storage
  34. 34. Search & query
  35. 35. Versioning
  36. 36. Access control
  37. 37. Referential integrity, locking, events, ... </li></ul>
  38. 38. JCR Implementations <ul><li>Jackrabbit (Apache)
  39. 39. CRX (Day Software / Adobe)
  40. 40. ModeShape </li></ul><ul><li>Alfresco
  41. 41. eXo Platform (donated to the Jboss Community)
  42. 42. Oracle Beehive </li></ul>
  43. 43. ModeShape <ul><li>JCR 2.0 implementation (all required & most of the optional features)
  44. 44. Own Graph API
  45. 45. Sequencers
  46. 46. Connectors (storage/access)
  47. 47. Federation
  48. 48. RESTful API
  49. 49. Clustering
  50. 50. ... </li></ul>
  51. 51. ModeShape Storage Options <ul><li>Multiple out-of-the-box connectors
  52. 52. Easy to write your own connector </li></ul>
  53. 53. ModeShape Connectors <ul><li>Use JCR API to access data from other systems (but leave the data where it is)
  54. 54. E.g. filesystem, Subversion, JBDC metadata, ... </li></ul>
  55. 55. ModeShape Federation <ul><li>Virtual repository with projected workspaces from real repositories
  56. 56. Use the best data store for each kind of data
  57. 57. Combination of own and external data
  58. 58. Consistent use of JCR API </li></ul>
  59. 59. ModeShape Sequencers <ul><li>Extract meaningful data from various file formats
  60. 60. Many out-of-the-box: </li><ul><li>ZIP, JAR, EAR, WAR files
  61. 61. Java class and source files
  62. 62. DDL files
  63. 63. XML files
  64. 64. Microsoft Office documents
  65. 65. Image metadata (JPEG, GIF, BMP, PCX, PNG, IFF, ...)
  66. 66. MP3
  67. 67. and more </li></ul><li>Easy to implement custom sequencers </li></ul>
  68. 68. ModeShape Extended JCR-SQL2 <ul><li>ModeShape supports complete JCR-SQL2 language as defined in specification, plus: </li><ul><li>Additional joins ( FULL OUTER, CROSS )
  69. 69. Subqueries in criteria
  70. 70. SELECT [DISTINCT]
  71. 71. UNION/INTERSECT/EXCEPT [ALL]
  72. 72. LIMIT and OFFSET
  73. 73. DEPTH and PATH criteria
  74. 74. REFERENCE criteria
  75. 75. IN and NOT IN
  76. 76. BETWEEN val1 [EXCLUSIVE] AND val2 [EXCLUSIVE]
  77. 77. Arithmetic expressions in criteria </li></ul></ul>
  78. 78. ModeShape Other Features <ul><li>RESTful service
  79. 79. WebDAV service
  80. 80. JDBC driver </li><ul><li>Connects to one workspace
  81. 81. jdbc:jcr:http://{hostname}:{port}/modeshape-rest/?repositoryName={name}&user=... </li></ul><li>JOPR RHQ plugin
  82. 82. Eclipse plugin (JBoss Tools) </li></ul>
  83. 83. ModeShape Why Use ModeShape? <ul><li>Use the data you already have
  84. 84. Leave the data where it is
  85. 85. Sequencers (automatized extraction of content)
  86. 86. Federation
  87. 87. Standard JCR API – and beyond
  88. 88. Light-weight, embeddable, clusterable
  89. 89. Fast development process
  90. 90. Backed up by a big open-source company </li></ul>
  91. 91. jboss.org JCR, ModeShape and jboss.org <ul><li>http://www.jboss.org/modeshape
  92. 92. Old name was JBoss DNA
  93. 93. Work in progress on empowering JBoss Community services with the strength of ModeShape </li><ul><li>downloads.jboss.org
  94. 94. docs.jboss.org
  95. 95. search.jboss.org </li></ul><li>Use in other JBoss projects/products </li></ul>
  96. 96. jboss.org Magnolia CMS & ModeShape <ul><li>JCR based open-source (Java) CMS
  97. 97. By default on Apache Jackrabbit
  98. 98. Modular
  99. 99. From v.4.2.2 supports ModeShape
  100. 100. Goal: “Native” support for downloads.jboss.org </li></ul>
  101. 101. jboss.org ModeShape & JBoss Projects <ul><li>Teiid
  102. 102. Drools
  103. 103. SOA Platform
  104. 104. BRMS
  105. 105. ... </li></ul>
  106. 106. Summary <ul><li>JCR API is standard, simple and easy-to-use
  107. 107. ModeShape is JCR implementation, and adds important extensions
  108. 108. jboss.org eats its own dogfood ;-) </li></ul>
  109. 109. Links <ul><li>http://www.jboss.org/modeshape
  110. 110. http://www.jcp.org/en/jsr/detail?id=283
  111. 111. http://www.magnolia-cms.com/
  112. 112. Freenode IRC: #modeshape
  113. 113. Twitter: </li></ul>@modeshape @magnolia_cms @jbossorg @jchochol
  114. 115. Questions ?
  115. 116. Thank You!
  116. 117. D2 D3 A107 9:00-9:45 Perl packaging for developers – Marcela Mašláňová MythTV - User view – Lukáš Doktor 9:50-10:35 Java packaging for developers – Stanislav Ochotnicky Gnome 3.0 (r)evolution - Tomáš Bžatek 10:40-11:25 JCR + ModeShape - Jozef Chocholáček Plasma Workspaces 4 by KDE – Lukáš Tinkl, Jaroslav Řezník Power management – Jaroslav Škarvada, Jan Včelák 11:30-12:30 Lunch Lunch Lunch 12:30-13:15 Planning and Scheduling with Drools - Lukáš Petrovický Spice - Jonathan Blandford Introduction to Qt development – Jaroslav Řezník 13:20-14:05 Teiid - data virtualization system - Boris Belovic Beyond init: systemd - Lennart Poettering Remote Desktop – Adam Tkáč 14:10-14:55 PicketLink and PicketBox - Peter Škopek Discussion: Bootloader and Dracut Future Plans - Harald Hoyer (session ends 10 minutes sooner) Bug hunting & static analysis – Ondřej Vašík and Petr Muller 15:00-15:45 Web Services for Remote Portlets - Michal Vančo System vs. Session – David Zeuthen 15:50-16:35 Infinispan : The future of open source data grids – Radoslav Husár, Michal Linhard SysVinit, upstart and systemd in Fedora and RHEL – Petr Lautrbach 16:40-17:25 Deltacloud API – Michal Fojtik Modern Linux Desktop alphabet – Tomáš Bžatek, Jaroslav Řezník

×