SlideShare une entreprise Scribd logo
1  sur  31
Télécharger pour lire hors ligne
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

Contenu connexe

En vedette

OSGi als App-Plattform - Ein Ausflug durch den Security-Layer
OSGi als App-Plattform - Ein Ausflug durch den Security-Layer	OSGi als App-Plattform - Ein Ausflug durch den Security-Layer
OSGi als App-Plattform - Ein Ausflug durch den Security-Layer
OSGiUsers
 
Vorstellung des Riena Patform Framework am Beispiel einer OSGi-ServerAdminist...
Vorstellung des Riena Patform Framework am Beispiel einer OSGi-ServerAdminist...Vorstellung des Riena Patform Framework am Beispiel einer OSGi-ServerAdminist...
Vorstellung des Riena Patform Framework am Beispiel einer OSGi-ServerAdminist...
OSGiUsers
 
Deutsche Telekom Smarthome - Eine Einführung
Deutsche Telekom Smarthome - Eine EinführungDeutsche Telekom Smarthome - Eine Einführung
Deutsche Telekom Smarthome - Eine Einführung
OSGiUsers
 
n-pat: Modulare Anwendungsplattform mit Smartcards
n-pat: Modulare Anwendungsplattform mit Smartcardsn-pat: Modulare Anwendungsplattform mit Smartcards
n-pat: Modulare Anwendungsplattform mit Smartcards
OSGiUsers
 

En vedette (8)

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

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

How and Why you can and should Participate in Open Source Projects (AMIS, Sof...
How and Why you can and should Participate in Open Source Projects (AMIS, Sof...How and Why you can and should Participate in Open Source Projects (AMIS, Sof...
How and Why you can and should Participate in Open Source Projects (AMIS, Sof...
Lucas Jellema
 
µServices for the rest of us - karl pauls
µServices for the rest of us - karl paulsµServices for the rest of us - karl pauls
µServices for the rest of us - karl pauls
mfrancis
 

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

Quick Overview for Partners
Quick Overview for PartnersQuick Overview for Partners
Quick Overview for Partners
 
Stackato
StackatoStackato
Stackato
 
MySQL Breakfast in London - 24 June 2010
MySQL Breakfast in London - 24 June 2010MySQL Breakfast in London - 24 June 2010
MySQL Breakfast in London - 24 June 2010
 
Stackato v4
Stackato v4Stackato v4
Stackato v4
 
Stackato v6
Stackato v6Stackato v6
Stackato v6
 
UI5 Tooling - Open and Extensible
UI5 Tooling - Open and ExtensibleUI5 Tooling - Open and Extensible
UI5 Tooling - Open and Extensible
 
Into the Land of lambda, One Programmer's Journey Into Functional Programming
Into the Land of lambda, One Programmer's Journey Into Functional ProgrammingInto the Land of lambda, One Programmer's Journey Into Functional Programming
Into the Land of lambda, One Programmer's Journey Into Functional Programming
 
Stackato v5
Stackato v5Stackato v5
Stackato v5
 
Protect Your Drupal Site Against Common Security Attacks
Protect Your Drupal Site Against Common Security AttacksProtect Your Drupal Site Against Common Security Attacks
Protect Your Drupal Site Against Common Security Attacks
 
OpenStack in the Enterprise - NJ VMUG June 9, 2015 - Melissa Palmer
OpenStack in the Enterprise - NJ VMUG June 9, 2015 - Melissa PalmerOpenStack in the Enterprise - NJ VMUG June 9, 2015 - Melissa Palmer
OpenStack in the Enterprise - NJ VMUG June 9, 2015 - Melissa Palmer
 
Transforming Enterprise Release Management in Elastic Beanstalk using Jenkins...
Transforming Enterprise Release Management in Elastic Beanstalk using Jenkins...Transforming Enterprise Release Management in Elastic Beanstalk using Jenkins...
Transforming Enterprise Release Management in Elastic Beanstalk using Jenkins...
 
Stackato v3
Stackato v3Stackato v3
Stackato v3
 
DevOps by examples @ devopsheroes 2016
DevOps by examples @ devopsheroes 2016DevOps by examples @ devopsheroes 2016
DevOps by examples @ devopsheroes 2016
 
Oscon2011 tutorial
Oscon2011 tutorialOscon2011 tutorial
Oscon2011 tutorial
 
Cloud native
Cloud nativeCloud native
Cloud native
 
Kuali OLE: Enabling Choices for Libraries
Kuali OLE: Enabling Choices for LibrariesKuali OLE: Enabling Choices for Libraries
Kuali OLE: Enabling Choices for Libraries
 
How and Why you can and should Participate in Open Source Projects (AMIS, Sof...
How and Why you can and should Participate in Open Source Projects (AMIS, Sof...How and Why you can and should Participate in Open Source Projects (AMIS, Sof...
How and Why you can and should Participate in Open Source Projects (AMIS, Sof...
 
ScrumDay 2014 - Développer des produits avec des équipes distribuées - Alexis...
ScrumDay 2014 - Développer des produits avec des équipes distribuées - Alexis...ScrumDay 2014 - Développer des produits avec des équipes distribuées - Alexis...
ScrumDay 2014 - Développer des produits avec des équipes distribuées - Alexis...
 
Enabling access to Linked Media with SPARQL-MM
Enabling access to Linked Media with SPARQL-MMEnabling access to Linked Media with SPARQL-MM
Enabling access to Linked Media with SPARQL-MM
 
µServices for the rest of us - karl pauls
µServices for the rest of us - karl paulsµServices for the rest of us - karl pauls
µServices for the rest of us - karl pauls
 

Dernier

Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
vu2urc
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
Enterprise Knowledge
 

Dernier (20)

Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 

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