SlideShare ist ein Scribd-Unternehmen logo
1 von 39
Downloaden Sie, um offline zu lesen
Dynamic  deployment  
             with  Apache  Felix

                           Marcel  Offermans




Friday, November 6, 2009
Friday, November 6, 2009
Marcel  Offermans


        • commi0er  and  PMC  member  at  Apache  Felix
        • commi0er  at  Apache  ACE
        • so<ware  architect  at  luminis  technologies


        • marcel.offermans@luminis.nl


Friday, November 6, 2009
Agenda



        • The  case  for  OSGi
        • Dynamic  Deployment  with  Apache  ACE
        • Demo,  ACE  in  AcIon
        • Wrapup



Friday, November 6, 2009
The  case  for  OSGi



        • Paint  ApplicaIon
        • wri0en  in  Java
        • sold  to  customers




Friday, November 6, 2009
“Specials”  that  fork  your  code




Friday, November 6, 2009
ConCnuous  builds  taking  a  long  Cme




Friday, November 6, 2009
Code  reflects  the  architecture?




Friday, November 6, 2009
How  hard  is  it  to  change  something?




Friday, November 6, 2009
Re-­‐use:  copy/paste




Friday, November 6, 2009
Re-­‐use:  Object  Oriented




Friday, November 6, 2009
Re-­‐use:  Component  Based




Friday, November 6, 2009
ParCConing  your  applicaCon


        • minimize  dependencies
        • consider  rate  of  change
        • minimize  complexity
        • maximize  architected  flexibility
        • promote  reuse
        • improve  testability


Friday, November 6, 2009
Designing  with  services

                      >)=9)%)%                                                      A(..0=9




                       28"=4?
                                                                 C-       (,)=                203)                =)8
                       #0=302




        @07(;'                               &<0,)                       -.,(%')%                                *+,(%')%




         4%0,<             2:;0%)   #"%#6)           '%"0=46)              234                        /0#)1(($              !"#$%




     A(=54;%0B(=                                                 @(4                          &'(%)                         *3)='




         #(=54                                                  6(44)%           56)272').            8)1903                )3)='




Friday, November 6, 2009
Designing  with  services

                      >)=9)%)%                                                                  A(..0=9
                      %)=9)%)%                                                                  #(..0=9



                       28"=4?
                                                                       C-              (,)=             203)                 =)8
                       #0=302
                    28"=4D#0=302                                  28"=4D;"      28"=4D#.9D(,)=     28"=4D#.9D203)         28"=4D#.9D=)8
                                                               28"=4D#(='%(62


         @07(;'                                    &<0,)                             -.,(%')%                                  *+,(%')%
         607(;'                                    2<0,)                             ".,(%')%                                  )+,(%')%



         4%0,<            2:;0%)       #"%#6)               '%"0=46)                   234                          /0#)1(($               !"#$%
    607(;'D4%0,<     2<0,)D2:;0%)   2<0,)D#"%#6)           2<0,)D'%"0=46)            ".,D234                      )+,DE(($                ".,D!"#$%



      A(=54;%0B(=                                                     @(4                                 &'(%)                         *3)='
         (24"D#0                                                    (24"D6(4                              2'(%)                       (24"D)3)='



         #(=54                                                       6(44)%                 56)272').           8)1903                    )3)='
        /)6"+D#0                                                    /)6"+D6(4              2'(%)D/2           2'(%)D8)1903                /)6"+D)3)='




Friday, November 6, 2009
Designing  with  services

                      %)=9)%)%                                                                    #(..0=9
                      >)=9)%)%                                                                    A(..0=9
                      %)=9)%)%                                                                    #(..0=9

                                            ;"                                                            #(..0=92
                       28"=4?
                                                                         C-              (,)=              203)                  =)8
                       #0=302
                    28"=4D#0=302                                    28"=4D;"      28"=4D#.9D(,)=      28"=4D#.9D203)          28"=4D#.9D=)8
                                                                 28"=4D#(='%(62

                            9%08"=4                  &<0,)                                                   0,"D"(
         @07(;'                                                                        -.,(%')%                                    *+,(%')%
         607(;'                                      2<0,)                             ".,(%')%                                    )+,(%')%

       4%0,<                            2<0,)2                                           234                                     )+,(%')%2
         4%0,<            2:;0%)         #"%#6)               '%"0=46)                   234                            /0#)1(($               !"#$%
    607(;'D4%0,<     2<0,)D2:;0%)     2<0,)D#"%#6)           2<0,)D'%"0=46)            ".,D234                        )+,DE(($                ".,D!"#$%


                                                                      0,"D(24"
     A(=54;%0B(=                                                        @(4                                  &'(%)                          *3)='
        (24"D#0                                                       (24"D6(4                               2'(%)                        (24"D)3)='


      #(=5409."=                                                         6(4                   56)2'(%)                 8)1903                  )3)='
         #(=54                                                         6(44)%                    56)272').          8)1903                    )3)='
        /)6"+D#0                                                      /)6"+D6(4                 2'(%)D/2          2'(%)D8)1903                /)6"+D)3)='




Friday, November 6, 2009
The  Case  for  ACE

        • Started  in  incubator  on  april  24th  2009
        • So<ware  distribuIon  framework  
          based  on  OSGi
        • 7  commi0ers
        • working  codebase
        • no  release  yet
        • h0p://incubator.apache.org/ace/

Friday, November 6, 2009
Deployment



                      !"#$"%&%'()                 !"#$%&'(


                      !"#$"%&%'(*    !"#$%&'"()   !"#$%&')


                       !"#$"%&%'(!                !"#$%&'*




Friday, November 6, 2009
Keeping  the  history
                                                  last year
                                 !"#$"%&%'()   +,-.&'()
                                                     last month
                              !"#$"%&%'()
                                 !"#$"%&%'(*      +,-.&'()
                                                             last week
                           !"#$"%&%'()
                              !"#$"%&%'(*
                                                     !"#$%&'(
                                               +,-.&'(!
                                                  +,-.&'(*               now
                      !"#$"%&%'()                         !"#$%&'(
                           !"#$"%&%'(*              !"#$%&')
                                                  +,-.&'(!


                       !"#$"%&%'(*
                           !"#$"%&%'(!
                                                          !"#$%&')
                                                     !"#$%&'*


                       !"#$"%&%'(!                        !"#$%&'*




Friday, November 6, 2009
Why?


        • Automate  deployment
        • Insight  into  who  uses  what
        • History  of  each  system
        • Consistent  development,  tesIng,  producIon
        • Basis  for  several  possible  extensions


Friday, November 6, 2009
Topology

                                                         !"#$%!
                                                     0"&"$%0%&!.
                                                        "$%&!


                                                         !"#$%!
           /2,%&!
                           *#(+,-,(&,&$.             0"&"$%0%&!.
                                           &%!'(#)
                              -%#+%#                    "$%&!


                                                         !"#$%!
                                                     0"&"$%0%&!.
                                                        "$%&!
                           /(0*(&%&!.
                            #%*(-,!(#1




Friday, November 6, 2009
High  level  overview



                           !"#"$!"$%&'
                                            !"#,-&("$+
                           ()$)*"("$+



                                     .""!/)%0




Friday, November 6, 2009
Dependency  Management




        • Organizing  components
        • Mapping  them  to  targets




Friday, November 6, 2009
Organizing  components

        • group  components:  makes  them  manageable
        • two  levels:  group  and  license
        • Analogy:  IKEA  catalog
        • data  is  kept  in  “store  repository”

                                               !"#$%&'%(#)*"#$+

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




Friday, November 6, 2009
Mapping  them  onto  targets


        • mapping  licenses  to  targets
        • someImes  done  by  an  external  system
        • data  kept  in  “license  repository”

                                               !"#$%&$'($)*&"+*,-

                                           !"#$%&$            '()*$+




Friday, November 6, 2009
User  Interface

        • user  retrieves,  
        • modifies  locally  and  
        • stores  data  on  server




Friday, November 6, 2009
Deployment

        • list  of  targets
            • list  of  versions  per  target
                 • list  of  components  per  version

        • management  agent

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

                                                        !"#$%&         '()*(+%+&




Friday, November 6, 2009
Deployment  Repository


          ',*-&'(          )&*(+"%(                 !"#$"%&%'(
                              2       1"#$"%&%'/0   !"#$"%&%'()
                              3       1"#$"%&%'/0   !"#$"%&%'()   !"#$"%&%'(!
        .,*-&'/0
                              4       1"#$"%&%'/0   !"#$"%&%'(!   !"#$"%&%'(*
                              5       1"#$"%&%'/1   !"#$"%&%'(*

                              2       1"#$"%&%'/6   !"#$"%&%'(*
         .,*-&'/6
                              3       1"#$"%&%'/0   !"#$"%&%'()   !"#$"%&%'(*




Friday, November 6, 2009
Management  Agent

        • manages  life  cycle  of  bundles
          BundleContext
        • controls  package  sharing  policies
          PackageAdmin
        • controls  starIng/stopping  order
          StartLevel                             !"#$%"&'($)&%*+,-./'0
                                                 1/'&%"2&)$.$),-$/3
                                                 45&%!"#$%6++$,3)&



        • implements  a  security  policy        7&+&,8&%9:%;&'8$/3%9<=
                                                 >?3&%=@@A




          Condi7onalPermissionAdmin

Friday, November 6, 2009
Management  Agent


                                !"#"$%!%#&'"$%#&

                            *'.#"/0#,        '('.#


                           "#10)-2#$34
                                           (/"!340)6
                              3(*5


                           !"#$%&'(%)$     "!*')+#,-




Friday, November 6, 2009
Deployment  Admin

        • deployment  packages
        • versioned  set  of  arIfacts
        • transacIonal  install/update
        • fix  packages  provide  deltas
        • signing  makes  them  secure
        • extensible  through  resource  processors
        • AutoConfig  defines  configuraIon  admin  data

Friday, November 6, 2009
From  dependency  to  deployment




               !"#$%&'%(#)*"#$+                     ,*-%.)%&'%(#)*"#$+           /%(0#+1%."&'%(#)*"#$+

 !"#$"%&%'          ,-".$         ()*&%+&
                                            +   ()*&%+&            /0-1&'
                                                                            =   /0-1&'         !"#$"%&%'




Friday, November 6, 2009
Feedback


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

                           012,!.                                             012,!.
                            3($                                                3($

   !=#".%@A*?B*-%45(%23-'+*,C%151*%4521-
     $"#$E%;21-<*%$"%,+533*-
   !:#".
   !D#".!"#$"%&'()*+%,+'(+*-
     $"#$9                                                   !"#$"%&'()*+%,+'(+*-
   $E#".!"#$.%/+'(01)%23-'+*%4(56%7*(,851%9%+5%:
     $"#.9                                                   !"#$.%/+'(01)%23-'+*%4(56%7*(,851%9%+5%:
   $!#".!"#$.%;21-<*%"=%23-'+*-
     E$#$$                                                   !"#$.%;21-<*%"=%23-'+*-
        !"#$9%>3-'+*%+5%7*(,851%:%,2??**-*-
     E9#$$                                                   !"#$9%>3-'+*%+5%7*(,851%:%,2??**-*-
        !.#$9%&'()*+%,+533*-                                 !.#$9%&'()*+%,+533*-




Friday, November 6, 2009
Demo




Friday, November 6, 2009
Demo




Friday, November 6, 2009
Demo




Friday, November 6, 2009
Demo




Friday, November 6, 2009
Wrapup


        • Apache  ACE  is  incubaIng
        • Take  it  for  a  test-­‐drive!
        • Looking  for  contribuIons:
            • Apache  Felix  Karaf
            • Maven  /  Nexus  repository
            • Kalumet,  JEE  auto  deployment


Friday, November 6, 2009
QuesCons?

                               ?
        ?                              ? ?      ?
                           ?
                                   ?           ? ?
        ?
                                           ?    ?

                     ?         ?       ?
                                                    ?
Friday, November 6, 2009

Weitere ähnliche Inhalte

Was ist angesagt?

Kompendium DTP. Adobe Photoshop, Illustrator, InDesign i Acrobat w praktyce
Kompendium DTP. Adobe Photoshop, Illustrator, InDesign i Acrobat w praktyceKompendium DTP. Adobe Photoshop, Illustrator, InDesign i Acrobat w praktyce
Kompendium DTP. Adobe Photoshop, Illustrator, InDesign i Acrobat w praktyceWydawnictwo Helion
 
The 3Ps of Managed Network Services
The 3Ps of Managed Network ServicesThe 3Ps of Managed Network Services
The 3Ps of Managed Network ServicesReadWrite
 
Indian Wine Market Report - 2011
Indian Wine Market Report - 2011Indian Wine Market Report - 2011
Indian Wine Market Report - 2011david_singer
 
Ludo mini project in c++
Ludo mini project in c++Ludo mini project in c++
Ludo mini project in c++Mauryasuraj98
 
The Ring programming language version 1.5.2 book - Part 66 of 181
The Ring programming language version 1.5.2 book - Part 66 of 181The Ring programming language version 1.5.2 book - Part 66 of 181
The Ring programming language version 1.5.2 book - Part 66 of 181Mahmoud Samir Fayed
 
The application for spanish on line gaming licenses - main legal, economic, t...
The application for spanish on line gaming licenses - main legal, economic, t...The application for spanish on line gaming licenses - main legal, economic, t...
The application for spanish on line gaming licenses - main legal, economic, t...Market Engel SAS
 
Al Fazl International Weekly 14 August 2015
Al Fazl International Weekly 14 August 2015Al Fazl International Weekly 14 August 2015
Al Fazl International Weekly 14 August 2015muzaffertahir9
 
Wrangle 2016: (Lightning Talk) FizzBuzz in TensorFlow
Wrangle 2016: (Lightning Talk) FizzBuzz in TensorFlowWrangle 2016: (Lightning Talk) FizzBuzz in TensorFlow
Wrangle 2016: (Lightning Talk) FizzBuzz in TensorFlowWrangleConf
 
PHP cart
PHP cartPHP cart
PHP carttumetr1
 
PHP webboard
PHP webboardPHP webboard
PHP webboardtumetr1
 
밑바닥부터 시작하는 의료 AI
밑바닥부터 시작하는 의료 AI밑바닥부터 시작하는 의료 AI
밑바닥부터 시작하는 의료 AINAVER Engineering
 
PHP and MySQL Tips and tricks, DC 2007
PHP and MySQL Tips and tricks, DC 2007PHP and MySQL Tips and tricks, DC 2007
PHP and MySQL Tips and tricks, DC 2007Damien Seguy
 
Al Fazl International May 30 2014
Al Fazl International May 30 2014Al Fazl International May 30 2014
Al Fazl International May 30 2014muzaffertahir9
 
The Ring programming language version 1.7 book - Part 63 of 196
The Ring programming language version 1.7 book - Part 63 of 196The Ring programming language version 1.7 book - Part 63 of 196
The Ring programming language version 1.7 book - Part 63 of 196Mahmoud Samir Fayed
 
Functional Gradient Boosting based on Residual Network Perception
Functional Gradient Boosting based on Residual Network PerceptionFunctional Gradient Boosting based on Residual Network Perception
Functional Gradient Boosting based on Residual Network PerceptionAtsushi Nitanda
 

Was ist angesagt? (20)

Kompendium DTP. Adobe Photoshop, Illustrator, InDesign i Acrobat w praktyce
Kompendium DTP. Adobe Photoshop, Illustrator, InDesign i Acrobat w praktyceKompendium DTP. Adobe Photoshop, Illustrator, InDesign i Acrobat w praktyce
Kompendium DTP. Adobe Photoshop, Illustrator, InDesign i Acrobat w praktyce
 
The 3Ps of Managed Network Services
The 3Ps of Managed Network ServicesThe 3Ps of Managed Network Services
The 3Ps of Managed Network Services
 
Indian Wine Market Report - 2011
Indian Wine Market Report - 2011Indian Wine Market Report - 2011
Indian Wine Market Report - 2011
 
Ludo mini project in c++
Ludo mini project in c++Ludo mini project in c++
Ludo mini project in c++
 
Dec10 tuesday conversation_idelarcor
Dec10 tuesday conversation_idelarcorDec10 tuesday conversation_idelarcor
Dec10 tuesday conversation_idelarcor
 
Central Stats
Central Stats Central Stats
Central Stats
 
The Ring programming language version 1.5.2 book - Part 66 of 181
The Ring programming language version 1.5.2 book - Part 66 of 181The Ring programming language version 1.5.2 book - Part 66 of 181
The Ring programming language version 1.5.2 book - Part 66 of 181
 
The application for spanish on line gaming licenses - main legal, economic, t...
The application for spanish on line gaming licenses - main legal, economic, t...The application for spanish on line gaming licenses - main legal, economic, t...
The application for spanish on line gaming licenses - main legal, economic, t...
 
Al Fazl International Weekly 14 August 2015
Al Fazl International Weekly 14 August 2015Al Fazl International Weekly 14 August 2015
Al Fazl International Weekly 14 August 2015
 
Wrangle 2016: (Lightning Talk) FizzBuzz in TensorFlow
Wrangle 2016: (Lightning Talk) FizzBuzz in TensorFlowWrangle 2016: (Lightning Talk) FizzBuzz in TensorFlow
Wrangle 2016: (Lightning Talk) FizzBuzz in TensorFlow
 
PHP cart
PHP cartPHP cart
PHP cart
 
PHP webboard
PHP webboardPHP webboard
PHP webboard
 
Graphical representation of Stack
Graphical representation of StackGraphical representation of Stack
Graphical representation of Stack
 
밑바닥부터 시작하는 의료 AI
밑바닥부터 시작하는 의료 AI밑바닥부터 시작하는 의료 AI
밑바닥부터 시작하는 의료 AI
 
Groovy kind of test
Groovy kind of testGroovy kind of test
Groovy kind of test
 
PHP and MySQL Tips and tricks, DC 2007
PHP and MySQL Tips and tricks, DC 2007PHP and MySQL Tips and tricks, DC 2007
PHP and MySQL Tips and tricks, DC 2007
 
Al Fazl International May 30 2014
Al Fazl International May 30 2014Al Fazl International May 30 2014
Al Fazl International May 30 2014
 
The Ring programming language version 1.7 book - Part 63 of 196
The Ring programming language version 1.7 book - Part 63 of 196The Ring programming language version 1.7 book - Part 63 of 196
The Ring programming language version 1.7 book - Part 63 of 196
 
Functional Gradient Boosting based on Residual Network Perception
Functional Gradient Boosting based on Residual Network PerceptionFunctional Gradient Boosting based on Residual Network Perception
Functional Gradient Boosting based on Residual Network Perception
 
Creative Visions Foundation Overview
Creative Visions Foundation OverviewCreative Visions Foundation Overview
Creative Visions Foundation Overview
 

Andere mochten auch

Microservices OSGi-running-with-apache-karaf
Microservices OSGi-running-with-apache-karafMicroservices OSGi-running-with-apache-karaf
Microservices OSGi-running-with-apache-karafAchim Nierbeck
 
ApacheCon EU 2014: Enterprise Development with Apache Karaf
ApacheCon EU 2014: Enterprise Development with Apache KarafApacheCon EU 2014: Enterprise Development with Apache Karaf
ApacheCon EU 2014: Enterprise Development with Apache KarafAchim Nierbeck
 
Modular Architectures using Micro Services
Modular Architectures using Micro ServicesModular Architectures using Micro Services
Modular Architectures using Micro ServicesMarcel Offermans
 
Apache Karaf - Building OSGi applications on Apache Karaf - T Frank & A Grzesik
Apache Karaf - Building OSGi applications on Apache Karaf - T Frank & A GrzesikApache Karaf - Building OSGi applications on Apache Karaf - T Frank & A Grzesik
Apache Karaf - Building OSGi applications on Apache Karaf - T Frank & A Grzesikmfrancis
 
OSGi ecosystems compared on Apache Karaf - Christian Schneider
OSGi ecosystems compared on Apache Karaf - Christian SchneiderOSGi ecosystems compared on Apache Karaf - Christian Schneider
OSGi ecosystems compared on Apache Karaf - Christian Schneidermfrancis
 

Andere mochten auch (8)

Microservices OSGi-running-with-apache-karaf
Microservices OSGi-running-with-apache-karafMicroservices OSGi-running-with-apache-karaf
Microservices OSGi-running-with-apache-karaf
 
Apache Felix Web Console
Apache Felix Web ConsoleApache Felix Web Console
Apache Felix Web Console
 
ApacheCon EU 2014: Enterprise Development with Apache Karaf
ApacheCon EU 2014: Enterprise Development with Apache KarafApacheCon EU 2014: Enterprise Development with Apache Karaf
ApacheCon EU 2014: Enterprise Development with Apache Karaf
 
Beyond OSGi Software Architecture
Beyond OSGi Software ArchitectureBeyond OSGi Software Architecture
Beyond OSGi Software Architecture
 
De leukste Bug
De leukste BugDe leukste Bug
De leukste Bug
 
Modular Architectures using Micro Services
Modular Architectures using Micro ServicesModular Architectures using Micro Services
Modular Architectures using Micro Services
 
Apache Karaf - Building OSGi applications on Apache Karaf - T Frank & A Grzesik
Apache Karaf - Building OSGi applications on Apache Karaf - T Frank & A GrzesikApache Karaf - Building OSGi applications on Apache Karaf - T Frank & A Grzesik
Apache Karaf - Building OSGi applications on Apache Karaf - T Frank & A Grzesik
 
OSGi ecosystems compared on Apache Karaf - Christian Schneider
OSGi ecosystems compared on Apache Karaf - Christian SchneiderOSGi ecosystems compared on Apache Karaf - Christian Schneider
OSGi ecosystems compared on Apache Karaf - Christian Schneider
 

Ähnlich wie Dynamic Deployment With Apache Felix

DiplomadoIABMex_Equipo6
DiplomadoIABMex_Equipo6DiplomadoIABMex_Equipo6
DiplomadoIABMex_Equipo6jorgemacias23
 
JQuery In Rails
JQuery In RailsJQuery In Rails
JQuery In RailsLouie Zhao
 
Baby steps and pervasive feedback agile2012
Baby steps and pervasive feedback agile2012Baby steps and pervasive feedback agile2012
Baby steps and pervasive feedback agile2012drewz lin
 
The Lean Startup - simplified
The Lean Startup - simplifiedThe Lean Startup - simplified
The Lean Startup - simplifiedStefano Bernardi
 
Brand & UX: Toward a New Interpretation (Version 2)
Brand & UX: Toward a New Interpretation (Version 2)Brand & UX: Toward a New Interpretation (Version 2)
Brand & UX: Toward a New Interpretation (Version 2)Mark Badger
 
Targeted investment in livestock research helps achieve the Sustainable Devel...
Targeted investment in livestock research helps achieve the Sustainable Devel...Targeted investment in livestock research helps achieve the Sustainable Devel...
Targeted investment in livestock research helps achieve the Sustainable Devel...ILRI
 
Interaction design
Interaction designInteraction design
Interaction designfeifei2011
 
20110611 expanded intro-to_puppet_for_self
20110611 expanded intro-to_puppet_for_self20110611 expanded intro-to_puppet_for_self
20110611 expanded intro-to_puppet_for_selfgarrett honeycutt
 
Наибольшая общая мера: 2500 лет
Наибольшая общая мера: 2500 летНаибольшая общая мера: 2500 лет
Наибольшая общая мера: 2500 летsixtyone
 
Юрий Буянов «Squeryl — ORM с человеческим лицом»
Юрий Буянов «Squeryl — ORM с человеческим лицом»Юрий Буянов «Squeryl — ORM с человеческим лицом»
Юрий Буянов «Squeryl — ORM с человеческим лицом»e-Legion
 
Representing the curriculum symposium
Representing the curriculum symposiumRepresenting the curriculum symposium
Representing the curriculum symposiumHelen Beetham
 
Bayane moujazine umt cdt- untm
Bayane moujazine umt  cdt- untmBayane moujazine umt  cdt- untm
Bayane moujazine umt cdt- untmsharqedu
 
Connectix webserver
Connectix webserverConnectix webserver
Connectix webserversteveheer
 
Connectix webserver
Connectix webserverConnectix webserver
Connectix webserversteveheer
 

Ähnlich wie Dynamic Deployment With Apache Felix (20)

Wells Fargo Outline
Wells Fargo Outline Wells Fargo Outline
Wells Fargo Outline
 
DiplomadoIABMex_Equipo6
DiplomadoIABMex_Equipo6DiplomadoIABMex_Equipo6
DiplomadoIABMex_Equipo6
 
Chinese
ChineseChinese
Chinese
 
JQuery In Rails
JQuery In RailsJQuery In Rails
JQuery In Rails
 
Baby steps and pervasive feedback agile2012
Baby steps and pervasive feedback agile2012Baby steps and pervasive feedback agile2012
Baby steps and pervasive feedback agile2012
 
The Lean Startup - simplified
The Lean Startup - simplifiedThe Lean Startup - simplified
The Lean Startup - simplified
 
Mv10 all oneslides-100408
Mv10 all oneslides-100408Mv10 all oneslides-100408
Mv10 all oneslides-100408
 
Brand & UX: Toward a New Interpretation (Version 2)
Brand & UX: Toward a New Interpretation (Version 2)Brand & UX: Toward a New Interpretation (Version 2)
Brand & UX: Toward a New Interpretation (Version 2)
 
Targeted investment in livestock research helps achieve the Sustainable Devel...
Targeted investment in livestock research helps achieve the Sustainable Devel...Targeted investment in livestock research helps achieve the Sustainable Devel...
Targeted investment in livestock research helps achieve the Sustainable Devel...
 
Interaction design
Interaction designInteraction design
Interaction design
 
Gkm referral program
Gkm referral programGkm referral program
Gkm referral program
 
20110611 expanded intro-to_puppet_for_self
20110611 expanded intro-to_puppet_for_self20110611 expanded intro-to_puppet_for_self
20110611 expanded intro-to_puppet_for_self
 
Наибольшая общая мера: 2500 лет
Наибольшая общая мера: 2500 летНаибольшая общая мера: 2500 лет
Наибольшая общая мера: 2500 лет
 
Юрий Буянов «Squeryl — ORM с человеческим лицом»
Юрий Буянов «Squeryl — ORM с человеческим лицом»Юрий Буянов «Squeryl — ORM с человеческим лицом»
Юрий Буянов «Squeryl — ORM с человеческим лицом»
 
14 ноября 2 мобильный
14 ноября 2 мобильный14 ноября 2 мобильный
14 ноября 2 мобильный
 
Representing the curriculum symposium
Representing the curriculum symposiumRepresenting the curriculum symposium
Representing the curriculum symposium
 
Bayane moujazine umt cdt- untm
Bayane moujazine umt  cdt- untmBayane moujazine umt  cdt- untm
Bayane moujazine umt cdt- untm
 
Overview of APEC Region Wine Trade 2011
Overview of APEC Region Wine Trade 2011Overview of APEC Region Wine Trade 2011
Overview of APEC Region Wine Trade 2011
 
Connectix webserver
Connectix webserverConnectix webserver
Connectix webserver
 
Connectix webserver
Connectix webserverConnectix webserver
Connectix webserver
 

Kürzlich hochgeladen

New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
The Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfThe Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfSeasiaInfotech2
 
Vector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesVector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesZilliz
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfRankYa
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embeddingZilliz
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostZilliz
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 

Kürzlich hochgeladen (20)

New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
The Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfThe Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdf
 
Vector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesVector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector Databases
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdf
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embedding
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 

Dynamic Deployment With Apache Felix

  • 1. Dynamic  deployment   with  Apache  Felix Marcel  Offermans Friday, November 6, 2009
  • 3. Marcel  Offermans • commi0er  and  PMC  member  at  Apache  Felix • commi0er  at  Apache  ACE • so<ware  architect  at  luminis  technologies • marcel.offermans@luminis.nl Friday, November 6, 2009
  • 4. Agenda • The  case  for  OSGi • Dynamic  Deployment  with  Apache  ACE • Demo,  ACE  in  AcIon • Wrapup Friday, November 6, 2009
  • 5. The  case  for  OSGi • Paint  ApplicaIon • wri0en  in  Java • sold  to  customers Friday, November 6, 2009
  • 6. “Specials”  that  fork  your  code Friday, November 6, 2009
  • 7. ConCnuous  builds  taking  a  long  Cme Friday, November 6, 2009
  • 8. Code  reflects  the  architecture? Friday, November 6, 2009
  • 9. How  hard  is  it  to  change  something? Friday, November 6, 2009
  • 13. ParCConing  your  applicaCon • minimize  dependencies • consider  rate  of  change • minimize  complexity • maximize  architected  flexibility • promote  reuse • improve  testability Friday, November 6, 2009
  • 14. Designing  with  services >)=9)%)% A(..0=9 28"=4? C- (,)= 203) =)8 #0=302 @07(;' &<0,) -.,(%')% *+,(%')% 4%0,< 2:;0%) #"%#6) '%"0=46) 234 /0#)1(($ !"#$% A(=54;%0B(= @(4 &'(%) *3)=' #(=54 6(44)% 56)272'). 8)1903 )3)=' Friday, November 6, 2009
  • 15. Designing  with  services >)=9)%)% A(..0=9 %)=9)%)% #(..0=9 28"=4? C- (,)= 203) =)8 #0=302 28"=4D#0=302 28"=4D;" 28"=4D#.9D(,)= 28"=4D#.9D203) 28"=4D#.9D=)8 28"=4D#(='%(62 @07(;' &<0,) -.,(%')% *+,(%')% 607(;' 2<0,) ".,(%')% )+,(%')% 4%0,< 2:;0%) #"%#6) '%"0=46) 234 /0#)1(($ !"#$% 607(;'D4%0,< 2<0,)D2:;0%) 2<0,)D#"%#6) 2<0,)D'%"0=46) ".,D234 )+,DE(($ ".,D!"#$% A(=54;%0B(= @(4 &'(%) *3)=' (24"D#0 (24"D6(4 2'(%) (24"D)3)=' #(=54 6(44)% 56)272'). 8)1903 )3)=' /)6"+D#0 /)6"+D6(4 2'(%)D/2 2'(%)D8)1903 /)6"+D)3)=' Friday, November 6, 2009
  • 16. Designing  with  services %)=9)%)% #(..0=9 >)=9)%)% A(..0=9 %)=9)%)% #(..0=9 ;" #(..0=92 28"=4? C- (,)= 203) =)8 #0=302 28"=4D#0=302 28"=4D;" 28"=4D#.9D(,)= 28"=4D#.9D203) 28"=4D#.9D=)8 28"=4D#(='%(62 9%08"=4 &<0,) 0,"D"( @07(;' -.,(%')% *+,(%')% 607(;' 2<0,) ".,(%')% )+,(%')% 4%0,< 2<0,)2 234 )+,(%')%2 4%0,< 2:;0%) #"%#6) '%"0=46) 234 /0#)1(($ !"#$% 607(;'D4%0,< 2<0,)D2:;0%) 2<0,)D#"%#6) 2<0,)D'%"0=46) ".,D234 )+,DE(($ ".,D!"#$% 0,"D(24" A(=54;%0B(= @(4 &'(%) *3)=' (24"D#0 (24"D6(4 2'(%) (24"D)3)=' #(=5409."= 6(4 56)2'(%) 8)1903 )3)=' #(=54 6(44)% 56)272'). 8)1903 )3)=' /)6"+D#0 /)6"+D6(4 2'(%)D/2 2'(%)D8)1903 /)6"+D)3)=' Friday, November 6, 2009
  • 17. The  Case  for  ACE • Started  in  incubator  on  april  24th  2009 • So<ware  distribuIon  framework   based  on  OSGi • 7  commi0ers • working  codebase • no  release  yet • h0p://incubator.apache.org/ace/ Friday, November 6, 2009
  • 18. Deployment !"#$"%&%'() !"#$%&'( !"#$"%&%'(* !"#$%&'"() !"#$%&') !"#$"%&%'(! !"#$%&'* Friday, November 6, 2009
  • 19. Keeping  the  history last year !"#$"%&%'() +,-.&'() last month !"#$"%&%'() !"#$"%&%'(* +,-.&'() last week !"#$"%&%'() !"#$"%&%'(* !"#$%&'( +,-.&'(! +,-.&'(* now !"#$"%&%'() !"#$%&'( !"#$"%&%'(* !"#$%&') +,-.&'(! !"#$"%&%'(* !"#$"%&%'(! !"#$%&') !"#$%&'* !"#$"%&%'(! !"#$%&'* Friday, November 6, 2009
  • 20. Why? • Automate  deployment • Insight  into  who  uses  what • History  of  each  system • Consistent  development,  tesIng,  producIon • Basis  for  several  possible  extensions Friday, November 6, 2009
  • 21. Topology !"#$%! 0"&"$%0%&!. "$%&! !"#$%! /2,%&! *#(+,-,(&,&$. 0"&"$%0%&!. &%!'(#) -%#+%# "$%&! !"#$%! 0"&"$%0%&!. "$%&! /(0*(&%&!. #%*(-,!(#1 Friday, November 6, 2009
  • 22. High  level  overview !"#"$!"$%&' !"#,-&("$+ ()$)*"("$+ .""!/)%0 Friday, November 6, 2009
  • 23. Dependency  Management • Organizing  components • Mapping  them  to  targets Friday, November 6, 2009
  • 24. Organizing  components • group  components:  makes  them  manageable • two  levels:  group  and  license • Analogy:  IKEA  catalog • data  is  kept  in  “store  repository” !"#$%&'%(#)*"#$+ !"#$"%&%' ,-".$ ()*&%+& Friday, November 6, 2009
  • 25. Mapping  them  onto  targets • mapping  licenses  to  targets • someImes  done  by  an  external  system • data  kept  in  “license  repository” !"#$%&$'($)*&"+*,- !"#$%&$ '()*$+ Friday, November 6, 2009
  • 26. User  Interface • user  retrieves,   • modifies  locally  and   • stores  data  on  server Friday, November 6, 2009
  • 27. Deployment • list  of  targets • list  of  versions  per  target • list  of  components  per  version • management  agent !"#$%&'"()*+"#%,-)%.& !"#$%& '()*(+%+& Friday, November 6, 2009
  • 28. Deployment  Repository ',*-&'( )&*(+"%( !"#$"%&%'( 2 1"#$"%&%'/0 !"#$"%&%'() 3 1"#$"%&%'/0 !"#$"%&%'() !"#$"%&%'(! .,*-&'/0 4 1"#$"%&%'/0 !"#$"%&%'(! !"#$"%&%'(* 5 1"#$"%&%'/1 !"#$"%&%'(* 2 1"#$"%&%'/6 !"#$"%&%'(* .,*-&'/6 3 1"#$"%&%'/0 !"#$"%&%'() !"#$"%&%'(* Friday, November 6, 2009
  • 29. Management  Agent • manages  life  cycle  of  bundles BundleContext • controls  package  sharing  policies PackageAdmin • controls  starIng/stopping  order StartLevel !"#$%"&'($)&%*+,-./'0 1/'&%"2&)$.$),-$/3 45&%!"#$%6++$,3)& • implements  a  security  policy 7&+&,8&%9:%;&'8$/3%9<= >?3&%=@@A Condi7onalPermissionAdmin Friday, November 6, 2009
  • 30. Management  Agent !"#"$%!%#&'"$%#& *'.#"/0#, '('.# "#10)-2#$34 (/"!340)6 3(*5 !"#$%&'(%)$ "!*')+#,- Friday, November 6, 2009
  • 31. Deployment  Admin • deployment  packages • versioned  set  of  arIfacts • transacIonal  install/update • fix  packages  provide  deltas • signing  makes  them  secure • extensible  through  resource  processors • AutoConfig  defines  configuraIon  admin  data Friday, November 6, 2009
  • 32. From  dependency  to  deployment !"#$%&'%(#)*"#$+ ,*-%.)%&'%(#)*"#$+ /%(0#+1%."&'%(#)*"#$+ !"#$"%&%' ,-".$ ()*&%+& + ()*&%+& /0-1&' = /0-1&' !"#$"%&%' Friday, November 6, 2009
  • 33. Feedback !"#$%! *#(+,-,(&,&$. /"&"$%/%&!. &%!'(#) -%#+%# "$%&! 012,!. 012,!. 3($ 3($ !=#".%@A*?B*-%45(%23-'+*,C%151*%4521- $"#$E%;21-<*%$"%,+533*- !:#". !D#".!"#$"%&'()*+%,+'(+*- $"#$9 !"#$"%&'()*+%,+'(+*- $E#".!"#$.%/+'(01)%23-'+*%4(56%7*(,851%9%+5%: $"#.9 !"#$.%/+'(01)%23-'+*%4(56%7*(,851%9%+5%: $!#".!"#$.%;21-<*%"=%23-'+*- E$#$$ !"#$.%;21-<*%"=%23-'+*- !"#$9%>3-'+*%+5%7*(,851%:%,2??**-*- E9#$$ !"#$9%>3-'+*%+5%7*(,851%:%,2??**-*- !.#$9%&'()*+%,+533*- !.#$9%&'()*+%,+533*- Friday, November 6, 2009
  • 38. Wrapup • Apache  ACE  is  incubaIng • Take  it  for  a  test-­‐drive! • Looking  for  contribuIons: • Apache  Felix  Karaf • Maven  /  Nexus  repository • Kalumet,  JEE  auto  deployment Friday, November 6, 2009
  • 39. QuesCons? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? Friday, November 6, 2009