Diese Präsentation wurde erfolgreich gemeldet.
Wir verwenden Ihre LinkedIn Profilangaben und Informationen zu Ihren Aktivitäten, um Anzeigen zu personalisieren und Ihnen relevantere Inhalte anzuzeigen. Sie können Ihre Anzeigeneinstellungen jederzeit ändern.

OpenCms Days 2015 Next generation repository

OpenCms 10 is not even finished, but Alkacon is already forming concrete plans about OpenCms 11. The most important aspect for OpenCms 11 will be a new repository architecture. This new repository should be based on state-of-the-art open source components and provide much better cloud and clustering support, also solving a number of issues of the current VFS implementation.

In this session the design principles that guide the new repository architecture will be explained. Use cases where the current repository falls short will be shown, and how these should be improved in a new repository will be explained.

It has already been developed a working proof of concept for a new repository that already solves many of the challenges mentioned earlier. This prototype will be demonstarted and the technology behind it will be explained.

A new repository architecture for OpenCms 11 will most likely mean a departure from the database stack used for the repository up until OpenCms 10. This will effect backward compatibility.

  • Als Erste(r) kommentieren

  • Gehören Sie zu den Ersten, denen das gefällt!

OpenCms Days 2015 Next generation repository

  1. 1. Tobias Herrmann and Alexander Kandzior, Alkacon Software Day two starting session Next generation repository architecture for OpenCms 29.09.2015
  2. 2. OpenCms User Interface
  3. 3. 3 What about the file repository?
  4. 4. 4 In my opinion…
  5. 5. Separation of Apps and Content 5
  6. 6. Distributed Configuration 6
  7. 7. Scaling in the cloud
  8. 8. Efficient Permission settings 8
  9. 9. Use search engine for file collection Available in 10 with the <cms:search> tag
  10. 10. Reconsider Database requirement 10
  11. 11. Goals ● Performance ● Reliabillity ● Future-proof ● Lean ● Maintainable
  12. 12. ● Cloud ● Scalabillity ● Distributed Configuration ● High performance queries ● Alternative persistence layer 12 Goals
  13. 13. ● Hazelcast ● EHCache ● Apache Commons JCS ● Infinispan 13 Distributed Caches
  14. 14. ● Clustering ● Replication ● Query-Language ● Adaptable Persistence Layer ● Permissive License 14 Requirements
  15. 15. ● Apache 2.0 License ● Key-Value store ● Java Map Api ● Transactions 15 Infinispan
  16. 16. ● Integrated Lucene Indexing ● Lucene directory ● Persistence backends: Filesystem, DB, JPA, custom ● Cluster and replication support 16 Infinispan
  17. 17. ● Online – offline – history tables ● Resources ● Structure ● Properties ● Relations ● Other tables ● Projects ● Users ● Contents ● … 17 Current data layout
  18. 18. ● File access ● ID vs. Path ● Read performance vs. Write complexity ● Move operations 18 Challenges
  19. 19. ● Online – offline VFS ● Query interface ● Performance tests ● Cluster event bus ● Distributed configuration properties 19 Prototype
  20. 20. ● Easy cluster setup ● Managed indexes ● Performant filestore persistence ● Easy transactions 20 Infinispan – the good parts
  21. 21. ● One index per map / cache ● Filestore upgrade path 21 Infinispan – the tricky parts
  22. 22. ● Filestore ● JDBC Binary Store ● JPA Store ● LevelDB Store ● Roll your own store 22 Persistence
  23. 23. ● XML based ● Human readable ● Human editable ● DTD-Validation ● Easy backup ● Mixed default and individual properties ● Complex upgrades ● Not cloud friendly 23 Configuration
  24. 24. ● Separation of default and individual ● Easier upgrades ● Central configuration management ● Human editable ● Easy backup ● Validation?? 24 Configuration
  25. 25. ● Clustering is fun ● Index mappings are a hassle do also work ● Performance is great ● A lot of work to do 25 Resumé
  26. 26. Open Source / Enterprise Version
  27. 27. Backward compatibility 27
  28. 28. ● Question: What is more important to you… a. Improved repository? OR b. Backward compatibility of existing code? ● Please choose only one answer! Backward compatibility
  29. 29. ● What will come after 10 is finished? ● Several workplace apps need to be modernized ● Rewrite VFS file / DB repository ● The new repository will be part of OpenCms 11 ● To be expected in the 2nd half of 2017 ● The modernized workplace apps may be available earlier ● Potentially: OpenCms 10.5 in Q4 2016 OpenCms Roadmap
  30. 30. ● Any Questions? Any Questions? Fragen? Questiones? 質問
  31. 31. Tobias Herrmann Alexander Kandzior Alkacon Software GmbH http://www.alkacon.com http://www.opencms.org Thank you very much for your attention!

×