the horoscope of osgi: meet eclipse libra, virgo and gemini (javaone 2013)
TRANSCRIPT
The Horoscope of OSGimeet Eclipse Libra, Virgo and Gemini
Murat Yener, @yenerm
Wednesday, October 9, 13
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
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
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
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
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
containers?
from Symbian to Enterprise
equinox
felix
knoplerfish
µJonas
...
Wednesday, October 9, 13
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
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
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
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
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
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 reinven
t
the wheel?
Wednesday, October 9, 13
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
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
PDE to OSamI
Extend PDE
Not only Eclipse plugins (PDE)
Support for multi OSGi frameworks
Runtime independant projects
Runtime instances
Wednesday, October 9, 13
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
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
Libra in a Nutshelladapters 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
demosIf I fail... go watch it online...
http://www.eclipse.org/libra/documentation/video/
Wednesday, October 9, 13
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
Gemini Blueprint
Reference implementation of OSGi 5.0 Enterprise spec
Originally called Spring DM
Wednesday, October 9, 13
Gemini Management
JMX management model from OSGi 4.2 spec
Administration of OSGi runtime, bundles, services via JMX
Wednesday, October 9, 13
Gemini DBAccess and JPA
Modularized OSGi distribution of JDBC drivers
Drivers can be packaged seperately from bundles
JPA on OSGi
Wednesday, October 9, 13
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
demo
Wednesday, October 9, 13
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
Virgo FeaturesWeb 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
</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
[email protected]@yenerm
devchronicles.com
Wednesday, October 9, 13