EclipseCON2012 - Enterprise OSGi for Earthlings: Meet Eclipse Libra

Preview:

DESCRIPTION

Eclipse Libra (www.eclipse.org/libra) provides standard tools for OSGi Enterprise application development, particularly tools that integrate the existing WTP and PDE tooling so that OSGi Enterprise applications can be developed with both toolings at the same time. Libra will bring the well-known WTP development methodologies to OSGi development, enabling "regular" Java developers to develop OSGi applications.

Citation preview

eteration

OSGi for the earthlings:

meet eclipse libraNaci Dai (@nacidai)

eteration

http://xeobits.com/internet/humor-internet/2-cents-for-programmers-funny-one/

Pointed Ears

RoundedEars

Human nature?

OSGi?

Fully supported byUSS Enterprise Eclipse PDE / WTP

OSGi

eteration

Five Levels of OSGi (Alex Blewit)

Denia

l

Can’t possibly workOSGi is written by IBM?I don’t use EclipseOSGi is too complex

An

ger

Cannot see my classClassNotFoundException? It is thereThese classes are the same but aren’t?javax.swing is not therehibernate is not working?

Barg

ain

ing

why this uses constraint failsCan’t we start the services in orderWorks on Equinox but not FelixLet there be a Stack Overflow answer forNoClassDefFoundError ...• resolution:=optional, please just start

Depre

ssio n

How do I load a JDBC driver?How can I map JNDI references to data sources?My custom Log4J logger does not work?Write a Manifest manually?Is there a bundle for Apache Beanutils

Acc

ep

tan

c e

Bundle EnlightenmentDeclarative servicesRemote ServicesDynamically update code on serversTweets about OSGi

eteration

JavaEE: If the shoe does not fit

Tightly coupledhardwired

Not DynamicRestarts with every deploy

IsolationNo sharingCommon libraries etc.Version conflictsHierarchical class-loading

xflickrx, Flickr Creative Commons

eteration

OSGi The New Java Enterprise

The fictional version

OSGiGoodies

OSGi Enterprise

Modules

Services

Dynamic

Web

JPA

Transaction

s

JNDI

Subsystems, WABs,

JPA, Blueprint, Naming,

Java EEGoodies =+

eteration

OSGi Enterprise ApplicationsOSGi programming model

Proven, standards-basedDynamic ModularManageableUbiquitousEvolvable

Enterprise InfrastructurePersistence, Transactions, Distributed, Management,

Naming, …

A whole new generation of Enterprise Applications

eteration

Enterprise OSGi

Hello Client App Hello Server App

Eclipse Equinox Apache Felix

Subsystems & Services(.ssa archives)

TargetFrameworks

Gemini

bundle

dynamic

subsystems

eteration

OSGi Tools

Development Tools Eclipse Libra

Eclipse PDE Eclipse WTP Eclipse Virgo Tools

BndTools IBM Rational Development

Tools for OSGi Applications Silent, still alive???

Builds Maven Tycho PDE Builds

• Too many/Not enough tools

• Different Philosophies• OSGi Transparent• Generate Manifests

• OSGi Frameworks are tricky

• Launching• Installing• Etc.

eteration

Meet Eclipse Libra

Tools for OSGi Enterprise Development

WTP

PDE

Tools

eteration

Libra Tools Scope

OSGi

JavaEE

JPA

Web

Blueprint

Declarative Services

Subsystems

Virgo

Gemini

Aries

Felix

Equinox

PARs

EABs

WebSphere(Liberty)

WebLogic

INO

UT

Frameworks Standards & Technologies

Jetty

Tomcat

EclipseLink

uJOnAS

OBR

eteration

What is in the Juno Release

OSGi Bundle Facet

WAR Products

OSGi Framework Adapters Adapted from WTP servers Launch configurations Support for Apache Felix,

Eclipse Equinox and Knopflerfish

Gemini / Apache Aries Virgo tools not yet ported!

Manifest Editor / OBR / Adapter / Blueprint Editor

Framework Editor Refactoring from Virgo

Tools Server Console Bundle Overview Dependency Graphs

PROVISIONAL Bundle Projects Manifest Editor

eteration

Bundle Projects

OSGi Bundle Facet PDE / WTP project types Versioned

Tools can add more behavior

eteration

Framework Adapters

Vanilla OSGi FrameworksEclipse Equinox, Apache

Felix, Knopflerfish

Eclipse RT (with above)GeminiVirgoEclipseLink Jetty…

Apache Aries (with above)

eteration

BundleOverview

Part of framework EditorList and control all bundles

eteration

Bundle Dependency View

Graphical representation of bundle dependenciesDrill-downs

eteration

Server Console

Similar to console shells

eteration

Bundle Repository Browser

(Virgo) Resolves bundles from OBRsSpring Enterprise Bundle Repository

eteration

War Products

• Equinox running in a JavaEE server in bridged mode

• Add your plugins to a Product Definition that exports a WAR file• Includes all necessary plugins and deployment files

(web.xml)

eteration

demo(s)

Launchers and Declerative Services

Gemini Web

Http Service and WAR Products

You can watch the Video tutorials online...

http://www.eclipse.org/libra/documentation/video/

eteration

Resources

http://eclipse.org/libra

ContactTwitter: @nacidai

Email: naci@eteration.com

Recommended