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
Csharp intsightCsharp intsight
Csharp intsight
 
Csharp intsight[1]
Csharp intsight[1]Csharp intsight[1]
Csharp intsight[1]
 
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

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
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...Zilliz
 
AI in Action: Real World Use Cases by Anitaraj
AI in Action: Real World Use Cases by AnitarajAI in Action: Real World Use Cases by Anitaraj
AI in Action: Real World Use Cases by AnitarajAnitaRaj43
 
JohnPollard-hybrid-app-RailsConf2024.pptx
JohnPollard-hybrid-app-RailsConf2024.pptxJohnPollard-hybrid-app-RailsConf2024.pptx
JohnPollard-hybrid-app-RailsConf2024.pptxJohnPollard37
 
WSO2 Micro Integrator for Enterprise Integration in a Decentralized, Microser...
WSO2 Micro Integrator for Enterprise Integration in a Decentralized, Microser...WSO2 Micro Integrator for Enterprise Integration in a Decentralized, Microser...
WSO2 Micro Integrator for Enterprise Integration in a Decentralized, Microser...WSO2
 
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
 
Simplifying Mobile A11y Presentation.pptx
Simplifying Mobile A11y Presentation.pptxSimplifying Mobile A11y Presentation.pptx
Simplifying Mobile A11y Presentation.pptxMarkSteadman7
 
Decarbonising Commercial Real Estate: The Role of Operational Performance
Decarbonising Commercial Real Estate: The Role of Operational PerformanceDecarbonising Commercial Real Estate: The Role of Operational Performance
Decarbonising Commercial Real Estate: The Role of Operational PerformanceIES VE
 
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Bhuvaneswari Subramani
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MIND CTI
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamUiPathCommunity
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityWSO2
 
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
 
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
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoffsammart93
 
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
 

Recently uploaded (20)

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
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
AI in Action: Real World Use Cases by Anitaraj
AI in Action: Real World Use Cases by AnitarajAI in Action: Real World Use Cases by Anitaraj
AI in Action: Real World Use Cases by Anitaraj
 
JohnPollard-hybrid-app-RailsConf2024.pptx
JohnPollard-hybrid-app-RailsConf2024.pptxJohnPollard-hybrid-app-RailsConf2024.pptx
JohnPollard-hybrid-app-RailsConf2024.pptx
 
WSO2 Micro Integrator for Enterprise Integration in a Decentralized, Microser...
WSO2 Micro Integrator for Enterprise Integration in a Decentralized, Microser...WSO2 Micro Integrator for Enterprise Integration in a Decentralized, Microser...
WSO2 Micro Integrator for Enterprise Integration in a Decentralized, Microser...
 
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
 
Simplifying Mobile A11y Presentation.pptx
Simplifying Mobile A11y Presentation.pptxSimplifying Mobile A11y Presentation.pptx
Simplifying Mobile A11y Presentation.pptx
 
Decarbonising Commercial Real Estate: The Role of Operational Performance
Decarbonising Commercial Real Estate: The Role of Operational PerformanceDecarbonising Commercial Real Estate: The Role of Operational Performance
Decarbonising Commercial Real Estate: The Role of Operational Performance
 
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 
Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital Adaptability
 
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
 
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
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
+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...
 
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
 

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/