SlideShare a Scribd company logo
1 of 52
Download to read offline
All  About
Apache  ACE
   Marcel  Offermans




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



• Member  Apache  So4ware  Founda9on
 • PMC:  Felix,  Incubator
 • PPMC:  ACE,  Celix

• Fellow  at  Luminis
• marcel.offermans@luminis.eu
Agenda



• Provisioning  in  OSGi
• Apache  ACE
• ACE  in  the  Cloud
• EZdroid
• Amdatu
Provisioning  in  OSGi
OSGi:  core  +  compendium




       !"#$%"&'($)&%*+,-./'0    !"#$%"&'($)&%*+,-./'0
       1/'&%"2&)$.$),-$/3       "&'($)&%1/02&34$50
       45&%!"#$%6++$,3)&        67&%!"#$%8++$,3)&

       7&+&,8&%9:%;&'8$/3%9<=   9&+&,:&%;<%=&':$/3%;>?
       >?3&%=@@A                85@5:-%?AAB
Topology

                                !"#$%!
                            /"&"$%/%&!.
                               "$%&!


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


                                !"#$%!
                            /"&"$%/%&!.
                               "$%&!
Management  Agent


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


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



  Condi7onalPermissionAdmin
Tip:  Seman9c  Versioning  whitepaper


                               Semantic Versioning
                                                        Technical Whitepaper



                                                                   Revision 1.0
                                                                   May 6, 2010




                                © 2010 OSGi Alliance
                                 All Rights Reserved.




Source:  h*p://www.osgi.org/wiki/uploads/Links/Seman9cVersioning.pdf
Downsides  and  PiRalls


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




                                  !&*+)#
                $%&'#%#()"                                $%&'#%#()"
                       *++234$                                   *++234$
Best  Prac9ce


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

                     *+,-./0,-1


                                       *+,-./+,+1

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


• Apache  Felix  File  Install
• Apache  Karaf
• Equinox  p2
• OSGi  Bundle  Repository  Client
• Pax  Runner
• Apache  ACE
Apache  ACE


• Started  in  incubator  on  April  24th  2009
• So4ware  distribu9on  framework  
  based  on  OSGi
• 12  commiers
• working  codebase
• first  official  release  imminent!
• hp://incubator.apache.org/ace/
Deployment




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


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


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

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


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


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



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


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


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


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



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




                    !""#$%&'
High  level  overview




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




• Organizing  ar9facts
• Mapping  them  to  targets
Mapping  them  onto  targets


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


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

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

• retrieve,  modify  and  store
• interact  with  OBR
High  level  overview



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




                    !""#$%&'
High  level  overview




             !"#$%&'"()
Deployment



• deployment  repository
• management  agent



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

                           /0.1")           2.3405)
Deployment  Repository


&!"-)&'    ()"'*+,'             !"#$!%&'
              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:
Management  Agent


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

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


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


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

• deployment  packages
• versioned  set  of  ar9facts
• transac9onal  install/update
• fix  packages  provide  deltas
• signing  makes  them  secure
• extensible  through  resource  processors
• AutoConfig  defines  configura9on  admin  data
From  dependency  to  deployment




          !"#$%&'%(#)*"#$+                           6*0%4)%&'%(#)*"#$+           1%(9#+:%4"&'%(#)*"#$+

,$-./0"       5%/"3$%        1*)"$*23-#4
                                           +   1*)"$*23-#4          7/$8%"
                                                                             =   7/$8%"           ,$-./0"
High  level  overview



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




                    !""#$%&'
High  level  overview




               !""#$%&'
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*-
Demo:
Apache  ACE
ACE  in  the  Cloud
ACE  in  the  Cloud

                                       !"#$%&'#%(
                              '#%(&           04*.(0
             !"#$%&'#%(
                             /4'4.(*      /4'4.(/('0&
                                             4.('0

2(3&!",('0
             )*#+,-,#','.&
                -(*+(*




                                             !"#$%&'#%(
             !#/)#'('0&
              *()#-,0#*1                             04*.(0
                                                 /4'4.(/('0&
                                    '#%(&           4.('0
             !"#$%&'#%(            /4'4.(*
Node  Manager
          !"#$%&'#%(
                  04*.(0
              /4'4.(/('0&
 '#%(&           4.('0
/4'4.(*
                            • Node  Manager
                             • bootstraps  the  node
                             • launches  targets
                             • measures  performance  data
ACE  UI  Extensions


/**
 * Creates components for named extension points in the Vaadin UI. Extension factories
 * are used throughout the UI to allow other bundles to contribute features.
 */
public interface UIExtensionFactory {
    public static final String EXTENSION_POINT_KEY = "extension_point";
    public static final Object EXTENSION_POINT_VALUE_ARTIFACT = "artifact";
    public static final Object EXTENSION_POINT_VALUE_FEATURE = "feature";
    public static final Object EXTENSION_POINT_VALUE_DISTRIBUTION = "distribution";
    public static final Object EXTENSION_POINT_VALUE_TARGET = "target";

    /**
     * Creates a UI component for use in the extension point. The contents of the
     * context are extension-point dependent.
     */
    Component create(Map<String, Object> context);
}
Cloud  Extension



• Currently  supports  one  
  target  per  node
• Uses  jclouds.org
• Implementa9on  for  
  Amazon  EC-­‐2
Node  Monitoring
Dynamic  Scaling
                                                /0+)$*"&!"$1)(+

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

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

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


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

                                                      )*+,()
                                                  -*'*,(-(')&
                                                     *,(')
Demo:
ACE  in  the  Cloud
EZdroid



• Apache  Felix  on  Android
• Apache  ACE  for  provisioning
• OSGi  integra9on  for  phones
• Luminis  was  the  first  to  have  OSGi  running  on  
  Android
Models  are  different


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



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


           '()&                     !"#$%&#
Benefits  of  each  model

          !"#"$%&

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




                                               cr
                                                as
                           !**                  !**




                                                  h
          !"#"$%&

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

    .&/     .&/     .&/


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



• Apache  Felix  running  on  Android
• Apache  ACE  integrated  management  agent
• Centrally  deploying  applica9ons  to  a  device
• Context  based  deployment
• Introduc9ng  the  bazaar:  a  marketplace
EZdroid  Components
                               '&6/7%63!27&.                                                                  -./*./
                                '01(2.38."%9                                                                '01(2.3'45


               :.;73'00"%(1)7&                      '()*%+,-./*%(.                    '01(2.3'453-./*./              -./*".+
                                                                                       '01(2.3'453-./*./

                                   '()*%+,-./*%(.
                                                                                           -./*".+                             -./*".+
                                                                                           @6%<+/%>#)7&                        @>1A11/B;1&1$./

                                        :.<=+70                 !"#$%&
                                                                                                                    C1A11/3?1&1$.;.&+3D<./3
                                                                                      :%<+/%>#)7&3-./*".+
                                                                                                                            E&+./F1(.
               !"#$%&              !"#$%&              !"#$%&              !"#$%&




                                                                           G7;.3
                                            ?.6%13-./*./3
  C1A11/            :.;73!"#$%&                                          '#+7;1)7&3
                                              !"#$%&
                                                                           !"#$%&


:%<+/%>#)7&3            47&+.9+3
 ?1&1$./                ?1&1$./


   '453
?1&1$.;.&+3
  '$.&+
Demo:
EZdroid
Vision

• Open  Source  and  Standards-­‐based
• Infrastructure  Agnos9c
• Dynamic  Elas9city
• End-­‐to-­‐end  Monitoring
• Public,  private  or  cloud  burst
             Cloud            Software as a Service (SAAS)
           Enablement

              utilities,
                              Platform as a Service (PAAS)
              services
                and
              software
           infrastructure   Infrastructure as a Service (IAAS)
PlaRorm

• Enabling  Services:
 • OSGi  based  infrastructure
 • Mul9-­‐tenant  aware
                                    Application Layer Services
 • REST  based
• Applica9on  Layer  Services:
 • Cloud  Provisioning
                                        Enabling Services
 • Seman9c  Indexing  and  Search
 • Authen9ca9on
 • Open  Social
 • Scalable  Storage
Links


• hp://incubator.apache.org/ace/
• hp://felix.apache.org/
• hp://ezdroid.com/
• hp://amdatu.org/
• hp://www.luminis.eu/?lang=en
• hp://luminis-­‐technologies.com/

More Related Content

What's hot

Young Lions Media 2011 / SPYL509
Young Lions Media 2011 / SPYL509Young Lions Media 2011 / SPYL509
Young Lions Media 2011 / SPYL509Vane Marín
 
-scientific proof in al-quran
-scientific proof in al-quran-scientific proof in al-quran
-scientific proof in al-quranR&R Darulkautsar
 
GCEMED2012 Rassegna stampa cartacei
GCEMED2012 Rassegna stampa cartaceiGCEMED2012 Rassegna stampa cartacei
GCEMED2012 Rassegna stampa cartaceiElaborAZIONI.org
 
Dramatically increase revenue on verio template
Dramatically increase revenue on verio templateDramatically increase revenue on verio template
Dramatically increase revenue on verio templateJanine Soika
 
Diseño centro de diseño en andalucía
Diseño centro de diseño en andalucíaDiseño centro de diseño en andalucía
Diseño centro de diseño en andalucíaÁlvaro Morales
 
Capitulo 3.5 Ventas Mipro ERP
Capitulo 3.5 Ventas Mipro ERPCapitulo 3.5 Ventas Mipro ERP
Capitulo 3.5 Ventas Mipro ERPDeath User
 
Investment in the Silicon Valley Mobile Industry
Investment in the Silicon Valley Mobile IndustryInvestment in the Silicon Valley Mobile Industry
Investment in the Silicon Valley Mobile Industrykateimbach
 
Recommender Systems [Borsani, Camedda, Leo]
Recommender Systems [Borsani, Camedda, Leo]Recommender Systems [Borsani, Camedda, Leo]
Recommender Systems [Borsani, Camedda, Leo]Giulia Camedda
 
Presentazione comunità finanziaria 10nov11
Presentazione comunità finanziaria 10nov11Presentazione comunità finanziaria 10nov11
Presentazione comunità finanziaria 10nov11MondadoriGroup
 
DiplomadoIABMex_Equipo6
DiplomadoIABMex_Equipo6DiplomadoIABMex_Equipo6
DiplomadoIABMex_Equipo6jorgemacias23
 
Capitulo 3.4 Compras Mipro Erp
Capitulo 3.4 Compras Mipro ErpCapitulo 3.4 Compras Mipro Erp
Capitulo 3.4 Compras Mipro ErpDeath User
 
Talk on ICT in Education
Talk on ICT in EducationTalk on ICT in Education
Talk on ICT in Educationtavicha
 
Arabische landen tegen erkenning Aalst Carnaval wegens islamofobie
Arabische landen tegen erkenning Aalst Carnaval wegens islamofobieArabische landen tegen erkenning Aalst Carnaval wegens islamofobie
Arabische landen tegen erkenning Aalst Carnaval wegens islamofobieThierry Debels
 

What's hot (18)

Ecosoc
EcosocEcosoc
Ecosoc
 
Young Lions Media 2011 / SPYL509
Young Lions Media 2011 / SPYL509Young Lions Media 2011 / SPYL509
Young Lions Media 2011 / SPYL509
 
-scientific proof in al-quran
-scientific proof in al-quran-scientific proof in al-quran
-scientific proof in al-quran
 
GCEMED2012 Rassegna stampa cartacei
GCEMED2012 Rassegna stampa cartaceiGCEMED2012 Rassegna stampa cartacei
GCEMED2012 Rassegna stampa cartacei
 
Csharp Intsight
Csharp IntsightCsharp Intsight
Csharp Intsight
 
Dramatically increase revenue on verio template
Dramatically increase revenue on verio templateDramatically increase revenue on verio template
Dramatically increase revenue on verio template
 
Diseño centro de diseño en andalucía
Diseño centro de diseño en andalucíaDiseño centro de diseño en andalucía
Diseño centro de diseño en andalucía
 
Capitulo 3.5 Ventas Mipro ERP
Capitulo 3.5 Ventas Mipro ERPCapitulo 3.5 Ventas Mipro ERP
Capitulo 3.5 Ventas Mipro ERP
 
Investment in the Silicon Valley Mobile Industry
Investment in the Silicon Valley Mobile IndustryInvestment in the Silicon Valley Mobile Industry
Investment in the Silicon Valley Mobile Industry
 
Recommender Systems [Borsani, Camedda, Leo]
Recommender Systems [Borsani, Camedda, Leo]Recommender Systems [Borsani, Camedda, Leo]
Recommender Systems [Borsani, Camedda, Leo]
 
Presentazione comunità finanziaria 10nov11
Presentazione comunità finanziaria 10nov11Presentazione comunità finanziaria 10nov11
Presentazione comunità finanziaria 10nov11
 
DiplomadoIABMex_Equipo6
DiplomadoIABMex_Equipo6DiplomadoIABMex_Equipo6
DiplomadoIABMex_Equipo6
 
Capitulo 3.4 Compras Mipro Erp
Capitulo 3.4 Compras Mipro ErpCapitulo 3.4 Compras Mipro Erp
Capitulo 3.4 Compras Mipro Erp
 
Talk on ICT in Education
Talk on ICT in EducationTalk on ICT in Education
Talk on ICT in Education
 
NRI Report
NRI ReportNRI Report
NRI Report
 
5 detox scams to avoid
5 detox scams to avoid5 detox scams to avoid
5 detox scams to avoid
 
Arabische landen tegen erkenning Aalst Carnaval wegens islamofobie
Arabische landen tegen erkenning Aalst Carnaval wegens islamofobieArabische landen tegen erkenning Aalst Carnaval wegens islamofobie
Arabische landen tegen erkenning Aalst Carnaval wegens islamofobie
 
EB-85 A
EB-85 AEB-85 A
EB-85 A
 

Similar to All about Apache ACE

WALA Tutorial at PLDI 2010
WALA Tutorial at PLDI 2010WALA Tutorial at PLDI 2010
WALA Tutorial at PLDI 2010Julian Dolby
 
ApacheCon NA11 - Apache Celix, Universal OSGi?
ApacheCon NA11 - Apache Celix, Universal OSGi?ApacheCon NA11 - Apache Celix, Universal OSGi?
ApacheCon NA11 - Apache Celix, Universal OSGi?abroekhuis
 
Dramatically increase revenue on verio template
Dramatically increase revenue on verio templateDramatically increase revenue on verio template
Dramatically increase revenue on verio templateJanine Soika
 
Time Travel - Predicting the Future and Surviving a Parallel Universe - JDC2012
Time Travel - Predicting the Future and Surviving a Parallel Universe - JDC2012 Time Travel - Predicting the Future and Surviving a Parallel Universe - JDC2012
Time Travel - Predicting the Future and Surviving a Parallel Universe - JDC2012 Hossam Karim
 
SEO - It Works Even if You Don’t Know How or Why
SEO - It Works Even if You Don’t Know How or Why SEO - It Works Even if You Don’t Know How or Why
SEO - It Works Even if You Don’t Know How or Why Wolfgang Weicht
 
Betagroup 12 - Board of Innovation
Betagroup 12 - Board of InnovationBetagroup 12 - Board of Innovation
Betagroup 12 - Board of InnovationBoard of Innovation
 
illustration art market report illustrated gallery
illustration art market report illustrated galleryillustration art market report illustrated gallery
illustration art market report illustrated galleryIngrid Bond
 
Introduction - Builders at Play
Introduction - Builders at PlayIntroduction - Builders at Play
Introduction - Builders at PlaySmart in Public
 
OSGi Provisioning With Apache ACE
OSGi Provisioning With Apache ACEOSGi Provisioning With Apache ACE
OSGi Provisioning With Apache ACEmfrancis
 
Apprentice Power-Point Presentation/What is Apprenticeship Recruitment
Apprentice Power-Point Presentation/What is Apprenticeship Recruitment Apprentice Power-Point Presentation/What is Apprenticeship Recruitment
Apprentice Power-Point Presentation/What is Apprenticeship Recruitment The Pathway Group
 
Materializing Energy
Materializing EnergyMaterializing Energy
Materializing EnergyJames Pierce
 
586-ΑΣΜΗΣ-ΙΩΑΝΝΗΣ1
586-ΑΣΜΗΣ-ΙΩΑΝΝΗΣ1586-ΑΣΜΗΣ-ΙΩΑΝΝΗΣ1
586-ΑΣΜΗΣ-ΙΩΑΝΝΗΣ1Ioannis Asmis
 
Ssijialiye
SsijialiyeSsijialiye
Ssijialiyerenata7
 
Interaction design
Interaction designInteraction design
Interaction designfeifei2011
 
Pet stain removal fort lauderdale with the best carpet cleaning company
Pet stain removal fort lauderdale with the best carpet cleaning companyPet stain removal fort lauderdale with the best carpet cleaning company
Pet stain removal fort lauderdale with the best carpet cleaning companyAbsolute Best Carpet Cleaners
 

Similar to All about Apache ACE (20)

WALA Tutorial at PLDI 2010
WALA Tutorial at PLDI 2010WALA Tutorial at PLDI 2010
WALA Tutorial at PLDI 2010
 
ApacheCon NA11 - Apache Celix, Universal OSGi?
ApacheCon NA11 - Apache Celix, Universal OSGi?ApacheCon NA11 - Apache Celix, Universal OSGi?
ApacheCon NA11 - Apache Celix, Universal OSGi?
 
Dramatically increase revenue on verio template
Dramatically increase revenue on verio templateDramatically increase revenue on verio template
Dramatically increase revenue on verio template
 
Time Travel - Predicting the Future and Surviving a Parallel Universe - JDC2012
Time Travel - Predicting the Future and Surviving a Parallel Universe - JDC2012 Time Travel - Predicting the Future and Surviving a Parallel Universe - JDC2012
Time Travel - Predicting the Future and Surviving a Parallel Universe - JDC2012
 
SEO - It Works Even if You Don’t Know How or Why
SEO - It Works Even if You Don’t Know How or Why SEO - It Works Even if You Don’t Know How or Why
SEO - It Works Even if You Don’t Know How or Why
 
Les serrures abloy par vedis
Les serrures abloy par vedisLes serrures abloy par vedis
Les serrures abloy par vedis
 
Betagroup 12 - Board of Innovation
Betagroup 12 - Board of InnovationBetagroup 12 - Board of Innovation
Betagroup 12 - Board of Innovation
 
illustration art market report illustrated gallery
illustration art market report illustrated galleryillustration art market report illustrated gallery
illustration art market report illustrated gallery
 
Introduction - Builders at Play
Introduction - Builders at PlayIntroduction - Builders at Play
Introduction - Builders at Play
 
OSGi Provisioning With Apache ACE
OSGi Provisioning With Apache ACEOSGi Provisioning With Apache ACE
OSGi Provisioning With Apache ACE
 
The Project Trap
The Project TrapThe Project Trap
The Project Trap
 
InnoDB Magic
InnoDB MagicInnoDB Magic
InnoDB Magic
 
Apprentice Power-Point Presentation/What is Apprenticeship Recruitment
Apprentice Power-Point Presentation/What is Apprenticeship Recruitment Apprentice Power-Point Presentation/What is Apprenticeship Recruitment
Apprentice Power-Point Presentation/What is Apprenticeship Recruitment
 
Materializing Energy
Materializing EnergyMaterializing Energy
Materializing Energy
 
586-ΑΣΜΗΣ-ΙΩΑΝΝΗΣ1
586-ΑΣΜΗΣ-ΙΩΑΝΝΗΣ1586-ΑΣΜΗΣ-ΙΩΑΝΝΗΣ1
586-ΑΣΜΗΣ-ΙΩΑΝΝΗΣ1
 
Ssijialiye
SsijialiyeSsijialiye
Ssijialiye
 
Csharp intsight[1]
Csharp intsight[1]Csharp intsight[1]
Csharp intsight[1]
 
Csharp intsight
Csharp intsightCsharp intsight
Csharp intsight
 
Interaction design
Interaction designInteraction design
Interaction design
 
Pet stain removal fort lauderdale with the best carpet cleaning company
Pet stain removal fort lauderdale with the best carpet cleaning companyPet stain removal fort lauderdale with the best carpet cleaning company
Pet stain removal fort lauderdale with the best carpet cleaning company
 

Recently uploaded

"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
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
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfMounikaPolabathina
 
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 State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxLoriGlavin3
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
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
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxLoriGlavin3
 
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
 
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
 
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
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 

Recently uploaded (20)

"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
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)
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdf
 
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 State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
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
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
 
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?
 
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
 
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
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 

All about Apache ACE

  • 1. All  About Apache  ACE Marcel  Offermans !"#$%&'&()"*
  • 2. Marcel • Member  Apache  So4ware  Founda9on • PMC:  Felix,  Incubator • PPMC:  ACE,  Celix • Fellow  at  Luminis • marcel.offermans@luminis.eu
  • 3. Agenda • Provisioning  in  OSGi • Apache  ACE • ACE  in  the  Cloud • EZdroid • Amdatu
  • 5. OSGi:  core  +  compendium !"#$%"&'($)&%*+,-./'0 !"#$%"&'($)&%*+,-./'0 1/'&%"2&)$.$),-$/3 "&'($)&%1/02&34$50 45&%!"#$%6++$,3)& 67&%!"#$%8++$,3)& 7&+&,8&%9:%;&'8$/3%9<= 9&+&,:&%;<%=&':$/3%;>? >?3&%=@@A 85@5:-%?AAB
  • 6. Topology !"#$%! /"&"$%/%&!. "$%&! !"#$%! *#(+,-,(&,&$. /"&"$%/%&!. &%!'(#) -%#+%# "$%&! !"#$%! /"&"$%/%&!. "$%&!
  • 7. Management  Agent • manages  life  cycle  of  bundles BundleContext • controls  package  sharing  policies PackageAdmin • controls  star9ng/stopping  order StartLevel !"#$%"&'($)&%*+,-./'0 1/'&%"2&)$.$),-$/3 45&%!"#$%6++$,3)& • implements  a  security  policy 7&+&,8&%9:%;&'8$/3%9<= >?3&%=@@A Condi7onalPermissionAdmin
  • 8. Tip:  Seman9c  Versioning  whitepaper Semantic Versioning Technical Whitepaper Revision 1.0 May 6, 2010 © 2010 OSGi Alliance All Rights Reserved. Source:  h*p://www.osgi.org/wiki/uploads/Links/Seman9cVersioning.pdf
  • 9. Downsides  and  PiRalls !!"#$%&'(")) !"#" *++ !!"#$%&'(")) !"#" *++ ,&(-./01 ,&(-./01 5&(-./01 !&*+)# $%&'#%#()" $%&'#%#()" *++234$ *++234$
  • 10. Best  Prac9ce !!"#$%&'(")) !"#" *++ *+,-./0,-1 *+,-./+,+1 $%&'#%#()" *++,-.$
  • 11.
  • 12. Provisioning  Solu9ons • Apache  Felix  File  Install • Apache  Karaf • Equinox  p2 • OSGi  Bundle  Repository  Client • Pax  Runner • Apache  ACE
  • 13. Apache  ACE • Started  in  incubator  on  April  24th  2009 • So4ware  distribu9on  framework   based  on  OSGi • 12  commiers • working  codebase • first  official  release  imminent! • hp://incubator.apache.org/ace/
  • 14. Deployment !"#$%&'(! +%",-'(! !"#$%&'() !"#$%&'"() +%",-'() !"#$%&'(* +%",-'(*
  • 15. Keeping  the  history last year !"#$%&'(! *%"+,'(! last month !"#$%&'(! !"#$%&'() *%"+,'(! last week !"#$%&'(! !"#$%&'() +%",-'(! *%"+,'(- *%"+,'() now !"#$%&'(! +%",-'(! !"#$%&'() +%",-'() *%"+,'(- !"#$%&'() !"#$%&'(* +%",-'() +%",-'(* !"#$%&'(* +%",-'(*
  • 16. Why? • Automate  deployment • Insight  into  who  uses  what • History  of  each  system • Consistent  development,  tes9ng,  produc9on • Basis  for  several  possible  extensions
  • 17. Topology !"#$%! 0"&"$%0%&!. "$%&! !"#$%! /2,%&! *#(+,-,(&,&$. 0"&"$%0%&!. &%!'(#) -%#+%# "$%&! !"#$%! 0"&"$%0%&!. "$%&! /(0*(&%&!. #%*(-,!(#1
  • 18. High  level  overview !"#"$!"$%&' !"#$%&'"() ()$)*"("$+ !""#$%&'
  • 19. High  level  overview !"#"$!"$%&' ()$)*"("$+
  • 20. Dependency  Management • Organizing  ar9facts • Mapping  them  to  targets
  • 21. Mapping  them  onto  targets • mapping  distribu9ons  to  targets • some9mes  done  by  an  external  system • data  kept  in  “license  repository” !"#$%&$'($)*&"+*,- ."&+,"/01*% 23,4$+
  • 22. User  Interface • retrieve,  modify  and  store • interact  with  OBR
  • 23. High  level  overview !"#"$!"$%&' !"#$%&'"() ()$)*"("$+ !""#$%&'
  • 25. Deployment • deployment  repository • management  agent !"#$%&'"()*+"#%,-)%.& /0.1") 2.3405)
  • 26. Deployment  Repository &!"-)&' ()"'*+,' !"#$!%&' 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:
  • 27. Management  Agent !"#"$%!%#&'"$%#& *'.#"/0#, '('.# "#10)-2#$34 (/"!340)6 3(*5 !"#$%&'(%)$ "!*')+#,-
  • 28. Deployment  Admin • deployment  packages • versioned  set  of  ar9facts • transac9onal  install/update • fix  packages  provide  deltas • signing  makes  them  secure • extensible  through  resource  processors • AutoConfig  defines  configura9on  admin  data
  • 29. From  dependency  to  deployment !"#$%&'%(#)*"#$+ 6*0%4)%&'%(#)*"#$+ 1%(9#+:%4"&'%(#)*"#$+ ,$-./0" 5%/"3$% 1*)"$*23-#4 + 1*)"$*23-#4 7/$8%" = 7/$8%" ,$-./0"
  • 30. High  level  overview !"#"$!"$%&' !"#$%&'"() ()$)*"("$+ !""#$%&'
  • 32. 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*-
  • 34. ACE  in  the  Cloud
  • 35. ACE  in  the  Cloud !"#$%&'#%( '#%(& 04*.(0 !"#$%&'#%( /4'4.(* /4'4.(/('0& 4.('0 2(3&!",('0 )*#+,-,#','.& -(*+(* !"#$%&'#%( !#/)#'('0& *()#-,0#*1 04*.(0 /4'4.(/('0& '#%(& 4.('0 !"#$%&'#%( /4'4.(*
  • 36. Node  Manager !"#$%&'#%( 04*.(0 /4'4.(/('0& '#%(& 4.('0 /4'4.(* • Node  Manager • bootstraps  the  node • launches  targets • measures  performance  data
  • 37. ACE  UI  Extensions /** * Creates components for named extension points in the Vaadin UI. Extension factories * are used throughout the UI to allow other bundles to contribute features. */ public interface UIExtensionFactory { public static final String EXTENSION_POINT_KEY = "extension_point"; public static final Object EXTENSION_POINT_VALUE_ARTIFACT = "artifact"; public static final Object EXTENSION_POINT_VALUE_FEATURE = "feature"; public static final Object EXTENSION_POINT_VALUE_DISTRIBUTION = "distribution"; public static final Object EXTENSION_POINT_VALUE_TARGET = "target"; /** * Creates a UI component for use in the extension point. The contents of the * context are extension-point dependent. */ Component create(Map<String, Object> context); }
  • 38. Cloud  Extension • Currently  supports  one   target  per  node • Uses  jclouds.org • Implementa9on  for   Amazon  EC-­‐2
  • 40. Dynamic  Scaling /0+)$*"&!"$1)(+ !"#$%&'#%( )*+,() '#%(& -*'*,(-(')& -*'*,(+ *,(') !"#$%&'#%( )*+,() -*'*,(-(')& *,(') 3(4&!"0(') .+#/010#'0',& !"#$%&'#%( !"#$%&'#%( )*+,() 1(+/(+ '#%(& -*'*,(-(')& -*'*,(+ *,(') !"$1)(+& -*'*,(+ !"#$%&'#%( )*+,() -*'*,(-(')& !#-.#'(')& *,(') +(.#10)#+2 !"#$%&'#%( )*+,() '#%(& -*'*,(-(')& -*'*,(+ *,(') )*+,() -*'*,(-(')& *,(')
  • 42.
  • 43. EZdroid • Apache  Felix  on  Android • Apache  ACE  for  provisioning • OSGi  integra9on  for  phones • Luminis  was  the  first  to  have  OSGi  running  on   Android
  • 44. Models  are  different !"#"$%& '"(#)*$ '"(#)*$ %& %& !** !** !** !** '"(#)*$ !** %& !** '()& !"#$%&#
  • 45. Benefits  of  each  model !"#"$%& &"+%,- !** !** '"(#)*$ '"(#)*$ %& %& cr as !** !** h !"#"$%& !** !** '"(#)*$ %& !** .&/ .&/ .&/ '()& !"#$%&#
  • 46. The  Demo • Apache  Felix  running  on  Android • Apache  ACE  integrated  management  agent • Centrally  deploying  applica9ons  to  a  device • Context  based  deployment • Introduc9ng  the  bazaar:  a  marketplace
  • 47. EZdroid  Components '&6/7%63!27&. -./*./ '01(2.38."%9 '01(2.3'45 :.;73'00"%(1)7& '()*%+,-./*%(. '01(2.3'453-./*./ -./*".+ '01(2.3'453-./*./ '()*%+,-./*%(. -./*".+ -./*".+ @6%<+/%>#)7& @>1A11/B;1&1$./ :.<=+70 !"#$%& C1A11/3?1&1$.;.&+3D<./3 :%<+/%>#)7&3-./*".+ E&+./F1(. !"#$%& !"#$%& !"#$%& !"#$%& G7;.3 ?.6%13-./*./3 C1A11/ :.;73!"#$%& '#+7;1)7&3 !"#$%& !"#$%& :%<+/%>#)7&3 47&+.9+3 ?1&1$./ ?1&1$./ '453 ?1&1$.;.&+3 '$.&+
  • 49.
  • 50. Vision • Open  Source  and  Standards-­‐based • Infrastructure  Agnos9c • Dynamic  Elas9city • End-­‐to-­‐end  Monitoring • Public,  private  or  cloud  burst Cloud Software as a Service (SAAS) Enablement utilities, Platform as a Service (PAAS) services and software infrastructure Infrastructure as a Service (IAAS)
  • 51. PlaRorm • Enabling  Services: • OSGi  based  infrastructure • Mul9-­‐tenant  aware Application Layer Services • REST  based • Applica9on  Layer  Services: • Cloud  Provisioning Enabling Services • Seman9c  Indexing  and  Search • Authen9ca9on • Open  Social • Scalable  Storage
  • 52. Links • hp://incubator.apache.org/ace/ • hp://felix.apache.org/ • hp://ezdroid.com/ • hp://amdatu.org/ • hp://www.luminis.eu/?lang=en • hp://luminis-­‐technologies.com/