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