SlideShare a Scribd company logo
PojoSR
                             or
(OSGi)
µServices
for
the
rest
of
us



                                           Karl
Pauls




                                                            !"#$%&'&()"*
Dienstag, 25. Oktober 2011
Karl

         • Member
Apache
So?ware
FoundaDon
              • PMC:
Felix,
Sling,
Incubator
              • PPMC:
Ace,
Clerezza,
Celix
         • Fellow
at
Luminis
                                                         Hall
                                                        et al.
                                                                 C re at in g M od ul ar
                                                                                           A pp lic at io ns in J
                                                                                                                    av a




         • Project
Owner
PojoSR



                                               O SGi IN ACTION
         • Co‐Author
of
„OSGi
in
AcDon“                                                 Richard S. Hall
                                                                                            Karl Pauls
                                                                                     Stuart McCulloch
                                                                                        David Savage


         • karl.pauls@luminis.eu                                               FORE WORD BY PETE
                                                                                                 R KRIENS




                (a.k.a.
karlpauls@gmail.com)                                          MANNING




Dienstag, 25. Oktober 2011
Service
OrientaDon


Dienstag, 25. Oktober 2011
PromoDng
a
service‐oriented
interacDon
paSern



                                         !"#$%&"'
                                         +"0%./#1


                              2-34%.5               86*


                              !"#$%&"'   %6/"#7&/    !"#$%&"'
                             (#)$%*"#               +",-"./"#




Dienstag, 25. Oktober 2011
µServices


Dienstag, 25. Oktober 2011
µServices

         • Interface‐based
programming,
but
more
         • Service
Registry
              • Centrally
accessible
              • Browsable
              • NoDficaDons

         • Service
Registry
Benefits
              • Consuming
code
is
in
control
of
provider
selecDon
                   •     But
not
provider
instanDaDon
and
configuraDon

              • Provider
code
is
in
control
of
when
to
provide
              • Promotes
very
loose
coupling
and
late
binding

Dienstag, 25. Oktober 2011
OSGi
(µ)Services



Dienstag, 25. Oktober 2011
OSGi
services


         • OSGi
framework
provides
the
concepts
we

           need
              • Centralized
service
registry
              • Consumer
has
control
over
selecDon
              • Provider
has
control
over
when
to
provide
              • Plus
full‐blown
deployment
and
packaging
modularity

                with
run‐Dme
dynamism


Dienstag, 25. Oktober 2011
OSGi


Dienstag, 25. Oktober 2011
OSGi


         • The
downside
to
OSGi
is
that
it
requires
a

           boSom‐up
commitment
         • You
need
to
convert
all
of
your
code
into

           proper
modules
to
take
advantage
of
services
         • A
top‐down
approach
of
adopDng
services

           can
help
ease
migraDon
to
more
modular

           code


Dienstag, 25. Oktober 2011
OSGi
framework




Dienstag, 25. Oktober 2011
PojoSR



Dienstag, 25. Oktober 2011
What
is
PojoSR?

         • It
largely
removes
the
modularity
layer
from
the

           OSGi
framework


         • Provides
              • A
centralized
service
registry
based
on
OSGi

                API
              • Lifecycle
hooks
for
JAR
files
              • A
“light”
OSGi
framework
for
the
class
path

Dienstag, 25. Oktober 2011
Why
this
approach?


         • OSGi
API
is
a
standard
with
years
of
experience

           behind
it
         • Can
re‐use
OSGi
modules
(a.k.a.
bundles)
and/or

           technology
         • Can
leverage
services
without
having
to

           completely
modularize
first
(i.e.,
top‐down)
         • Provides
a
path
to
full‐blown
modularity


Dienstag, 25. Oktober 2011
Use
Cases


Dienstag, 25. Oktober 2011
MigraDon




Dienstag, 25. Oktober 2011
MigraDon

         • Without
PojoSR
              • Turn
applicaDon
into
one
big
bundle
(jar)
              • Split
into
several
bundles

                   • Fix
problems
                   • Split
into
even
more
bundles
(etc.)
              • Eventually,
start
using
services

                   • Allows
you
to
remove
ugly
hacks
needed
to
fix
problems

         • With
PojoSR
              • Start
using
services
              • Split
into
bundles

Dienstag, 25. Oktober 2011
Use
OSGi
where
you
can‘t

         • OSGi
(lite)
on
Google
App
Engine
using
PojoSR




Dienstag, 25. Oktober 2011
Use
OSGi
where
you
can‘t




         • hSp://vimeo.com/22571224




Dienstag, 25. Oktober 2011
Android




Dienstag, 25. Oktober 2011
Common
discovery
(SPI)




Dienstag, 25. Oktober 2011
Common
discovery
(SPI)




Dienstag, 25. Oktober 2011
Services
and
dependency
injecDon


         • Advantages
when
combined
with
service

           orientaDon
              • Dependency
injecDon
no
longer
needs
global
view
                   • InformaDon
localized
to
just
the
provider/consumer
              • No
longer
restricted
to
a
single
DI
framework
              • Different
DI
frameworks
can
play
together
via
the
service

                registry



Dienstag, 25. Oktober 2011
Usage


Dienstag, 25. Oktober 2011
As
a
Service
Registry




Dienstag, 25. Oktober 2011
As
an
OSGi
„light“
framework




Dienstag, 25. Oktober 2011
Standalone




Dienstag, 25. Oktober 2011
Demo


Dienstag, 25. Oktober 2011
Closing
Remarks


Dienstag, 25. Oktober 2011
Benefits
and
Drawbacks

         • PojoSR
provides
part
of
the
power
of
OSGi

              • in
a
non‐intrusive
way.
              • allows
to
increase
modularity
and
use
µServices
                   • without
first
ridding
an
exisDng
code
base
of
class
loader
hacks
              • Can
run
OSGi
bundles
where
you
can‘t

         • The
drawbacks
are
              • does
not
enforces
module
boundaries
              • does
not
allow
mulDple
versions
of
the
same
package;
does
not

                support
the
Bundle‐ClassPath.

              • But
you
can
use
the
µService
model
to
get
rid
of
the
class
loading

                hacks
over
Dme,
a?er
which
it
will
be
easier
to
move
to
OSGi
and
get

                side
by
side
versioning
and
real
module
boundaries.
Dienstag, 25. Oktober 2011
QuesDons?




                             http://pojosr.googlecode.com




Dienstag, 25. Oktober 2011

More Related Content

PDF
Delivering Policy & Trust to the Hybrid Cloud
PPT
OSGi for In-Vehicle Systems
PPT
Update OSGi Residential Expert Group
PPT
OSGi Alliance Residential Expert Group
PPTX
OSGi Community Update
PDF
OSGi in the Residential Market
PDF
Hilf mir, OBR - Du bist meine letzte Hoffnung!
PDF
OSGi Web Development in Action
Delivering Policy & Trust to the Hybrid Cloud
OSGi for In-Vehicle Systems
Update OSGi Residential Expert Group
OSGi Alliance Residential Expert Group
OSGi Community Update
OSGi in the Residential Market
Hilf mir, OBR - Du bist meine letzte Hoffnung!
OSGi Web Development in Action

Viewers also liked (8)

PDF
OSGi als App-Plattform - Ein Ausflug durch den Security-Layer
PDF
OSGi IoT Demo & Contest 2015
PDF
Gfk Smart Home Studie
PPTX
JavaFX 2 and Scala - Like Milk and Cookies (33rd Degrees)
ODP
Vorstellung des Riena Patform Framework am Beispiel einer OSGi-ServerAdminist...
PDF
Deutsche Telekom Smarthome - Eine Einführung
PDF
n-pat: Modulare Anwendungsplattform mit Smartcards
PDF
SXSW 2016 takeaways
OSGi als App-Plattform - Ein Ausflug durch den Security-Layer
OSGi IoT Demo & Contest 2015
Gfk Smart Home Studie
JavaFX 2 and Scala - Like Milk and Cookies (33rd Degrees)
Vorstellung des Riena Patform Framework am Beispiel einer OSGi-ServerAdminist...
Deutsche Telekom Smarthome - Eine Einführung
n-pat: Modulare Anwendungsplattform mit Smartcards
SXSW 2016 takeaways
Ad

Similar to PojoSR or OSGi (µ)Services For the Rest of Us (20)

PDF
µServices for the rest of us - karl pauls
KEY
Polyglot OSGi
PDF
What's new in the OSGi 4.2 Enterprise Release
PDF
An introduction to OSGi
PPT
OSGi patterns v1.0.11
PDF
Dynamic and modular Web Applications with Equinox and Vaadin
PDF
Karaf ee-apachecon eu-2012
PPTX
Communication Inter-Module with OSGi (DX 7.2) - Developers Meetup - February ...
PDF
SMILA - The Integration Framework
PDF
Benefits of OSGi in Practise
PDF
OSGi Mars World in Action
PDF
Introduction To OSGi
PDF
Using OSGi to Build Better Software
PDF
JavaOne 2012, OSGi for the Earthlings: Meet Eclipse Libra
PDF
Weld-OSGi, injecting easiness in OSGi
PDF
Modularity with OSGi
PPTX
Where and when to use the Oracle Service Bus (OSB)
PDF
Introduction to OSGi
PDF
Going Native With The OSGi Service Layer - Sascha Zelzer
PDF
OSGi and Java EE in GlassFish - Tech Days 2010 India
µServices for the rest of us - karl pauls
Polyglot OSGi
What's new in the OSGi 4.2 Enterprise Release
An introduction to OSGi
OSGi patterns v1.0.11
Dynamic and modular Web Applications with Equinox and Vaadin
Karaf ee-apachecon eu-2012
Communication Inter-Module with OSGi (DX 7.2) - Developers Meetup - February ...
SMILA - The Integration Framework
Benefits of OSGi in Practise
OSGi Mars World in Action
Introduction To OSGi
Using OSGi to Build Better Software
JavaOne 2012, OSGi for the Earthlings: Meet Eclipse Libra
Weld-OSGi, injecting easiness in OSGi
Modularity with OSGi
Where and when to use the Oracle Service Bus (OSB)
Introduction to OSGi
Going Native With The OSGi Service Layer - Sascha Zelzer
OSGi and Java EE in GlassFish - Tech Days 2010 India
Ad

Recently uploaded (20)

PDF
Review of recent advances in non-invasive hemoglobin estimation
PDF
Spectral efficient network and resource selection model in 5G networks
PPT
Teaching material agriculture food technology
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PDF
NewMind AI Weekly Chronicles - August'25-Week II
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PDF
Encapsulation_ Review paper, used for researhc scholars
PPTX
ACSFv1EN-58255 AWS Academy Cloud Security Foundations.pptx
PPTX
Big Data Technologies - Introduction.pptx
PDF
A comparative analysis of optical character recognition models for extracting...
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
PDF
Empathic Computing: Creating Shared Understanding
PDF
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
PDF
Encapsulation theory and applications.pdf
PDF
cuic standard and advanced reporting.pdf
PPTX
sap open course for s4hana steps from ECC to s4
PDF
gpt5_lecture_notes_comprehensive_20250812015547.pdf
PDF
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
PPT
“AI and Expert System Decision Support & Business Intelligence Systems”
Review of recent advances in non-invasive hemoglobin estimation
Spectral efficient network and resource selection model in 5G networks
Teaching material agriculture food technology
Diabetes mellitus diagnosis method based random forest with bat algorithm
NewMind AI Weekly Chronicles - August'25-Week II
Advanced methodologies resolving dimensionality complications for autism neur...
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
Encapsulation_ Review paper, used for researhc scholars
ACSFv1EN-58255 AWS Academy Cloud Security Foundations.pptx
Big Data Technologies - Introduction.pptx
A comparative analysis of optical character recognition models for extracting...
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
Empathic Computing: Creating Shared Understanding
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
Encapsulation theory and applications.pdf
cuic standard and advanced reporting.pdf
sap open course for s4hana steps from ECC to s4
gpt5_lecture_notes_comprehensive_20250812015547.pdf
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
“AI and Expert System Decision Support & Business Intelligence Systems”

PojoSR or OSGi (µ)Services For the Rest of Us

  • 1. PojoSR or
(OSGi)
µServices
for
the
rest
of
us Karl
Pauls !"#$%&'&()"* Dienstag, 25. Oktober 2011
  • 2. Karl • Member
Apache
So?ware
FoundaDon • PMC:
Felix,
Sling,
Incubator • PPMC:
Ace,
Clerezza,
Celix • Fellow
at
Luminis Hall et al. C re at in g M od ul ar A pp lic at io ns in J av a • Project
Owner
PojoSR O SGi IN ACTION • Co‐Author
of
„OSGi
in
AcDon“ Richard S. Hall Karl Pauls Stuart McCulloch David Savage • karl.pauls@luminis.eu FORE WORD BY PETE R KRIENS (a.k.a.
karlpauls@gmail.com) MANNING Dienstag, 25. Oktober 2011
  • 4. PromoDng
a
service‐oriented
interacDon
paSern !"#$%&"' +"0%./#1 2-34%.5 86* !"#$%&"' %6/"#7&/ !"#$%&"' (#)$%*"# +",-"./"# Dienstag, 25. Oktober 2011
  • 6. µServices • Interface‐based
programming,
but
more • Service
Registry • Centrally
accessible • Browsable • NoDficaDons • Service
Registry
Benefits • Consuming
code
is
in
control
of
provider
selecDon • But
not
provider
instanDaDon
and
configuraDon • Provider
code
is
in
control
of
when
to
provide • Promotes
very
loose
coupling
and
late
binding Dienstag, 25. Oktober 2011
  • 8. OSGi
services • OSGi
framework
provides
the
concepts
we
 need • Centralized
service
registry • Consumer
has
control
over
selecDon • Provider
has
control
over
when
to
provide • Plus
full‐blown
deployment
and
packaging
modularity
 with
run‐Dme
dynamism Dienstag, 25. Oktober 2011
  • 10. OSGi • The
downside
to
OSGi
is
that
it
requires
a
 boSom‐up
commitment • You
need
to
convert
all
of
your
code
into
 proper
modules
to
take
advantage
of
services • A
top‐down
approach
of
adopDng
services
 can
help
ease
migraDon
to
more
modular
 code Dienstag, 25. Oktober 2011
  • 13. What
is
PojoSR? • It
largely
removes
the
modularity
layer
from
the
 OSGi
framework • Provides • A
centralized
service
registry
based
on
OSGi
 API • Lifecycle
hooks
for
JAR
files • A
“light”
OSGi
framework
for
the
class
path Dienstag, 25. Oktober 2011
  • 14. Why
this
approach? • OSGi
API
is
a
standard
with
years
of
experience
 behind
it • Can
re‐use
OSGi
modules
(a.k.a.
bundles)
and/or
 technology • Can
leverage
services
without
having
to
 completely
modularize
first
(i.e.,
top‐down) • Provides
a
path
to
full‐blown
modularity Dienstag, 25. Oktober 2011
  • 17. MigraDon • Without
PojoSR • Turn
applicaDon
into
one
big
bundle
(jar) • Split
into
several
bundles
 • Fix
problems • Split
into
even
more
bundles
(etc.) • Eventually,
start
using
services
 • Allows
you
to
remove
ugly
hacks
needed
to
fix
problems • With
PojoSR • Start
using
services • Split
into
bundles
 Dienstag, 25. Oktober 2011
  • 18. Use
OSGi
where
you
can‘t • OSGi
(lite)
on
Google
App
Engine
using
PojoSR Dienstag, 25. Oktober 2011
  • 19. Use
OSGi
where
you
can‘t • hSp://vimeo.com/22571224 Dienstag, 25. Oktober 2011
  • 23. Services
and
dependency
injecDon • Advantages
when
combined
with
service
 orientaDon • Dependency
injecDon
no
longer
needs
global
view • InformaDon
localized
to
just
the
provider/consumer • No
longer
restricted
to
a
single
DI
framework • Different
DI
frameworks
can
play
together
via
the
service
 registry Dienstag, 25. Oktober 2011
  • 30. Benefits
and
Drawbacks • PojoSR
provides
part
of
the
power
of
OSGi
 • in
a
non‐intrusive
way. • allows
to
increase
modularity
and
use
µServices • without
first
ridding
an
exisDng
code
base
of
class
loader
hacks • Can
run
OSGi
bundles
where
you
can‘t • The
drawbacks
are • does
not
enforces
module
boundaries • does
not
allow
mulDple
versions
of
the
same
package;
does
not
 support
the
Bundle‐ClassPath.
 • But
you
can
use
the
µService
model
to
get
rid
of
the
class
loading
 hacks
over
Dme,
a?er
which
it
will
be
easier
to
move
to
OSGi
and
get
 side
by
side
versioning
and
real
module
boundaries. Dienstag, 25. Oktober 2011
  • 31. QuesDons? http://pojosr.googlecode.com Dienstag, 25. Oktober 2011