SlideShare a Scribd company logo
1 of 94
Toni Menzel
Pax Exam 2


              1
Agenda

      
          Some Old Stuff
      
          Pax Exam 2.0 goals
      
          New Features
      
          Apache ACE
      
          Exam Compared




Toni Menzel, toni@okidokiteam.com, Twitter: tonit
3
History of Pax Exam


                Pax Drone                           Spring 2008
                Pax Exam 0.x                        Autumn 2008
                Pax Exam 1.0                        Summer 2009
                Pax Exam 2.0                        2010




Toni Menzel, toni@okidokiteam.com, Twitter: tonit
Recap



                   What is Pax Exam
           Short recap of what we have in 1.x




Toni Menzel, toni@okidokiteam.com, Twitter: tonit
Mission



            „Make it ridiculously easy to
      run some code against an OSGi setup“




Toni Menzel, toni@okidokiteam.com, Twitter: tonit
Pax Exam 1.x


                         „Pax Runner
                      in a JUnit4 capsule
                             doing
                   In-Container test runs“



Toni Menzel, toni@okidokiteam.com, Twitter: tonit
Pax Exam 1.x




Toni Menzel, toni@okidokiteam.com, Twitter: tonit
Pax Exam 1.x



     Thanks to Pax Runner we are good at
        bootstrapping OSGi Frameworks




Toni Menzel, toni@okidokiteam.com, Twitter: tonit
Pax Exam Anatomy


         „Pax Runner in a JUnit4 capsule
                    doing
            In-Container test runs“




Toni Menzel, toni@okidokiteam.com, Twitter: tonit
Pax Exam likes Maven




Toni Menzel, toni@okidokiteam.com, Twitter: tonit   10
Support for..




                                        Apache Felix

Toni Menzel, toni@okidokiteam.com, Twitter: tonit
Support for..




Toni Menzel, toni@okidokiteam.com, Twitter: tonit   12
Support for..




                                        Eclipse Equinox

Toni Menzel, toni@okidokiteam.com, Twitter: tonit
Pax Exam’s Option API




Toni Menzel, toni@okidokiteam.com, Twitter: tonit
Pax Exam’s Option API
  
      Leveraging Java5 static imports for fluent
      API




Toni Menzel, toni@okidokiteam.com, Twitter: tonit
Pax Exam’s Option API
  
      Leveraging Java5 static imports for fluent
      API
  
      Built on cascading
      org.ops4j.pax.exam.Option types




Toni Menzel, toni@okidokiteam.com, Twitter: tonit
Pax Exam’s Option API
  
      Leveraging Java5 static imports for fluent
      API
  
      Built on cascading
      org.ops4j.pax.exam.Option types



  
      (future note: maybe scala is a good
      successor for implementing this)



Toni Menzel, toni@okidokiteam.com, Twitter: tonit
Pax Exam’s Option API
  
      Leveraging Java5 static imports for fluent
      API
  
      Built on cascading
      org.ops4j.pax.exam.Option types



  
      (future note: maybe scala is a good
      successor for implementing this)



Toni Menzel, toni@okidokiteam.com, Twitter: tonit
Pax Exam at version 1.x




Toni Menzel, toni@okidokiteam.com, Twitter: tonit
Pax Exam at version 1.x
   
       Rich API on top of Pax Runner




Toni Menzel, toni@okidokiteam.com, Twitter: tonit
Pax Exam at version 1.x
   
       Rich API on top of Pax Runner
   
       Driven by JUnit4




Toni Menzel, toni@okidokiteam.com, Twitter: tonit
Pax Exam at version 1.x
   
       Rich API on top of Pax Runner
   
       Driven by JUnit4
   
       In-Container Testing




Toni Menzel, toni@okidokiteam.com, Twitter: tonit
Pax Exam at version 1.x
   
       Rich API on top of Pax Runner
   
       Driven by JUnit4
   
       In-Container Testing
   
       Isolated container sessions (consistency
       over speed)




Toni Menzel, toni@okidokiteam.com, Twitter: tonit
Pax Exam at version 1.x
   
       Rich API on top of Pax Runner
   
       Driven by JUnit4
   
       In-Container Testing
   
       Isolated container sessions (consistency
       over speed)
   
       Integrates very well into different build
       environments: IDEs, Maven, ANT, etc..



Toni Menzel, toni@okidokiteam.com, Twitter: tonit
Pax Exam 2.0 Theme



                             Pax Exam 2
              is a Platform for OSGi Testing




Toni Menzel, toni@okidokiteam.com, Twitter: tonit
Pax Exam 2.0 Goal (2)




Toni Menzel, toni@okidokiteam.com, Twitter: tonit
Pax Exam 2.0 Goal (2)
  
      More power to the developer




Toni Menzel, toni@okidokiteam.com, Twitter: tonit
Pax Exam 2.0 Goal (2)
  
      More power to the developer
  
      Embrace OSGi capabilities




Toni Menzel, toni@okidokiteam.com, Twitter: tonit
Pax Exam 2.0 Goal (2)
  
      More power to the developer
  
      Embrace OSGi capabilities
  
      Help you to deliver




Toni Menzel, toni@okidokiteam.com, Twitter: tonit
Pax Exam 2.0 Goal (2)
  
      More power to the developer
  
      Embrace OSGi capabilities
  
      Help you to deliver




Toni Menzel, toni@okidokiteam.com, Twitter: tonit
Design
         Dependency
                              Peaberry              IPOJO           DS
          Manager

           Mockito           EasyMock               JMock        EasyMock




                                                                              Development Stack
            JUnit4             JUnit3                Main         TestNG

           Native            Pax Runner
                                                 Remote Target   ACE Target
          Container           Container

                                           SPI


                                          Runtime




Toni Menzel, toni@okidokiteam.com, Twitter: tonit
New in 2.0



                    Some Highlights



Toni Menzel, toni@okidokiteam.com, Twitter: tonit
New: Out-of Container




Toni Menzel, toni@okidokiteam.com, Twitter: tonit
New: Out-of Container (2)




Toni Menzel, toni@okidokiteam.com, Twitter: tonit
New: Out-of Container (2)
     
         Very core of Pax Exam (SPI Layer)




Toni Menzel, toni@okidokiteam.com, Twitter: tonit
New: Out-of Container (2)
     
         Very core of Pax Exam (SPI Layer)
     
         Uses this internally for the In-Container
         mode




Toni Menzel, toni@okidokiteam.com, Twitter: tonit
New: Out-of Container (2)
     
         Very core of Pax Exam (SPI Layer)
     
         Uses this internally for the In-Container
         mode
     
         Allows to fully control the container
         lifecycle




Toni Menzel, toni@okidokiteam.com, Twitter: tonit
New: Out-of Container (2)
     
         Very core of Pax Exam (SPI Layer)
     
         Uses this internally for the In-Container
         mode
     
         Allows to fully control the container
         lifecycle
     
         Usually you will use this to extend Pax
         Exam’s User Interfaces




Toni Menzel, toni@okidokiteam.com, Twitter: tonit
New: Probe Builder




Toni Menzel, toni@okidokiteam.com, Twitter: tonit
New: Probe Builder
  
      Probe contains your test code




Toni Menzel, toni@okidokiteam.com, Twitter: tonit
New: Probe Builder
  
      Probe contains your test code
  
      Usually built under the hood automatically




Toni Menzel, toni@okidokiteam.com, Twitter: tonit
New: Probe Builder
  
      Probe contains your test code
  
      Usually built under the hood automatically
  
      Sometimes you want to hand-roll them to
      support your case




Toni Menzel, toni@okidokiteam.com, Twitter: tonit
New: Probe Builder
  
       Probe contains your test code
  
       Usually built under the hood automatically
  
       Sometimes you want to hand-roll them to
       support your case
   
       Extender Pattern




Toni Menzel, toni@okidokiteam.com, Twitter: tonit
New: Probe Builder
  
       Probe contains your test code
  
       Usually built under the hood automatically
  
       Sometimes you want to hand-roll them to
       support your case
   
       Extender Pattern
   
       Service:
       org.ops4j.pax.exam.raw.extender.ProbeInvoker




Toni Menzel, toni@okidokiteam.com, Twitter: tonit
New: Restart policy




Toni Menzel, toni@okidokiteam.com, Twitter: tonit
New: Restart policy
  
      Isolation vs. speed




Toni Menzel, toni@okidokiteam.com, Twitter: tonit
New: Restart policy
  
      Isolation vs. speed
  
      Re-Use Policies available:




Toni Menzel, toni@okidokiteam.com, Twitter: tonit
New: Restart policy
  
      Isolation vs. speed
  
      Re-Use Policies available:
      
          NEVER: Pax Exam 1.x behaviour




Toni Menzel, toni@okidokiteam.com, Twitter: tonit
New: Restart policy
  
      Isolation vs. speed
  
      Re-Use Policies available:
      
          NEVER: Pax Exam 1.x behaviour
      
          TESTCASE




Toni Menzel, toni@okidokiteam.com, Twitter: tonit
New: Restart policy
  
      Isolation vs. speed
  
      Re-Use Policies available:
      
          NEVER: Pax Exam 1.x behaviour
      
          TESTCASE
      
          ALWAYS




Toni Menzel, toni@okidokiteam.com, Twitter: tonit
New: Restart policy
  
      Isolation vs. speed
  
      Re-Use Policies available:
      
          NEVER: Pax Exam 1.x behaviour
      
          TESTCASE
      
          ALWAYS




Toni Menzel, toni@okidokiteam.com, Twitter: tonit
New: Native Container




Toni Menzel, toni@okidokiteam.com, Twitter: tonit
New: Native Container
     
         Works with OSGi Core 4.2 spec fw




Toni Menzel, toni@okidokiteam.com, Twitter: tonit
New: Native Container
     
         Works with OSGi Core 4.2 spec fw
     
         Spec 4.2 Launch API and Discovery




Toni Menzel, toni@okidokiteam.com, Twitter: tonit
New: Native Container
     
         Works with OSGi Core 4.2 spec fw
     
         Spec 4.2 Launch API and Discovery
     Pro




Toni Menzel, toni@okidokiteam.com, Twitter: tonit
New: Native Container
     
         Works with OSGi Core 4.2 spec fw
     
         Spec 4.2 Launch API and Discovery
     Pro
         
             no extra VM: fast




Toni Menzel, toni@okidokiteam.com, Twitter: tonit
New: Native Container
     
         Works with OSGi Core 4.2 spec fw
     
         Spec 4.2 Launch API and Discovery
     Pro
         
             no extra VM: fast
     Cons




Toni Menzel, toni@okidokiteam.com, Twitter: tonit
New: Native Container
     
          Works with OSGi Core 4.2 spec fw
     
          Spec 4.2 Launch API and Discovery
     Pro
          
              no extra VM: fast
     Cons
      
          Not all options available




Toni Menzel, toni@okidokiteam.com, Twitter: tonit
New: Remote Target




Toni Menzel, toni@okidokiteam.com, Twitter: tonit
New: Remote Target
     
         Target is a subset of a container




Toni Menzel, toni@okidokiteam.com, Twitter: tonit
New: Remote Target
     
         Target is a subset of a container
     
         Lets you connect with a running instance




Toni Menzel, toni@okidokiteam.com, Twitter: tonit
New: Remote Target
     
         Target is a subset of a container
     
         Lets you connect with a running instance
     
         Uses RMI under the hood




Toni Menzel, toni@okidokiteam.com, Twitter: tonit
New: Remote Target
     
         Target is a subset of a container
     
         Lets you connect with a running instance
     
         Uses RMI under the hood
     Good for




Toni Menzel, toni@okidokiteam.com, Twitter: tonit
New: Remote Target
     
         Target is a subset of a container
     
         Lets you connect with a running instance
     
         Uses RMI under the hood
     Good for
     
         on device testing




Toni Menzel, toni@okidokiteam.com, Twitter: tonit
New: Remote Target
     
         Target is a subset of a container
     
         Lets you connect with a running instance
     
         Uses RMI under the hood
     Good for
     
         on device testing
     
         interactive development




Toni Menzel, toni@okidokiteam.com, Twitter: tonit
New: Remote Target
     
         Target is a subset of a container
     
         Lets you connect with a running instance
     
         Uses RMI under the hood
     Good for
     
         on device testing
     
         interactive development
     
         Mixed Architecture


Toni Menzel, toni@okidokiteam.com, Twitter: tonit
New: Remote Target




Toni Menzel, toni@okidokiteam.com, Twitter: tonit
New: Remote Target




Toni Menzel, toni@okidokiteam.com, Twitter: tonit
New: Remote Target




Toni Menzel, toni@okidokiteam.com, Twitter: tonit
New: Remote Target




Toni Menzel, toni@okidokiteam.com, Twitter: tonit
New: Remote Target




Toni Menzel, toni@okidokiteam.com, Twitter: tonit
New: Remote Target




Toni Menzel, toni@okidokiteam.com, Twitter: tonit
New: Remote Target




Toni Menzel, toni@okidokiteam.com, Twitter: tonit
New: Remote Target




Toni Menzel, toni@okidokiteam.com, Twitter: tonit
New: ACE Target (1)




Toni Menzel, toni@okidokiteam.com, Twitter: tonit
Apache ACE in a nutshell
                                                                  !"#$%!
                                                              0"&"$%0%&!.
                                                                 "$%&!


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


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




Toni Menzel, toni@okidokiteam.com, Twitter: tonit
Apache ACE in a nutshell
                                         !"#$%!
                                     0"&"$%0%&!.
                                        "$%&!


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


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




Toni Menzel, toni@okidokiteam.com, Twitter: tonit
Apache ACE in a nutshell
                                            !"#$%!
                                        0"&"$%0%&!.
                                           "$%&!


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


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

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




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


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




Toni Menzel, toni@okidokiteam.com, Twitter: tonit
Apache ACE in a nutshell




Toni Menzel, toni@okidokiteam.com, Twitter: tonit
Apache ACE in a nutshell
     
         DeploymentPackages & DeploymentAdmin
         on steroids




Toni Menzel, toni@okidokiteam.com, Twitter: tonit
Apache ACE in a nutshell
     
         DeploymentPackages & DeploymentAdmin
         on steroids
     
         atomic deployment




Toni Menzel, toni@okidokiteam.com, Twitter: tonit
Apache ACE in a nutshell
     
         DeploymentPackages & DeploymentAdmin
         on steroids
     
         atomic deployment
     
         automatic rollback




Toni Menzel, toni@okidokiteam.com, Twitter: tonit
Apache ACE in a nutshell
     
         DeploymentPackages & DeploymentAdmin
         on steroids
     
         atomic deployment
     
         automatic rollback
     
         strong versioning support




Toni Menzel, toni@okidokiteam.com, Twitter: tonit
Apache ACE in a nutshell
     
         DeploymentPackages & DeploymentAdmin
         on steroids
     
         atomic deployment
     
         automatic rollback
     
         strong versioning support
     
         repository concepts: checkout/commit




Toni Menzel, toni@okidokiteam.com, Twitter: tonit
New: ACE Target (2)




Toni Menzel, toni@okidokiteam.com, Twitter: tonit
New: ACE Target (2)
     
         Pax Exam acts as an ACE Client




Toni Menzel, toni@okidokiteam.com, Twitter: tonit
New: ACE Target (2)
     
         Pax Exam acts as an ACE Client
     
         Similar to Remote Target, but speaking ACE




Toni Menzel, toni@okidokiteam.com, Twitter: tonit
New: ACE Target (2)
     
         Pax Exam acts as an ACE Client
     
         Similar to Remote Target, but speaking ACE
     Good for




Toni Menzel, toni@okidokiteam.com, Twitter: tonit
New: ACE Target (2)
     
         Pax Exam acts as an ACE Client
     
         Similar to Remote Target, but speaking ACE
     Good for
     
         cloud like testing




Toni Menzel, toni@okidokiteam.com, Twitter: tonit
New: ACE Target (2)
     
         Pax Exam acts as an ACE Client
     
         Similar to Remote Target, but speaking ACE
     Good for
     
         cloud like testing
                                                                    target
                                       provisioning             management
                Pax Exam    network                   network
                                          server                   agent


                                                                    target
                                                                management
                                                                   agent




Toni Menzel, toni@okidokiteam.com, Twitter: tonit
Compared
                                   Pax Drone        Pax Exam 1.x   Pax Exam 2
    Fluent Option API                      n.a.            yes           yes
    Test Containers                            1            1              4
    Test Targets                               0            0              2
    In-Container Testing                   yes             yes           yes
    Out-Of Container Testing               n.a.            n.a.          yes
    Container Workflow                     n.a.            n.a.          yes
    Custom Test Probes                     n.a.            n.a.          yes
    JUnit3 Support                         yes             n.a.          yes
    JUnit4 Support                         n.a.            yes           yes
    TestNG Support                         n.a.            n.a.          yes
    Good                                 probably         better      much better




Toni Menzel, toni@okidokiteam.com, Twitter: tonit
Where?

     http://github.com/okidokiteam/exxam




     http://paxexam.ops4j.org




Toni Menzel, toni@okidokiteam.com, Twitter: tonit   33
Questions



            34

More Related Content

Recently uploaded

DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxBkGupta21
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfPrecisely
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxLoriGlavin3
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersRaghuram Pandurangan
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 

Recently uploaded (20)

DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptx
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information Developers
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 

Featured

2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by HubspotMarius Sescu
 
Everything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTEverything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTExpeed Software
 
Product Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsProduct Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsPixeldarts
 
How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthThinkNow
 
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfmarketingartwork
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024Neil Kimberley
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)contently
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024Albert Qian
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsKurio // The Social Media Age(ncy)
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Search Engine Journal
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summarySpeakerHub
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next Tessa Mero
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentLily Ray
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best PracticesVit Horky
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project managementMindGenius
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...RachelPearson36
 

Featured (20)

2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot
 
Everything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTEverything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPT
 
Product Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsProduct Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage Engineerings
 
How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental Health
 
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
 
Skeleton Culture Code
Skeleton Culture CodeSkeleton Culture Code
Skeleton Culture Code
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search Intent
 
How to have difficult conversations
How to have difficult conversations How to have difficult conversations
How to have difficult conversations
 
Introduction to Data Science
Introduction to Data ScienceIntroduction to Data Science
Introduction to Data Science
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best Practices
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project management
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
 

Pax Exam 2

  • 2. Agenda  Some Old Stuff  Pax Exam 2.0 goals  New Features  Apache ACE  Exam Compared Toni Menzel, toni@okidokiteam.com, Twitter: tonit
  • 3. 3
  • 4. History of Pax Exam Pax Drone Spring 2008 Pax Exam 0.x Autumn 2008 Pax Exam 1.0 Summer 2009 Pax Exam 2.0 2010 Toni Menzel, toni@okidokiteam.com, Twitter: tonit
  • 5. Recap What is Pax Exam Short recap of what we have in 1.x Toni Menzel, toni@okidokiteam.com, Twitter: tonit
  • 6. Mission „Make it ridiculously easy to run some code against an OSGi setup“ Toni Menzel, toni@okidokiteam.com, Twitter: tonit
  • 7. Pax Exam 1.x „Pax Runner in a JUnit4 capsule doing In-Container test runs“ Toni Menzel, toni@okidokiteam.com, Twitter: tonit
  • 8. Pax Exam 1.x Toni Menzel, toni@okidokiteam.com, Twitter: tonit
  • 9. Pax Exam 1.x Thanks to Pax Runner we are good at bootstrapping OSGi Frameworks Toni Menzel, toni@okidokiteam.com, Twitter: tonit
  • 10. Pax Exam Anatomy „Pax Runner in a JUnit4 capsule doing In-Container test runs“ Toni Menzel, toni@okidokiteam.com, Twitter: tonit
  • 11. Pax Exam likes Maven Toni Menzel, toni@okidokiteam.com, Twitter: tonit 10
  • 12. Support for.. Apache Felix Toni Menzel, toni@okidokiteam.com, Twitter: tonit
  • 13. Support for.. Toni Menzel, toni@okidokiteam.com, Twitter: tonit 12
  • 14. Support for.. Eclipse Equinox Toni Menzel, toni@okidokiteam.com, Twitter: tonit
  • 15. Pax Exam’s Option API Toni Menzel, toni@okidokiteam.com, Twitter: tonit
  • 16. Pax Exam’s Option API  Leveraging Java5 static imports for fluent API Toni Menzel, toni@okidokiteam.com, Twitter: tonit
  • 17. Pax Exam’s Option API  Leveraging Java5 static imports for fluent API  Built on cascading org.ops4j.pax.exam.Option types Toni Menzel, toni@okidokiteam.com, Twitter: tonit
  • 18. Pax Exam’s Option API  Leveraging Java5 static imports for fluent API  Built on cascading org.ops4j.pax.exam.Option types  (future note: maybe scala is a good successor for implementing this) Toni Menzel, toni@okidokiteam.com, Twitter: tonit
  • 19. Pax Exam’s Option API  Leveraging Java5 static imports for fluent API  Built on cascading org.ops4j.pax.exam.Option types  (future note: maybe scala is a good successor for implementing this) Toni Menzel, toni@okidokiteam.com, Twitter: tonit
  • 20. Pax Exam at version 1.x Toni Menzel, toni@okidokiteam.com, Twitter: tonit
  • 21. Pax Exam at version 1.x  Rich API on top of Pax Runner Toni Menzel, toni@okidokiteam.com, Twitter: tonit
  • 22. Pax Exam at version 1.x  Rich API on top of Pax Runner  Driven by JUnit4 Toni Menzel, toni@okidokiteam.com, Twitter: tonit
  • 23. Pax Exam at version 1.x  Rich API on top of Pax Runner  Driven by JUnit4  In-Container Testing Toni Menzel, toni@okidokiteam.com, Twitter: tonit
  • 24. Pax Exam at version 1.x  Rich API on top of Pax Runner  Driven by JUnit4  In-Container Testing  Isolated container sessions (consistency over speed) Toni Menzel, toni@okidokiteam.com, Twitter: tonit
  • 25. Pax Exam at version 1.x  Rich API on top of Pax Runner  Driven by JUnit4  In-Container Testing  Isolated container sessions (consistency over speed)  Integrates very well into different build environments: IDEs, Maven, ANT, etc.. Toni Menzel, toni@okidokiteam.com, Twitter: tonit
  • 26. Pax Exam 2.0 Theme Pax Exam 2 is a Platform for OSGi Testing Toni Menzel, toni@okidokiteam.com, Twitter: tonit
  • 27. Pax Exam 2.0 Goal (2) Toni Menzel, toni@okidokiteam.com, Twitter: tonit
  • 28. Pax Exam 2.0 Goal (2)  More power to the developer Toni Menzel, toni@okidokiteam.com, Twitter: tonit
  • 29. Pax Exam 2.0 Goal (2)  More power to the developer  Embrace OSGi capabilities Toni Menzel, toni@okidokiteam.com, Twitter: tonit
  • 30. Pax Exam 2.0 Goal (2)  More power to the developer  Embrace OSGi capabilities  Help you to deliver Toni Menzel, toni@okidokiteam.com, Twitter: tonit
  • 31. Pax Exam 2.0 Goal (2)  More power to the developer  Embrace OSGi capabilities  Help you to deliver Toni Menzel, toni@okidokiteam.com, Twitter: tonit
  • 32. Design Dependency Peaberry IPOJO DS Manager Mockito EasyMock JMock EasyMock Development Stack JUnit4 JUnit3 Main TestNG Native Pax Runner Remote Target ACE Target Container Container SPI Runtime Toni Menzel, toni@okidokiteam.com, Twitter: tonit
  • 33. New in 2.0 Some Highlights Toni Menzel, toni@okidokiteam.com, Twitter: tonit
  • 34. New: Out-of Container Toni Menzel, toni@okidokiteam.com, Twitter: tonit
  • 35. New: Out-of Container (2) Toni Menzel, toni@okidokiteam.com, Twitter: tonit
  • 36. New: Out-of Container (2)  Very core of Pax Exam (SPI Layer) Toni Menzel, toni@okidokiteam.com, Twitter: tonit
  • 37. New: Out-of Container (2)  Very core of Pax Exam (SPI Layer)  Uses this internally for the In-Container mode Toni Menzel, toni@okidokiteam.com, Twitter: tonit
  • 38. New: Out-of Container (2)  Very core of Pax Exam (SPI Layer)  Uses this internally for the In-Container mode  Allows to fully control the container lifecycle Toni Menzel, toni@okidokiteam.com, Twitter: tonit
  • 39. New: Out-of Container (2)  Very core of Pax Exam (SPI Layer)  Uses this internally for the In-Container mode  Allows to fully control the container lifecycle  Usually you will use this to extend Pax Exam’s User Interfaces Toni Menzel, toni@okidokiteam.com, Twitter: tonit
  • 40. New: Probe Builder Toni Menzel, toni@okidokiteam.com, Twitter: tonit
  • 41. New: Probe Builder  Probe contains your test code Toni Menzel, toni@okidokiteam.com, Twitter: tonit
  • 42. New: Probe Builder  Probe contains your test code  Usually built under the hood automatically Toni Menzel, toni@okidokiteam.com, Twitter: tonit
  • 43. New: Probe Builder  Probe contains your test code  Usually built under the hood automatically  Sometimes you want to hand-roll them to support your case Toni Menzel, toni@okidokiteam.com, Twitter: tonit
  • 44. New: Probe Builder  Probe contains your test code  Usually built under the hood automatically  Sometimes you want to hand-roll them to support your case  Extender Pattern Toni Menzel, toni@okidokiteam.com, Twitter: tonit
  • 45. New: Probe Builder  Probe contains your test code  Usually built under the hood automatically  Sometimes you want to hand-roll them to support your case  Extender Pattern  Service: org.ops4j.pax.exam.raw.extender.ProbeInvoker Toni Menzel, toni@okidokiteam.com, Twitter: tonit
  • 46. New: Restart policy Toni Menzel, toni@okidokiteam.com, Twitter: tonit
  • 47. New: Restart policy  Isolation vs. speed Toni Menzel, toni@okidokiteam.com, Twitter: tonit
  • 48. New: Restart policy  Isolation vs. speed  Re-Use Policies available: Toni Menzel, toni@okidokiteam.com, Twitter: tonit
  • 49. New: Restart policy  Isolation vs. speed  Re-Use Policies available:  NEVER: Pax Exam 1.x behaviour Toni Menzel, toni@okidokiteam.com, Twitter: tonit
  • 50. New: Restart policy  Isolation vs. speed  Re-Use Policies available:  NEVER: Pax Exam 1.x behaviour  TESTCASE Toni Menzel, toni@okidokiteam.com, Twitter: tonit
  • 51. New: Restart policy  Isolation vs. speed  Re-Use Policies available:  NEVER: Pax Exam 1.x behaviour  TESTCASE  ALWAYS Toni Menzel, toni@okidokiteam.com, Twitter: tonit
  • 52. New: Restart policy  Isolation vs. speed  Re-Use Policies available:  NEVER: Pax Exam 1.x behaviour  TESTCASE  ALWAYS Toni Menzel, toni@okidokiteam.com, Twitter: tonit
  • 53. New: Native Container Toni Menzel, toni@okidokiteam.com, Twitter: tonit
  • 54. New: Native Container  Works with OSGi Core 4.2 spec fw Toni Menzel, toni@okidokiteam.com, Twitter: tonit
  • 55. New: Native Container  Works with OSGi Core 4.2 spec fw  Spec 4.2 Launch API and Discovery Toni Menzel, toni@okidokiteam.com, Twitter: tonit
  • 56. New: Native Container  Works with OSGi Core 4.2 spec fw  Spec 4.2 Launch API and Discovery Pro Toni Menzel, toni@okidokiteam.com, Twitter: tonit
  • 57. New: Native Container  Works with OSGi Core 4.2 spec fw  Spec 4.2 Launch API and Discovery Pro  no extra VM: fast Toni Menzel, toni@okidokiteam.com, Twitter: tonit
  • 58. New: Native Container  Works with OSGi Core 4.2 spec fw  Spec 4.2 Launch API and Discovery Pro  no extra VM: fast Cons Toni Menzel, toni@okidokiteam.com, Twitter: tonit
  • 59. New: Native Container  Works with OSGi Core 4.2 spec fw  Spec 4.2 Launch API and Discovery Pro  no extra VM: fast Cons  Not all options available Toni Menzel, toni@okidokiteam.com, Twitter: tonit
  • 60. New: Remote Target Toni Menzel, toni@okidokiteam.com, Twitter: tonit
  • 61. New: Remote Target  Target is a subset of a container Toni Menzel, toni@okidokiteam.com, Twitter: tonit
  • 62. New: Remote Target  Target is a subset of a container  Lets you connect with a running instance Toni Menzel, toni@okidokiteam.com, Twitter: tonit
  • 63. New: Remote Target  Target is a subset of a container  Lets you connect with a running instance  Uses RMI under the hood Toni Menzel, toni@okidokiteam.com, Twitter: tonit
  • 64. New: Remote Target  Target is a subset of a container  Lets you connect with a running instance  Uses RMI under the hood Good for Toni Menzel, toni@okidokiteam.com, Twitter: tonit
  • 65. New: Remote Target  Target is a subset of a container  Lets you connect with a running instance  Uses RMI under the hood Good for  on device testing Toni Menzel, toni@okidokiteam.com, Twitter: tonit
  • 66. New: Remote Target  Target is a subset of a container  Lets you connect with a running instance  Uses RMI under the hood Good for  on device testing  interactive development Toni Menzel, toni@okidokiteam.com, Twitter: tonit
  • 67. New: Remote Target  Target is a subset of a container  Lets you connect with a running instance  Uses RMI under the hood Good for  on device testing  interactive development  Mixed Architecture Toni Menzel, toni@okidokiteam.com, Twitter: tonit
  • 68. New: Remote Target Toni Menzel, toni@okidokiteam.com, Twitter: tonit
  • 69. New: Remote Target Toni Menzel, toni@okidokiteam.com, Twitter: tonit
  • 70. New: Remote Target Toni Menzel, toni@okidokiteam.com, Twitter: tonit
  • 71. New: Remote Target Toni Menzel, toni@okidokiteam.com, Twitter: tonit
  • 72. New: Remote Target Toni Menzel, toni@okidokiteam.com, Twitter: tonit
  • 73. New: Remote Target Toni Menzel, toni@okidokiteam.com, Twitter: tonit
  • 74. New: Remote Target Toni Menzel, toni@okidokiteam.com, Twitter: tonit
  • 75. New: Remote Target Toni Menzel, toni@okidokiteam.com, Twitter: tonit
  • 76. New: ACE Target (1) Toni Menzel, toni@okidokiteam.com, Twitter: tonit
  • 77. Apache ACE in a nutshell !"#$%! 0"&"$%0%&!. "$%&! !"#$%! /2,%&! *#(+,-,(&,&$. 0"&"$%0%&!. &%!'(#) -%#+%# "$%&! !"#$%! 0"&"$%0%&!. "$%&! /(0*(&%&!. #%*(-,!(#1 Toni Menzel, toni@okidokiteam.com, Twitter: tonit
  • 78. Apache ACE in a nutshell !"#$%! 0"&"$%0%&!. "$%&! !"#$%! /2,%&! *#(+,-,(&,&$. 0"&"$%0%&!. &%!'(#) -%#+%# "$%&! !"#$%! 0"&"$%0%&!. "$%&! /(0*(&%&!. #%*(-,!(#1 Toni Menzel, toni@okidokiteam.com, Twitter: tonit
  • 79. Apache ACE in a nutshell !"#$%! 0"&"$%0%&!. "$%&! !"#$%! /2,%&! *#(+,-,(&,&$. 0"&"$%0%&!. &%!'(#) -%#+%# "$%&! !"#$%! 0"&"$%0%&!. "$%&! !"#$%&'(! +%",-'(! /(0*(&%&!. #%*(-,!(#1 !"#$%&'() +%",-'() !"#$%&'(* +%",-'(* Toni Menzel, toni@okidokiteam.com, Twitter: tonit
  • 80. Apache ACE in a nutshell Toni Menzel, toni@okidokiteam.com, Twitter: tonit
  • 81. Apache ACE in a nutshell  DeploymentPackages & DeploymentAdmin on steroids Toni Menzel, toni@okidokiteam.com, Twitter: tonit
  • 82. Apache ACE in a nutshell  DeploymentPackages & DeploymentAdmin on steroids  atomic deployment Toni Menzel, toni@okidokiteam.com, Twitter: tonit
  • 83. Apache ACE in a nutshell  DeploymentPackages & DeploymentAdmin on steroids  atomic deployment  automatic rollback Toni Menzel, toni@okidokiteam.com, Twitter: tonit
  • 84. Apache ACE in a nutshell  DeploymentPackages & DeploymentAdmin on steroids  atomic deployment  automatic rollback  strong versioning support Toni Menzel, toni@okidokiteam.com, Twitter: tonit
  • 85. Apache ACE in a nutshell  DeploymentPackages & DeploymentAdmin on steroids  atomic deployment  automatic rollback  strong versioning support  repository concepts: checkout/commit Toni Menzel, toni@okidokiteam.com, Twitter: tonit
  • 86. New: ACE Target (2) Toni Menzel, toni@okidokiteam.com, Twitter: tonit
  • 87. New: ACE Target (2)  Pax Exam acts as an ACE Client Toni Menzel, toni@okidokiteam.com, Twitter: tonit
  • 88. New: ACE Target (2)  Pax Exam acts as an ACE Client  Similar to Remote Target, but speaking ACE Toni Menzel, toni@okidokiteam.com, Twitter: tonit
  • 89. New: ACE Target (2)  Pax Exam acts as an ACE Client  Similar to Remote Target, but speaking ACE Good for Toni Menzel, toni@okidokiteam.com, Twitter: tonit
  • 90. New: ACE Target (2)  Pax Exam acts as an ACE Client  Similar to Remote Target, but speaking ACE Good for  cloud like testing Toni Menzel, toni@okidokiteam.com, Twitter: tonit
  • 91. New: ACE Target (2)  Pax Exam acts as an ACE Client  Similar to Remote Target, but speaking ACE Good for  cloud like testing target provisioning management Pax Exam network network server agent target management agent Toni Menzel, toni@okidokiteam.com, Twitter: tonit
  • 92. Compared Pax Drone Pax Exam 1.x Pax Exam 2 Fluent Option API n.a. yes yes Test Containers 1 1 4 Test Targets 0 0 2 In-Container Testing yes yes yes Out-Of Container Testing n.a. n.a. yes Container Workflow n.a. n.a. yes Custom Test Probes n.a. n.a. yes JUnit3 Support yes n.a. yes JUnit4 Support n.a. yes yes TestNG Support n.a. n.a. yes Good probably better much better Toni Menzel, toni@okidokiteam.com, Twitter: tonit
  • 93. Where? http://github.com/okidokiteam/exxam http://paxexam.ops4j.org Toni Menzel, toni@okidokiteam.com, Twitter: tonit 33
  • 94. Questions 34

Editor's Notes

  1. This is the anatomy of a Pax Exam test. What is most important here is what you don’t see: Pax Exam’s concept of the Test Probe.
  2. of cause Apache Felix
  3. also Eclipse Equinox
  4. this picture is taken at the finishing line of the New York Marathon in Central Park NY.
  5. this picture is taken at the finishing line of the New York Marathon in Central Park NY.
  6. this picture is taken at the finishing line of the New York Marathon in Central Park NY.
  7. this picture is taken at the finishing line of the New York Marathon in Central Park NY.