OpenCms Days 2015 Next generation repository

Post on 14-Apr-2017

424 Views

Category:

Software

0 Downloads

Preview:

Click to see full reader

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!

top related