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

CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
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
 
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
 
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
 
Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Neo4j
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Alan Dix
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr LapshynFwdays
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
Unlocking the Potential of the Cloud for IBM Power Systems
Unlocking the Potential of the Cloud for IBM Power SystemsUnlocking the Potential of the Cloud for IBM Power Systems
Unlocking the Potential of the Cloud for IBM Power SystemsPrecisely
 
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024BookNet Canada
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksSoftradix Technologies
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 

Recently uploaded (20)

CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
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?
 
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
 
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
 
Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
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
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
Unlocking the Potential of the Cloud for IBM Power Systems
Unlocking the Potential of the Cloud for IBM Power SystemsUnlocking the Potential of the Cloud for IBM Power Systems
Unlocking the Potential of the Cloud for IBM Power Systems
 
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other Frameworks
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 

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/