Top Banner
Tobias Herrmann and Alexander Kandzior, Alkacon Software Day two starting session Next generation repository architecture for OpenCms 29.09.2015
31

OpenCms Days 2015 Next generation repository

Apr 14, 2017

Download

Software

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: OpenCms Days 2015  Next generation repository

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

OpenCms User Interface

Page 3: OpenCms Days 2015  Next generation repository

3

What about the file repository?

Page 4: OpenCms Days 2015  Next generation repository

4

In my opinion…

Page 5: OpenCms Days 2015  Next generation repository

Separation of Apps and Content 5

Page 6: OpenCms Days 2015  Next generation repository

Distributed Configuration 6

Page 7: OpenCms Days 2015  Next generation repository

Scaling in the cloud

Page 8: OpenCms Days 2015  Next generation repository

Efficient Permission settings

8

Page 9: OpenCms Days 2015  Next generation repository

Use search engine for file collection

Available in 10 with the

<cms:search> tag

Page 10: OpenCms Days 2015  Next generation repository

Reconsider Database requirement

10

Page 11: OpenCms Days 2015  Next generation repository

Goals

● Performance

● Reliabillity

● Future-proof

● Lean

● Maintainable

Page 12: OpenCms Days 2015  Next generation repository

● Cloud

● Scalabillity

● Distributed Configuration

● High performance queries

● Alternative persistence layer

12

Goals

Page 13: OpenCms Days 2015  Next generation repository

● Hazelcast

● EHCache

● Apache Commons JCS

● Infinispan

13

Distributed Caches

Page 14: OpenCms Days 2015  Next generation repository

● Clustering

● Replication

● Query-Language

● Adaptable Persistence Layer

● Permissive License

14

Requirements

Page 15: OpenCms Days 2015  Next generation repository

● Apache 2.0 License

● Key-Value store

● Java Map Api

● Transactions

15

Infinispan

Page 16: OpenCms Days 2015  Next generation repository

● 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

● 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

● File access

● ID vs. Path

● Read performance vs. Write complexity

● Move operations

18

Challenges

Page 19: OpenCms Days 2015  Next generation repository

● Online – offline VFS

● Query interface

● Performance tests

● Cluster event bus

● Distributed configuration properties

19

Prototype

Page 20: OpenCms Days 2015  Next generation repository

● Easy cluster setup

● Managed indexes

● Performant filestore persistence

● Easy transactions

20

Infinispan – the good parts

Page 21: OpenCms Days 2015  Next generation repository

● One index per map / cache

● Filestore upgrade path

21

Infinispan – the tricky parts

Page 22: OpenCms Days 2015  Next generation repository

● Filestore

● JDBC Binary Store

● JPA Store

● LevelDB Store

● Roll your own store

22

Persistence

Page 23: OpenCms Days 2015  Next generation repository

● 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

● 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

● 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

Open Source / Enterprise Version

Page 27: OpenCms Days 2015  Next generation repository

Backward compatibility 27

Page 28: OpenCms Days 2015  Next generation repository

● 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

● 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

● Any Questions?

Any Questions?

Fragen?

Questiones? 質問

Page 31: OpenCms Days 2015  Next generation repository

Tobias Herrmann

Alexander Kandzior

Alkacon Software GmbH

http://www.alkacon.com

http://www.opencms.org

Thank you very much for your attention!