The Horoscope of OSGi: Meet Eclipse Libra, Virgo and Gemini (JavaOne 2013)
1. The Horoscope of OSGi
meet Eclipse Libra, Virgo and Gemini
Murat Yener, @yenerm
Wednesday, October 9, 13
2. who (the hell) am I?!?
Java, Flex, GWT, iOS, Android developer
Principle Mentor at Eteration
Eclipse Committer
GDG (GTUG) Istanbul Organizer
Conference Speaker
Wednesday, October 9, 13
3. who (the hell) am I?!?
Java, Flex, GWT, iOS, Android developer
Principle Mentor at Eteration
Eclipse Committer
GDG (GTUG) Istanbul Organizer
Conference Speaker
Wednesday, October 9, 13
4. who (the hell) am I?!?
Java, Flex, GWT, iOS, Android developer
Principle Mentor at Eteration
Eclipse Committer
GDG (GTUG) Istanbul Organizer
Conference Speaker
Mobile App Developer at Intel
Wednesday, October 9, 13
5. what (the hell) is this talk about?!?
luckily no horoscopes!
OSGi for the earthlings: Meet Eclipse Libra
EclipseCon 2010/2011, JavaOne 2011/2012
Eclipse Gemini
Eclipse Virgo
Wednesday, October 9, 13
6. so what (the hell) is OSGi?!?
architecture for developing and deploying modular
apps
build using OSGi apis
deploy to an OSGi container
a dynamic modular runtime for Java developers
Wednesday, October 9, 13
8. tools
Ant tools: bnd, Bundlor
Eclipse plugins: bnd, Bndtools, Bundlor, Pax, Sigil,
Concierge
Rational
Spring Tools (Eclipse Virgo)
back to 2009
later...
Wednesday, October 9, 13
9. problems!!
development complexity, no more plain java (bundles,
activators, manifests...)
different tools, adds its own behavior and complexity
(ant, maven, packaging..)
different containers, different packaging and
configuration
Wednesday, October 9, 13
10. the (OSGi) Developer
need the learn the OSGi
way, well it is a new
platform...
need to learn each tool
need to know each
container
pointed ears
science officer
half human - half vulcan
trying to understand
human nature
rounded ears
developer
java & OSGi
trying to understand OSGi
Wednesday, October 9, 13
11. there used to be a similar problem!!
Building Java Web/J2EE apps!
Different vendors
Different servers
Different configurations
Different tools
Did old Java Web/J2EE apps were really portable?
Wednesday, October 9, 13
12. So what happened?!?
Eclipse Web Tools Platform
abstraction of runtime from the project
adapters for the runtimes to integrate the IDE
target platforms for the runtimes
Wednesday, October 9, 13
13. So what happened?!?
Eclipse Web Tools Platform
abstraction of runtime from the project
adapters for the runtimes to integrate the IDE
target platforms for the runtimes
really need to reinvent
the wheel?
Wednesday, October 9, 13
14. road to Libra... OSamI
sorry, not a japanese beer
targets social needs: energy efficiency, remote health,
smart home, mobility..
based on OSGi
first results: Green building (grenoble, thales, bull),
Smart Home (VTT), Mobile (Siemens), Embedded
(ProSyst)
Wednesday, October 9, 13
15. OSamI Tools
OSamI tools for OSGi developers
abstraction layer between bundles and containers
built on server adapters (well OSGi runtime adapters)
demo at EclipseCon 2010
moving to Eclipse repo... (2011)
Wednesday, October 9, 13
16. PDE to OSamI
Extend PDE
Not only Eclipse plugins (PDE)
Support for multi OSGi frameworks
Runtime independant projects
Runtime instances
Wednesday, October 9, 13
17. Eclipse Libra
tools for creation of deployable artifacts for application
servers implementing the OSGi Enterprise specification,
(Web Application Bundles)
tools for converting Java EE deployable artifacts to
OSGi Enterprise deployable artifacts (Dynamic Web
projects to a Web Application Bundle projects)
Wednesday, October 9, 13
18. Eclipse Libra (cont.)
tools for editing and validation of the metadata of OSGi
Enterprise artifacts, (extension of the PDE Manifest
Editor for editing manifest headers)
OSGi server adapters, providing basic implementation
of configuring an OSGi-based application server,
starting it and deploying OSGi enterprise artifacts.
Wednesday, October 9, 13
19. Libra in a Nutshell
adapters for OSGi containers
no runtime info in bundles
dynamic packaging, deploy, run, debug
easy to develop new adapters
war products (packaging OSGi container with bundles
as a war file)
gemini profile (OSGi web profile)
Wednesday, October 9, 13
20. demos
If I fail... go watch it online...
http://www.eclipse.org/libra/documentation/video/
Wednesday, October 9, 13
21. Eclipse Gemini
Modular implementations of JavaEE
each project can be used on its own, combination with
others or with any OSGi bundle.
Wednesday, October 9, 13
23. Gemini Management
JMX management model from OSGi 4.2 spec
Administration of OSGi runtime, bundles, services via
JMX
Wednesday, October 9, 13
24. Gemini DBAccess and JPA
Modularized OSGi distribution of JDBC drivers
Drivers can be packaged seperately from bundles
JPA on OSGi
Wednesday, October 9, 13
25. Gemini Web
Reference implementation for running enterprise web
applications within an OSGi framework.
Just create a Dynamic Web project and add OSGi web
profile.
Wednesday, October 9, 13
27. Eclipse Virgo
OSGi based, Java Application Server (originally Spring
DM Server)
based on Equinox and Tomcat servlet container
supports: OSGi bundles, plain java web apps, shared
lib wars, shared services wars
Wednesday, October 9, 13
28. Virgo Features
Web admin console
Gogo shell: command line via ssh or shell
Plans: scopes, lifecycles
Provisioning: dependency resolution on local or remote
repos
Web container: for plain wars
Spring3, Hot deploy, Logging...
Wednesday, October 9, 13
29. </slides>
Mobile Java with MGWT: Still “Write Once, Run Everywhere” [BOF2042]
Monday 7:30pm, Hilton Continental Ballroom 5
The Zodiac of OSGi: Meet Eclipse Libra, Virgo, and Gemini [CON1749]
Tuesday 8:30am, Hilton Continental Ballroom 4
Eclipse Orion: The IDE in the Clouds [CON4107], [BOF3999]
Tuesday 5:30pm, Hilton Continental Ballroom 4
Wednesday 3:00pm, Hilton Continental Ballroom 7/8/9
murat@muratyener.com
@yenerm
devchronicles.com
Wednesday, October 9, 13