Liferay Devcon 2013: Our way towards modularity

24
Our way towards modularity Liferay as an OSGi container Miguel Ángel Pastor Olivar

description

 

Transcript of Liferay Devcon 2013: Our way towards modularity

Page 1: Liferay Devcon 2013: Our way towards modularity

Our way towards modularityLiferay as an OSGi container

Miguel Ángel Pastor Olivar

Page 2: Liferay Devcon 2013: Our way towards modularity

I am not Raymond Augé. Sorry about that!

Page 3: Liferay Devcon 2013: Our way towards modularity

About me

• Write code at the Liferay platform team

• Phd student on distributed systems and cloud computing (currently on standby :-( )

• Scala enthusiast (support for writing plugins, more to come)

• Email: [email protected]

• Twitter: @miguelinlas3

Page 4: Liferay Devcon 2013: Our way towards modularity
Page 5: Liferay Devcon 2013: Our way towards modularity

Complexity in large systems

• Large systems are extremely complex to develop and maintain

• Highly coupled systems

• Cloud computing: Multitenancy Multiple deployments are co-located

• Footprint and performance

• Distributed development

Page 6: Liferay Devcon 2013: Our way towards modularity

Complexity vs Cost

Modular

Monolithic

Cost

Complexity

Unmanageable

Page 7: Liferay Devcon 2013: Our way towards modularity
Page 8: Liferay Devcon 2013: Our way towards modularity

Looking for … (I)

• Decoupled and highly focused components

• Easier development process

• Simplify current implementations/patterns

• Easier addition of new features

• Highly focused teams

• Easier distributed development

Page 9: Liferay Devcon 2013: Our way towards modularity

Looking for … (II)

• More frequent delivery of new features or improvements

• Less bugs due to higher degree of focus

• Quicker and simpler delivery of patches for bugs and security issues

• Robustness

• Footprint

Page 10: Liferay Devcon 2013: Our way towards modularity
Page 11: Liferay Devcon 2013: Our way towards modularity

FAIL!

Page 12: Liferay Devcon 2013: Our way towards modularity
Page 13: Liferay Devcon 2013: Our way towards modularity
Page 14: Liferay Devcon 2013: Our way towards modularity
Page 15: Liferay Devcon 2013: Our way towards modularity
Page 16: Liferay Devcon 2013: Our way towards modularity
Page 17: Liferay Devcon 2013: Our way towards modularity

Architecture overview (I)

Application Server + Liferay

Embedded OSGi container

App

App

App

App App

App App

Page 18: Liferay Devcon 2013: Our way towards modularity

Architecture overview (II)

Embedded OSGi container

App App

App App

Log Service

Http Service

Web Extender

JSP Support

JSTL Support

Page 19: Liferay Devcon 2013: Our way towards modularity
Page 20: Liferay Devcon 2013: Our way towards modularity

Looking to the future (I)

• JSP support Already done, not ready for release Vaadin (perfect match), Freemarker

• Web Application Bundle specs Already done, not ready for release

• Improving the core Powerful registry mechanism Easier extensibility and reuse of components Real dependency management Development focus, distributed teams, ...

Page 21: Liferay Devcon 2013: Our way towards modularity

Looking to the future (II)

Small self-contained modules

Previous points lead us to Increase Liferay architecture versatility

Resiliency and scaling: moving to the next point

… we still have many things to discuss

Page 22: Liferay Devcon 2013: Our way towards modularity
Page 23: Liferay Devcon 2013: Our way towards modularity

A simple and extensible metrics system

Metrics Core

JVM MetricsProvider

User MetricsProvider

Metrics UIProvides

Provides

Consume

Page 24: Liferay Devcon 2013: Our way towards modularity