opencms days 2015 next generation repository

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

Upload: alkacon-software-gmbh-co-kg

Post on 14-Apr-2017

425 views

Category:

Software


0 download

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!