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

Dramatically increase revenue on verio template
Dramatically increase revenue on verio templateDramatically increase revenue on verio template
Dramatically increase revenue on verio template
Janine 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 ERP
Death 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 Industry
kateimbach
 
Capitulo 3.4 Compras Mipro Erp
Capitulo 3.4 Compras Mipro ErpCapitulo 3.4 Compras Mipro Erp
Capitulo 3.4 Compras Mipro Erp
Death User
 

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

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 template
Janine 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 Innovation
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
Ingrid Bond
 
586-ΑΣΜΗΣ-ΙΩΑΝΝΗΣ1
586-ΑΣΜΗΣ-ΙΩΑΝΝΗΣ1586-ΑΣΜΗΣ-ΙΩΑΝΝΗΣ1
586-ΑΣΜΗΣ-ΙΩΑΝΝΗΣ1
Ioannis Asmis
 
Ssijialiye
SsijialiyeSsijialiye
Ssijialiye
renata7
 
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
Absolute 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

EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
Earley Information Science
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
Enterprise Knowledge
 

Recently uploaded (20)

What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
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
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
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
 

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/