javaone 2012, osgi for the earthlings: meet eclipse libra

32
OSGi for the Earthlings: Meet Eclipse Libra Murat Yener (@yenerm) Wednesday, October 3, 12

Upload: murat-yener

Post on 14-Dec-2014

533 views

Category:

Documents


3 download

DESCRIPTION

Eclipse libra

TRANSCRIPT

Page 1: JavaOne 2012, OSGi for the Earthlings: Meet Eclipse Libra

OSGi for the Earthlings: Meet Eclipse LibraMurat Yener (@yenerm)

Wednesday, October 3, 12

Page 2: JavaOne 2012, OSGi for the Earthlings: Meet Eclipse Libra

OSGi for the Earthlings: Meet Eclipse LibraMurat Yener (@yenerm)

Wednesday, October 3, 12

Page 3: JavaOne 2012, OSGi for the Earthlings: Meet Eclipse Libra

Who am I?

• Java/JavaEE, OSGi, GWT, Flex, Android, iOS, Node.js... simply Code Geek!

• GDG/GTUG Istanbul Lead

• Eclipse Committer

• Conference Speaker

Wednesday, October 3, 12

Page 4: JavaOne 2012, OSGi for the Earthlings: Meet Eclipse Libra

OSGi vs Developerspointed ears rounded ears OSGi?!?Human

nature?

Fully supported by USS Enterprise Looking for IDE support

Wednesday, October 3, 12

Page 5: JavaOne 2012, OSGi for the Earthlings: Meet Eclipse Libra

OSGi: The good(s)...

•Architecture for developing and deploying modular apps

•Build using OSGi APIs

•Deploy to an OSGi Container

Wednesday, October 3, 12

Page 6: JavaOne 2012, OSGi for the Earthlings: Meet Eclipse Libra

OSGi Containers?

•Runtime for the OSGi Apps

•from Symbian to Enterprise

•equinox, felix, knoplerfish...

Wednesday, October 3, 12

Page 7: JavaOne 2012, OSGi for the Earthlings: Meet Eclipse Libra

JavaEE: If the shoe does not fit

•Tightly coupled -- hardwired

•Not Dynamic -- restarts with every deploy

•Isolation -- no sharing, common libraries, version conflicts, hierarchical class loading

Wednesday, October 3, 12

Page 8: JavaOne 2012, OSGi for the Earthlings: Meet Eclipse Libra

Enterprise OSGi

•OSGi programming model: proven, standarts-based, dynamic, modular, manageable, ubiquitous, evolvable

•Enterprise Infrastructure: persistence, transactions, distributed, management, naming

Wednesday, October 3, 12

Page 9: JavaOne 2012, OSGi for the Earthlings: Meet Eclipse Libra

Enterprise OSGi

Wednesday, October 3, 12

Page 10: JavaOne 2012, OSGi for the Earthlings: Meet Eclipse Libra

OSGi Tools: the bad..

•Ant tools: bnd, bundlor

•Eclipse tools: bnd, bndtools, bundlor, pax, sigil, concierge

•Rational

•Spring tools

•Too many/Not enough tools

•Different philosophies (OSGi Transperent, Generate Manifests)

•OSGi Frameworks are tricky (launching, installing...)

Wednesday, October 3, 12

Page 11: JavaOne 2012, OSGi for the Earthlings: Meet Eclipse Libra

OSGi: the ugly...

•development complexity, no more plain java (bundles, activators, manifests)

•each tool adds its own behaivour and complexity

•different containers, different packaging and configuration

Wednesday, October 3, 12

Page 12: JavaOne 2012, OSGi for the Earthlings: Meet Eclipse Libra

Five Levels of OSGi (Alex Blewit)can’t possibly work

written by IBM, right?eclipse use OSGi, I don’t use Eclipse

OSGi is too complex

why can’t this bundles see this classwhy am I getting ClassNotFound Ex

these two same classes are not the samewhy doesn’t hibernate work

if you can start up the services in this orderwhy does this work in equinox but not felixplease let there be a StackOverflow answer

how do I load a JDBC driverwhy doen’t my custom Log4J logger work

why do I have to write a Manifest manually

sudden dawn of understanding of bundlessee how services can be connected with DS

remote services to other Systemsdynamically upgrade running code

evangelise & tweet & give keynote on OSGi

DENIAL

ANGER

BARGAINING

DEPRESSION

ACCEPTANCE

Wednesday, October 3, 12

Page 13: JavaOne 2012, OSGi for the Earthlings: Meet Eclipse Libra

Developer: the poor...

•need to learn the OSGi way

•need to learn tools

•need to learn containers

Wednesday, October 3, 12

Page 14: JavaOne 2012, OSGi for the Earthlings: Meet Eclipse Libra

Developer: the poor...

•need to learn the OSGi way

•need to learn tools

•need to learn containers

Wednesday, October 3, 12

Page 15: JavaOne 2012, OSGi for the Earthlings: Meet Eclipse Libra

Developer: the poor...

•need to learn the OSGi way

•need to learn tools

•need to learn containers

wait!!!Wednesday, October 3, 12

Page 16: JavaOne 2012, OSGi for the Earthlings: Meet Eclipse Libra

Building Web/EE Apps

•Different servers

•Different configurations

•Abstraction of Development

Wednesday, October 3, 12

Page 17: JavaOne 2012, OSGi for the Earthlings: Meet Eclipse Libra

Building Web/EE Apps

•Different servers

•Different configurations

•Abstraction of Development

do we really need to invent a new wheel??

Wednesday, October 3, 12

Page 18: JavaOne 2012, OSGi for the Earthlings: Meet Eclipse Libra

Building Web/EE Apps

•Different servers

•Different configurations

•Abstraction of Development

do we really need to invent a new wheel??

Wednesday, October 3, 12

Page 19: JavaOne 2012, OSGi for the Earthlings: Meet Eclipse Libra

soo what if...

++

Wednesday, October 3, 12

Page 20: JavaOne 2012, OSGi for the Earthlings: Meet Eclipse Libra

Earthlings, meet Eclipse Libra

WTP

PDE

Tools

Wednesday, October 3, 12

Page 21: JavaOne 2012, OSGi for the Earthlings: Meet Eclipse Libra

Libra Tools Scopein out

frameworks

standarts&

technologies

virgo

eclipselink

aries

equinox

jetty

geminitomcat

felixwebsphere (liberty)

uJonasweblogic

PARs

EABs

blueprint subsystemsOSGi

JPAJavaEE blueprint

WEBOBR

declerative services

Wednesday, October 3, 12

Page 22: JavaOne 2012, OSGi for the Earthlings: Meet Eclipse Libra

What is in JUNO Release...•OSGi Bundle Facet

•WAR Products

•OSGi Framework Adapters

•adapted from WTP server adapters

•launch configs

•supports Felix/equinox/knoplerfish

•Gemini/Apache Aries

•Virgo tools not yet ported

Wednesday, October 3, 12

Page 23: JavaOne 2012, OSGi for the Earthlings: Meet Eclipse Libra

also...

•Framework Editor

•refactoring from virgo tools

•server console

•bundle overview

•dependency graphs

•Provisional: bundle projects and Manifest Editor

Wednesday, October 3, 12

Page 24: JavaOne 2012, OSGi for the Earthlings: Meet Eclipse Libra

Bundle Projects

•OSGi Bundle Facet

•PDE / WTP project types

•versioned

•Tools can add more behaviour

Wednesday, October 3, 12

Page 25: JavaOne 2012, OSGi for the Earthlings: Meet Eclipse Libra

Framework Adapters

•Vanilla OSGi Frameworks

•eclipse equinox, apache felix, knoplerfish

•Eclipse RT (with above)

•gemini, virgo, eclipselink, jetty...

•Apache Aries (with above)

Wednesday, October 3, 12

Page 26: JavaOne 2012, OSGi for the Earthlings: Meet Eclipse Libra

Bundle Overview

•Part of framework editor, list and control all bundles

Wednesday, October 3, 12

Page 27: JavaOne 2012, OSGi for the Earthlings: Meet Eclipse Libra

Bundle Dependency ViewGraphical representation of bundle dependencies with drill downs

Wednesday, October 3, 12

Page 28: JavaOne 2012, OSGi for the Earthlings: Meet Eclipse Libra

Server ConsoleSimilar to console shells

Wednesday, October 3, 12

Page 29: JavaOne 2012, OSGi for the Earthlings: Meet Eclipse Libra

Bundle Repository Browser(Virgo) Resolves bundles from OBRsSpring Enterprise Bundle Repository

Wednesday, October 3, 12

Page 30: JavaOne 2012, OSGi for the Earthlings: Meet Eclipse Libra

WAR Products•Equinox running in JavaEE server in bridget mode

•Simply add your plugins to a product definition that exports a WAR file (includes all necessary files!)

Wednesday, October 3, 12

Page 31: JavaOne 2012, OSGi for the Earthlings: Meet Eclipse Libra

demos

•Available online http://www.eclipse.org/libra/documentation/video/

•Launchers and Declerative Services

•Gemini Web

•Http Service and WAR products

Wednesday, October 3, 12

Page 32: JavaOne 2012, OSGi for the Earthlings: Meet Eclipse Libra

QnA

http://eclipse.org/libra

Murat Yener

[email protected]

@yenerm

blogs.eteration.com / devchronicles.com

Wednesday, October 3, 12