(web) applications made simple with osgi - peter kriens
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
(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