(web) applications made simple with osgi - peter kriens

28
(Web) Applications Made Simple with OSGi Peter Kriens OSGi Alliance 1 dinsdag 29 oktober 13

Upload: mfrancis

Post on 05-Dec-2014

2.219 views

Category:

Technology


1 download

DESCRIPTION

OSGi Community Event 2013 (http://www.osgi.org/CommunityEvent2013/Schedule) ABSTRACT OSGi is renowned for its advanced modularity but it is not often called simple. I actually believe that OSGi is simple but that most reported problems are caused by trying to push a square through a round hole. Problems are invariably caused by trying to apply incumbent non-modular technology through a modular framework. However, today the average developer has not much choice, most of the free and available components use hacks that are not compatible with strong modularity, nor do they leverage OSGi's features like µservices and central dynamic config admin as they were intended. Spending a sabbatical year developing a web application the 'OSGi Way' it was clear that a lot of components and documentations is missing to quickly build a web application the 'OSGi Way'. To leverage OSGi to the hilt I had to develop too many base components. Though I proved to myself that OSGi was really working as advocated if you go with the flow, it was clear that other developers have neither the time, OSGi experience, nor the inclination to do what I could do. Discussing these experiences with the OSGi Alliance we therefore decided to turn this into a project! This presentation will show you my experiences with developing a truly OSGi Web App and an overview of the OSGi Alliance's plans to simplify development of OSGi (web) applications. SPEAKER BIO Peter Kriens is an independent consultant since 1990.He currently works for the OSGi Alliance and jpm4j. During the eighties he developed advanced distributed systems for newspapers based on microcomputers based on, at the time very novel, object oriented technologies. For this experience in Objects he was hired by a number of international companies, including Adobe, Intel, Ericsson, IBM, and many others. During his work at Ericsson Research in 1998 he got involved with the OSGi specification; Later he became the primary editor for these specifications. In 2005 he was awarded the OSGi Fellows title. After taking a sabbatical in 2012 to develop jpm4j he returned to the OSGi Alliance to help increasing adoption. He is Dutch but decided to live in France.

TRANSCRIPT

Page 1: (Web) Applications Made Simple with OSGi - Peter Kriens

(Web)Applications Made Simple with OSGi

Peter KriensOSGi Alliance

1dinsdag 29 oktober 13

Page 2: (Web) Applications Made Simple with OSGi - Peter Kriens

Content

• Sabbatical

• OSGi en Route

• Demo

• Questions

2dinsdag 29 oktober 13

Page 3: (Web) Applications Made Simple with OSGi - Peter Kriens

OpenBlend 2013

Sabbatical ...

3dinsdag 29 oktober 13

Page 4: (Web) Applications Made Simple with OSGi - Peter Kriens

Ludwigsburg OSGi DevCon 2013

jpm4J

4dinsdag 29 oktober 13

Page 5: (Web) Applications Made Simple with OSGi - Peter Kriens

Ludwigsburg OSGi DevCon 2013

jpm4J

Indexed 480,756 JARs from 50,522 programs

(most from Maven Central, almost doubled in the last year)

4dinsdag 29 oktober 13

Page 6: (Web) Applications Made Simple with OSGi - Peter Kriens

OpenBlend 2013

5dinsdag 29 oktober 13

Page 7: (Web) Applications Made Simple with OSGi - Peter Kriens

OpenBlend 2013

6dinsdag 29 oktober 13

Page 8: (Web) Applications Made Simple with OSGi - Peter Kriens

OSGi Works!

7dinsdag 29 oktober 13

Page 9: (Web) Applications Made Simple with OSGi - Peter Kriens

OSGi Works!

But too few good components.

7dinsdag 29 oktober 13

Page 10: (Web) Applications Made Simple with OSGi - Peter Kriens

OSGi Works!

But too few good components.

Why?

7dinsdag 29 oktober 13

Page 11: (Web) Applications Made Simple with OSGi - Peter Kriens

What do we Need?

• High Cohesion

• Low Coupling

• Expliciti

• Requirements

• Capabilities

8dinsdag 29 oktober 13

Page 12: (Web) Applications Made Simple with OSGi - Peter Kriens

What do we Need?

• High Cohesion

• Low Coupling

• Expliciti

• Requirements

• Capabilities

8dinsdag 29 oktober 13

Page 13: (Web) Applications Made Simple with OSGi - Peter Kriens

OSGi enRoute

9dinsdag 29 oktober 13

Page 14: (Web) Applications Made Simple with OSGi - Peter Kriens

OSGi enRoute

… as OSGi was meant to be

9dinsdag 29 oktober 13

Page 15: (Web) Applications Made Simple with OSGi - Peter Kriens

OSGi enRoute

10dinsdag 29 oktober 13

Page 16: (Web) Applications Made Simple with OSGi - Peter Kriens

OSGi enRoute

10dinsdag 29 oktober 13

Page 17: (Web) Applications Made Simple with OSGi - Peter Kriens

OSGi enRoute

The ComponentFramework

10dinsdag 29 oktober 13

Page 18: (Web) Applications Made Simple with OSGi - Peter Kriens

Great Stuff!

11dinsdag 29 oktober 13

Page 19: (Web) Applications Made Simple with OSGi - Peter Kriens

Great Stuff!

But how do you put it together?

11dinsdag 29 oktober 13

Page 20: (Web) Applications Made Simple with OSGi - Peter Kriens

12dinsdag 29 oktober 13

Page 21: (Web) Applications Made Simple with OSGi - Peter Kriens

The whole solution

12dinsdag 29 oktober 13

Page 22: (Web) Applications Made Simple with OSGi - Peter Kriens

OSGi enRoute• Demonstrator chain

• User Documentation, Tutorials

• Providing missing pieces

• Specifications

• Implementations (through open source collaboration)

• Repository

• Community

• Pluggability

• Vendors

13dinsdag 29 oktober 13

Page 23: (Web) Applications Made Simple with OSGi - Peter Kriens

First Baby Steps ...

OSGi enRoute Blog Tutorial

https://github.com/osgi/osgi.enroute.blog

14dinsdag 29 oktober 13

Page 24: (Web) Applications Made Simple with OSGi - Peter Kriens

15dinsdag 29 oktober 13

Page 25: (Web) Applications Made Simple with OSGi - Peter Kriens

16dinsdag 29 oktober 13

Page 26: (Web) Applications Made Simple with OSGi - Peter Kriens

blog.appl

blog.jpaprovider

blog.memoryprovider

Blog Manager

jpamanaged

H2

EclipsePersistence

Hibernate

Webserver

RESTApache Felix Http

JonasTransaction

Configurer

jdbcmanaged

jtafilter

ConfigAdmin

TwitterBootstrap

Angular

`

`

` 0

` `

`

`

`

EntityManager

TransactionManager

PersistenceProvider

DataSource

Factory

XA DataSource

ResourceManager

Servlet

Configuration Admin

blog.test

17dinsdag 29 oktober 13

Page 27: (Web) Applications Made Simple with OSGi - Peter Kriens

Demo

18dinsdag 29 oktober 13

Page 28: (Web) Applications Made Simple with OSGi - Peter Kriens

Q&A

19dinsdag 29 oktober 13