Date post: | 18-Nov-2014 |
Category: |
Technology |
Upload: | naci-dai |
View: | 1,816 times |
Download: | 1 times |
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/