(Web) Applications Made Simple with OSGi - Peter Kriens

Preview:

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.

Citation preview

(Web)Applications Made Simple with OSGi

Peter KriensOSGi Alliance

1dinsdag 29 oktober 13

Content

• Sabbatical

• OSGi en Route

• Demo

• Questions

2dinsdag 29 oktober 13

OpenBlend 2013

Sabbatical ...

3dinsdag 29 oktober 13

Ludwigsburg OSGi DevCon 2013

jpm4J

4dinsdag 29 oktober 13

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

OpenBlend 2013

5dinsdag 29 oktober 13

OpenBlend 2013

6dinsdag 29 oktober 13

OSGi Works!

7dinsdag 29 oktober 13

OSGi Works!

But too few good components.

7dinsdag 29 oktober 13

OSGi Works!

But too few good components.

Why?

7dinsdag 29 oktober 13

What do we Need?

• High Cohesion

• Low Coupling

• Expliciti

• Requirements

• Capabilities

8dinsdag 29 oktober 13

What do we Need?

• High Cohesion

• Low Coupling

• Expliciti

• Requirements

• Capabilities

8dinsdag 29 oktober 13

OSGi enRoute

9dinsdag 29 oktober 13

OSGi enRoute

… as OSGi was meant to be

9dinsdag 29 oktober 13

OSGi enRoute

10dinsdag 29 oktober 13

OSGi enRoute

10dinsdag 29 oktober 13

OSGi enRoute

The ComponentFramework

10dinsdag 29 oktober 13

Great Stuff!

11dinsdag 29 oktober 13

Great Stuff!

But how do you put it together?

11dinsdag 29 oktober 13

12dinsdag 29 oktober 13

The whole solution

12dinsdag 29 oktober 13

OSGi enRoute• Demonstrator chain

• User Documentation, Tutorials

• Providing missing pieces

• Specifications

• Implementations (through open source collaboration)

• Repository

• Community

• Pluggability

• Vendors

13dinsdag 29 oktober 13

First Baby Steps ...

OSGi enRoute Blog Tutorial

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

14dinsdag 29 oktober 13

15dinsdag 29 oktober 13

16dinsdag 29 oktober 13

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

Demo

18dinsdag 29 oktober 13

Q&A

19dinsdag 29 oktober 13

Recommended