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

[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdfSandro Moreira
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FMESafe Software
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MIND CTI
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Victor Rentea
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobeapidays
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxRustici Software
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingEdi Saputra
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAndrey Devyatkin
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistandanishmna97
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherRemote DBA Services
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfOrbitshub
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyKhushali Kathiriya
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodJuan lago vázquez
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Orbitshub
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...apidays
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Victor Rentea
 

Recently uploaded (20)

[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 

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/