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