EclipseCon 2011    Angelo van der Sijpt
                  Luminis Technologies
$ whoami

•   Angelo van der Sijpt
•   Committer with Apache ACE
•   Software engineer at Luminis
    Technologies
•   Buzzwords: Java, OSGi, Agile
•   angelos@apache.org
    angelo.vandersijpt@luminis.eu
Bundle-NativeCode:
 win32.dll; osname=WindowsXP; processor=x86 ,
 liblinux.so; osname=linux
10 0   101   102   103   104
http://incubator.apache.org/ace
!"#$%&'(!   +%",-'(!


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


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


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


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


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


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




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

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

."&+,"/01*%          23,4$+
User
Interface

•   retrieve, modify and store
•   interact with OBR
!"#$%&'%(#)*"#$+                           6*0%4)%&'%(#)*"#$+           1%(9#+:%4"&'%(#)*"#$+

,$-./0"       5%/"3$%        1*)"$*23-#4
                                           +   1*)"$*23-#4          7/$8%"
                                                                             =   7/$8%"           ,$-./0"
&!"-)&'    ()"'*+,'             !"#$!%&'
              1       0/12323   7/12323
              4       0/12423   7/12323    8/42323
.!"-)&/0
              5       0/12423   8/42323    9/1232:
              6       8/42323   9/52323

              1       7/12323   9/52323
.!"-)&/7
              4       0/12123   7/12321    9/1232:
!"#$%!
                                   0"&"$%0%&!.
                                      "$%&!


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


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


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


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

•   deployment packages
•   versioned set of artifacts
•   transactional install/update
•   fix packages provide deltas
•   signing makes them secure
•   extensible through resource processors
•   AutoConfig defines configuration admin data
!"#"$!"$%&'
                         !"#$%&'"()
()$)*"("$+




              !""#$%&'
10 0   101   102   103   104
10 0   101      102       103   104




             Apache ACE
10 0   101      102       103      104




             Apache ACE         Web server
10 0   101      102       103      104




“The Wild”



               Apache ACE         Web server
10 0   101      102       103      104




                                        Development

“The Wild”



               Apache ACE         Web server
10 0   101   102   103   104




Apache ACE
                               “The Wild”
10 0   101   102   103      104




             Configuration




Apache ACE
                                  “The Wild”
10 0   101   102   103      104




             Configuration




Apache ACE
               Feedback           “The Wild”
10 0    101      102    103     104




•    Deployment information
•     No more version numbers to remember!

•    Remember the additional devices?
•     Software on the fly
10 0     101     102      103   104




•    Some numbers
•     100 bundles of 10MB total
•     300 targets
•     4 minutes
10 0   101      102   103   104




•    Many devices

•    New features
10 0   101   102   103   104
10 0   101   102   103   104
10 0      101   102     103      104



              Deployment
               metadata



Apache ACE



                    Relay servers
10 0      101   102     103      104



                                 Deployment
              Deployment
                                  package
               metadata



Apache ACE



                    Relay servers
10 0      101   102     103      104



                                 Deployment
              Deployment
                                  package
               metadata



Apache ACE

                                 Feedback

                    Relay servers
10 0      101   102     103      104



                                 Deployment
              Deployment
                                  package
               metadata



Apache ACE     Feedback
                                 Feedback

                    Relay servers
•   http://incubator.apache.org/ace




Angelo van der Sijpt
angelo.vandersijpt@luminis.eu

Massive device deployment - EclipseCon 2011

  • 1.
    EclipseCon 2011 Angelo van der Sijpt Luminis Technologies
  • 2.
    $ whoami • Angelo van der Sijpt • Committer with Apache ACE • Software engineer at Luminis Technologies • Buzzwords: Java, OSGi, Agile • angelos@apache.org angelo.vandersijpt@luminis.eu
  • 14.
    Bundle-NativeCode: win32.dll; osname=WindowsXP;processor=x86 , liblinux.so; osname=linux
  • 15.
    10 0 101 102 103 104
  • 16.
  • 17.
    !"#$%&'(! +%",-'(! !"#$%&'() +%",-'() !"#$%&'(* +%",-'(*
  • 18.
    !"#$%&'(! +%",-'(! !"#$%&'() !"#$%&'"() +%",-'() !"#$%&'(* +%",-'(*
  • 19.
    !"#$%! 0"&"$%0%&!. "$%&! !"#$%! /2,%&! *#(+,-,(&,&$. 0"&"$%0%&!. &%!'(#) -%#+%# "$%&! !"#$%! 0"&"$%0%&!. "$%&! /(0*(&%&!. #%*(-,!(#1
  • 20.
    !"#"$!"$%&' !"#$%&'"() ()$)*"("$+ !""#$%&'
  • 21.
    !"#$%&'%(#)*"#$+ ,$-./0" 5%/"3$% 1*)"$*23-#4
  • 22.
  • 23.
    User
Interface • retrieve, modify and store • interact with OBR
  • 24.
    !"#$%&'%(#)*"#$+ 6*0%4)%&'%(#)*"#$+ 1%(9#+:%4"&'%(#)*"#$+ ,$-./0" 5%/"3$% 1*)"$*23-#4 + 1*)"$*23-#4 7/$8%" = 7/$8%" ,$-./0"
  • 25.
    &!"-)&' ()"'*+,' !"#$!%&' 1 0/12323 7/12323 4 0/12423 7/12323 8/42323 .!"-)&/0 5 0/12423 8/42323 9/1232: 6 8/42323 9/52323 1 7/12323 9/52323 .!"-)&/7 4 0/12123 7/12321 9/1232:
  • 26.
    !"#$%! 0"&"$%0%&!. "$%&! !"#$%! /2,%&! *#(+,-,(&,&$. 0"&"$%0%&!. &%!'(#) -%#+%# "$%&! !"#$%! 0"&"$%0%&!. "$%&! /(0*(&%&!. #%*(-,!(#1
  • 27.
    !"#$%! 0"&"$%0%&!. "$%&! !"#$%! /2,%&! *#(+,-,(&,&$. 0"&"$%0%&!. &%!'(#) -%#+%# "$%&! !"#"$%!%#&'"$%#& !"#$%! *'.#"/0#, '('.# 0"&"$%0%&!. "$%&! /(0*(&%&!. "#10)-2#$34 #%*(-,!(#1 (/"!340)6 3(*5 !"#$%&'(%)$ "!*')+#,-
  • 28.
    Deployment
Admin • deployment packages • versioned set of artifacts • transactional install/update • fix packages provide deltas • signing makes them secure • extensible through resource processors • AutoConfig defines configuration admin data
  • 29.
    !"#"$!"$%&' !"#$%&'"() ()$)*"("$+ !""#$%&'
  • 31.
    10 0 101 102 103 104
  • 32.
    10 0 101 102 103 104 Apache ACE
  • 33.
    10 0 101 102 103 104 Apache ACE Web server
  • 34.
    10 0 101 102 103 104 “The Wild” Apache ACE Web server
  • 35.
    10 0 101 102 103 104 Development “The Wild” Apache ACE Web server
  • 36.
    10 0 101 102 103 104 Apache ACE “The Wild”
  • 37.
    10 0 101 102 103 104 Configuration Apache ACE “The Wild”
  • 38.
    10 0 101 102 103 104 Configuration Apache ACE Feedback “The Wild”
  • 39.
    10 0 101 102 103 104 • Deployment information • No more version numbers to remember! • Remember the additional devices? • Software on the fly
  • 40.
    10 0 101 102 103 104 • Some numbers • 100 bundles of 10MB total • 300 targets • 4 minutes
  • 41.
    10 0 101 102 103 104 • Many devices • New features
  • 42.
    10 0 101 102 103 104
  • 43.
    10 0 101 102 103 104
  • 44.
    10 0 101 102 103 104 Deployment metadata Apache ACE Relay servers
  • 45.
    10 0 101 102 103 104 Deployment Deployment package metadata Apache ACE Relay servers
  • 46.
    10 0 101 102 103 104 Deployment Deployment package metadata Apache ACE Feedback Relay servers
  • 47.
    10 0 101 102 103 104 Deployment Deployment package metadata Apache ACE Feedback Feedback Relay servers
  • 48.
    http://incubator.apache.org/ace Angelo van der Sijpt angelo.vandersijpt@luminis.eu