SlideShare uma empresa Scribd logo
1 de 128
Baixar para ler offline
Europe


vrijdag 26 juni 2009
vrijdag 26 juni 2009
Peter Kriens
                                   OSGi Evangelist



                                           Europe




                       OSGi Next
vrijdag 26 juni 2009
OSGi Service Platform
                       Core Specification




vrijdag 26 juni 2009
Planning 4.2

                       • Core released for approval June 10
                       • Working on the final draft for
                           Compendium as we speak
                           • Compendium : July 10
                       •   Enterprise Release Autumn
                       •   Residential Release Spring 2010



vrijdag 26 juni 2009
Legend




vrijdag 26 juni 2009
Legend
                         Bundle
                           A




                         Bundle
                           B




vrijdag 26 juni 2009
Legend
                             Bundle
                               A




                       Service


                             Bundle
                               B




vrijdag 26 juni 2009
Legend
                             Bundle
                               A


                                 getService


                       Service
                                 registerService



                             Bundle
                               B




vrijdag 26 juni 2009
Legend
                             Bundle
                               A


                                 getService

                                                   Bundle
                       Service                       C
                                 registerService



                             Bundle
                               B




vrijdag 26 juni 2009
Legend
                             Bundle
                               A


                                 getService

                                                           Bundle
                       Service        addServiceListener
                                                             C
                                 registerService



                             Bundle
                               B




vrijdag 26 juni 2009
Legend
                                               Bundle
                                                 A


                                                   getService
                       Call/Dependency
                                                                             Bundle
                           Direction
                                         Service        addServiceListener
                                                                               C
                                                   registerService



                                               Bundle
                                                 B




vrijdag 26 juni 2009
Core

                       • Launching
                       • Bundle Tracker
                       • Bundle-License Header
                       • Service Hooks
                       • Negative Permissions

vrijdag 26 juni 2009
Launching

                       • To be inside a framework …
                       • Or outside a framework ...
                       • That’s the question!


vrijdag 26 juni 2009
Launching

                       • Standardizes launching different
                           frameworks
                       •   Will enable generic launchers
                       •   Allows you to embed a framework in your
                           application!




vrijdag 26 juni 2009
Launching
                       Map<String,String> p = new HashMap<String,String>();
                       List<String> impls = getMetaInfServices(
                           loader, FrameworkFactory.class.getName());
                       if (impls.size() != 1)
                             throw new RuntimeException(
                               "Too many frameworks: "+ impls);

                       Class<?> clazz = loader.loadClass(impls.get(0));
                       FrameworkFactory factory = (FrameworkFactory) clazz
                                            .newInstance();

                       Framework fw = factory.newFramework(p);
                       Bundle b = fw.installBundle( “http://.../load/…”);
                       b.start();




vrijdag 26 juni 2009
Bundle Tracker
                       • Simple tool a la Service Tracker to track
                           bundles
                       •   Very useful for extenders
                           • Bundles that provide additional
                             functionality based on data in a bundle
                       •   Tracks a set of states
                           • Handles all concurrency issues


vrijdag 26 juni 2009
Service Hooks

                       • FindHook
                        • Intercept getServiceReference(s)
                       • EventHook
                        • Intercept Service Event delivery
                       • ListenerHook
                        • Find out who is listening to what

vrijdag 26 juni 2009
Service Hooks
                            Bundle
                              A




                            Bundle
                              B


vrijdag 26 juni 2009
Service Hooks
                            Bundle
                              A




                                     Proxy
                                     Bundle




                            Bundle
                              B


vrijdag 26 juni 2009
Service Hooks
                            Bundle
                              A




                                      FindHook   Proxy
                                     EventHook   Bundle




                            Bundle
                              B


vrijdag 26 juni 2009
Service Hooks
                            Bundle
                              A




                                      FindHook   Proxy
                                     EventHook   Bundle




                            Bundle
                              B


vrijdag 26 juni 2009
Service Hooks
                            Bundle
                              A
                                                 ListenerHook




                                      FindHook    Proxy
                                     EventHook    Bundle




                            Bundle
                              B


vrijdag 26 juni 2009
Service Hooks
                            Bundle
                              A
                                                 ListenerHook




                                      FindHook    Proxy
                                     EventHook    Bundle




                            Bundle
                              B


vrijdag 26 juni 2009
Negative Permissions

                       • Java 2 Permissions are only positive
                       • That is, you grant a permission P
                        • PackagePermission(com.acme,IMPORT)
                       • Very hard to say, all permissions except P
                       • Lack of deny permissions

vrijdag 26 juni 2009
Negative Permissions

                  DENY {
                     [...BundleSignerCondition "cn=*, o=ACME" "!" ]
                     (...PackagePermission "com.acme.secret.*"
                           "import,exportonly" )
                  }
                  ALLOW {
                      (...PackagePermission "*" "*" )
                  }




vrijdag 26 juni 2009
Compendium

                       • Initial Provisioning
                       • Bundle Tracker
                       • Declarative Services
                       • Remote Services
                       • Blueprint Extender

vrijdag 26 juni 2009
Remote Services

                       • RFC 119
                       • Formerly Distributed OSGi
                       • Distribution Software uses services to:
                        • Maps a service to/from a remote system
                        • Uses a service to abstract a
                           communication endpoint



vrijdag 26 juni 2009
Remote Services


                          Distribution   Distribution
                           Provider       Provider



                                                         X’



                                                        Bundle
                                                          B



vrijdag 26 juni 2009
Remote Services


                              Distribution   Distribution
                       X       Provider       Provider



                                                             X’



                                                            Bundle
                                                              B



vrijdag 26 juni 2009
Remote Services
                       Bundle
                         A



                                Distribution   Distribution
                         X       Provider       Provider



                                                               X’



                                                              Bundle
                                                                B



vrijdag 26 juni 2009
Remote Services
                       Bundle
                         A



                                Distribution   Distribution
                         X       Provider       Provider



                                                               X’



                                                              Bundle
                                                                B



vrijdag 26 juni 2009
Remote Services
                       Bundle
                         A



                                Distribution   Distribution
                         X       Provider       Provider



                                                               X’



                                                              Bundle
                                                                B



vrijdag 26 juni 2009
Remote Services
                       Bundle
                         A



                                Distribution   Distribution
                         X       Provider       Provider


                                  exports
                                                               X’



                                                              Bundle
                                                                B



vrijdag 26 juni 2009
Remote Services
                       Bundle
                         A



                                Distribution   Distribution
                         X       Provider       Provider


                                  exports
                                                               X’



                                                              Bundle
                                                                B



vrijdag 26 juni 2009
Remote Services
                       Bundle
                         A



                                Distribution   Distribution
                         X       Provider       Provider


                                  exports
                                                               X’



                                                              Bundle
                                                                B



vrijdag 26 juni 2009
Remote Services
                       Bundle
                         A



                                Distribution   Distribution
                         X       Provider       Provider


                                  exports
                                                               X’



                                                              Bundle
                                                                B



vrijdag 26 juni 2009
Remote Services
                       Bundle
                         A



                                Distribution   Distribution
                         X       Provider       Provider


                                  exports       imports
                                                               X’



                                                              Bundle
                                                                B



vrijdag 26 juni 2009
Remote Services
                       Bundle
                         A



                                Distribution   Distribution
                         X       Provider       Provider


                                  exports       imports
                                                               X’



                                                              Bundle
                                                                B



vrijdag 26 juni 2009
Remote Services
                       Bundle
                         A



                                Distribution   Distribution
                         X       Provider       Provider


                                  exports       imports
                                                               X’



                                                              Bundle
                                                                B



vrijdag 26 juni 2009
Remote Services
                       Bundle
                         A



                                Distribution   Distribution
                         X       Provider       Provider


                                  exports       imports
                                                               X’



                                                              Bundle
                                                                B



vrijdag 26 juni 2009
Remote Services
                       Bundle
                         A



                                  Distribution   Distribution
                         X         Provider       Provider


                                    exports       imports
                                                                 X’



                                                                Bundle
                                                                  B
                                Framework 1       Framework 2

vrijdag 26 juni 2009
Remote Services
                       • Service Properties define the interaction
                       • Intents specify the required/provided
                           capabilities
                           • Filters used to match
                       •   Service Component Architecture (SCA)
                           • Interaction specified, not mandated
                       •   Flexible configuration options


vrijdag 26 juni 2009
Service Properties
                                                  Distribution Provider
                             <other properties>                           <other properties>

                       service.exported.intents

                                service.intents                           service.exported.intents

         service.exported.intents.extra                                   service.imported

              service.exported.interfaces                                 objectClass

                       service.exported.configs                           service.imported.configs




                          remote.intents.supported
                          remote.configs.supported



                          Framework 1                                            Framework 2


vrijdag 26 juni 2009
Service Properties
                                                  Distribution Provider
                             <other properties>                           <other properties>

                       service.exported.intents

                                service.intents                           service.exported.intents

         service.exported.intents.extra                                   service.imported

              service.exported.interfaces                                 objectClass

                       service.exported.configs                           service.imported.configs




                          remote.intents.supported
                          remote.configs.supported



                          Framework 1                                            Framework 2


vrijdag 26 juni 2009
Service Properties
                                                  Distribution Provider
                             <other properties>                           <other properties>

                       service.exported.intents

                                service.intents                           service.exported.intents

         service.exported.intents.extra                                   service.imported

              service.exported.interfaces                                 objectClass

                       service.exported.configs                           service.imported.configs



                                                       endpoint


                          remote.intents.supported
                          remote.configs.supported



                          Framework 1                                            Framework 2


vrijdag 26 juni 2009
Service Properties
                                                  Distribution Provider
                             <other properties>                           <other properties>

                       service.exported.intents

                                service.intents                           service.exported.intents

         service.exported.intents.extra                                   service.imported

              service.exported.interfaces                                 objectClass

                       service.exported.configs                           service.imported.configs



                                                       endpoint


                          remote.intents.supported
                          remote.configs.supported



                          Framework 1                                            Framework 2


vrijdag 26 juni 2009
Blueprint Extender
                       • RFC 124
                       • Provides Spring DM Functionality
                       • Blueprint Extender uses XML definitions in
                           bundle to create & wire application objects
                       •   Namespace Handler services, not yet :-(
                       •   Provides damping
                           • Proxies services


vrijdag 26 juni 2009
Blueprint Extender


        XML




vrijdag 26 juni 2009
Blueprint Extender


                             Blueprint
        XML
                             Container




vrijdag 26 juni 2009
Blueprint Extender


                             Blueprint
        XML
                             Container




vrijdag 26 juni 2009
Blueprint Extender


                                           Blueprint
        XML
                                           Container



                       BeanMetadata

                         ServiceMetadata

                             Reference
                             Metadata


vrijdag 26 juni 2009
Blueprint Extender


                                           Blueprint
        XML
                                           Container



                       BeanMetadata                Bean

                         ServiceMetadata

                             Reference
                             Metadata


vrijdag 26 juni 2009
Blueprint Extender


                                           Blueprint
        XML
                                           Container



                       BeanMetadata                Bean

                         ServiceMetadata               Service

                             Reference
                             Metadata


vrijdag 26 juni 2009
Blueprint Extender


                                           Blueprint
        XML
                                           Container



                       BeanMetadata                Bean

                         ServiceMetadata               Service

                             Reference
                             Metadata                            Reference


vrijdag 26 juni 2009
Blueprint Extender


                                           Blueprint
        XML
                                           Container



                       BeanMetadata                Bean

                         ServiceMetadata               Service

                             Reference
                             Metadata                            Reference


vrijdag 26 juni 2009
Blueprint Extender


                                           Blueprint
        XML
                                           Container



                       BeanMetadata                Bean

                         ServiceMetadata               Service

                             Reference
                             Metadata                            Reference


vrijdag 26 juni 2009
Blueprint Extender


                                           Blueprint
        XML
                                           Container



                       BeanMetadata                Bean

                         ServiceMetadata               Service

                             Reference
                             Metadata                            Reference


vrijdag 26 juni 2009
Blueprint Extender
                                                                             Application
                                                                              Objects




                                           Blueprint
        XML
                                           Container



                       BeanMetadata                Bean

                         ServiceMetadata               Service

                             Reference
                             Metadata                            Reference


vrijdag 26 juni 2009
Metadata




                         Null                   NonNull                                    Props
                       Metadata                 Metadata                                  Metadata




                        IdRef        Value      Component          Collection               Map
                       Metadata     Metadata     Metadata          Metadata               Metadata




                         Ref                                                                Map
                       Metadata                                                             Entry




                        Service
                                                                        Bean              Service
                       Reference                  Target
                                                                       Metadata           Metadata
                       Metadata




                          Ref
                                    Reference                Bean               Bean
                       Collection
                                    Metadata                Property          Argument
                       Metadata




                                                                                         Registration
                       Listener
                                                                                          Listener




vrijdag 26 juni 2009
Damping Reference

                                                 service
                                                 object


                                                 service
                       App          proxy        object


                                                 service
                                                 object




vrijdag 26 juni 2009
Damping Reference

                                                 service
                                                 object


                                                 service
                       App          proxy        object


                                                 service
                                                 object




vrijdag 26 juni 2009
Damping Reference

                                                 service
                                                 object


                                                 service
                       App          proxy        object


                                                 service
                                                 object




vrijdag 26 juni 2009
Damping Reference

                                                 service
                                                 object


                                                 service
                       App          proxy        object


                                                 service
                                                 object




vrijdag 26 juni 2009
Damping Reference

                                                 service
                                                 object


                                                 service
                       App          proxy        object


                                                 service
                                                 object




vrijdag 26 juni 2009
Damping Reference

                                                 service
                                                 object


                                                 service
                       App          proxy        object


                                                 service
                                                 object




vrijdag 26 juni 2009
Damping Reference

                                                 service
                                                 object



                       App          proxy


                                                 service
                                                 object




vrijdag 26 juni 2009
Damping Reference

                                                 service
                                                 object



                       App          proxy


                                                 service
                                                 object




vrijdag 26 juni 2009
Damping Reference

                                                 service
                                                 object



                       App          proxy


                                                 service
                                                 object




vrijdag 26 juni 2009
Damping Reference

                                                 service
                                                 object



                       App          proxy


                                                 service
                                                 object




vrijdag 26 juni 2009
Damping Ref-list

                                                service
                                      proxy     object


                                                service
                       App     List   proxy     object


                                                service
                                      proxy     object




vrijdag 26 juni 2009
Enterprise

                       • Transactions
                       • JDBC Database Access
                       • JMX
                       • JNDI
                       • JPA
                       • Connectors

vrijdag 26 juni 2009
Experimental


                       • TSL
                       • Nested Frameworks
                       • OBR


vrijdag 26 juni 2009
TSL

                       • A Tiny Script Language
                        • Feels like a shell
                        • Acts like a script language
                       • Uses reflection, but simplifies syntax
                        • No new commands
                       • Will become Felix project

vrijdag 26 juni 2009
TSL
                                     Telnet   Console            ...
                                      Shell    Shell            Shell


                        OSGi                            Command
                       Convert.                           Shell
                                  Converter
                                                               ThreadIO
                        Eclipse                TSL                            Thread
                       Convert.                Impl                             IO

                                                        *
                        Felix                               osgi.command.name=xxx
                       Convert.                             osgi.command.function=yyy

                                              Frame
                                      Basic                      ...
                                              Work
                                     Cmnds                     Cmnds
                                              Cmnds

vrijdag 26 juni 2009
TSL
                       $ echo Hello World
                       Hello World
                       $ echo <bundle 1>

                  initial@reference:file:org.eclipse.osgi.util_3.1.200.v200
                  70605.jar/ [1]

                       $ ls
                       eclipse
                       eclipse.ini
                       load
                       runner

                       $ ls /Ws
                       aQute
                       felix-trunk
                       osgi
                       osgi-books


vrijdag 26 juni 2009
TSL
                       $ <bundle 6> headers
                       Tool                 Bnd-0.0.169
                       Bundle-Activator     aQute.fileinstall.FileInstall
                       Export-Package        aQute.fileinstall ...
                       Created-By           1.6.0_01 (Sun Microsystems Inc.)
                       Bnd-LastModified     1184160147361
                       Bundle-Version       1.3
                       Bundle-ManifestVersion2
                       Manifest-Version     1.0
                       Import-Package     aQute.fileinstall, ...
                       Bundle-Name          biz.aQute.fileinstall
                       Bundle-Description This bundle watches a ....
                       Bundle-SymbolicName biz.aQute.fileinstall




vrijdag 26 juni 2009
TSL
                       $ help={each <<$it class> declaredmethods> {$it name }}
                       aQute.shell.runtime.Closure@90a284
                       $ help <bundle 6>
                       loadClass
                       getResource
                       ...
                       checkLoader
                       closeBundleLoader
                       getLoaderProxy

                       $ echo $exception
                       E: java.lang.NullPointerException
                       $ echo $exception
                       java.lang.NullPointerException
                       $ $exception printstacktrace
                       $ // the output is temporarily on reall stderr ...




vrijdag 26 juni 2009
Nested Frameworks
                       • Application Server Vendors want scoping of
                           applications …
                       •   Basic Idea OSGi is:
                           • The Application == the set of installed
                             bundles
                       •   Compromise:
                           • All Frameworks to be nested


vrijdag 26 juni 2009
Nested Frameworks
                       System
                       Bundle




                                    Framework P

vrijdag 26 juni 2009
Nested Frameworks
                       System
                       Bundle




                                 Composite
                                Bundle




                                             Framework P

vrijdag 26 juni 2009
Nested Frameworks
                                             Framework C
                       System
                       Bundle




                                 Composite
                                Bundle




                                                Framework P

vrijdag 26 juni 2009
Nested Frameworks
                                                      Framework C
                       System
                       Bundle                System
                                             Bundle



                                 Composite
                                Bundle




                                                         Framework P

vrijdag 26 juni 2009
Nested Frameworks
                                                          Framework C
                       System
                       Bundle                  System
                                               Bundle



                                 Composite    Surrogate
                                Bundle       Bundle




                                                             Framework P

vrijdag 26 juni 2009
Nested Frameworks
                                                          Framework C
                       System
                       Bundle                  System
                                               Bundle



                                 Composite    Surrogate
                                Bundle       Bundle




                                                             Framework P

vrijdag 26 juni 2009
Nested Frameworks
                                                          Framework C
                       System
                       Bundle                  System
                                               Bundle



                                 Composite    Surrogate
                                Bundle       Bundle




                                   App
                                  Bundle
                                    A
                                                             Framework P

vrijdag 26 juni 2009
Nested Frameworks
                                                          Framework C
                       System
                       Bundle                  System
                                               Bundle



                                 Composite    Surrogate
                                Bundle       Bundle




                                   App
                                  Bundle
                                    A
                                                             Framework P

vrijdag 26 juni 2009
Nested Frameworks
                                                          Framework C
                       System
                       Bundle                  System
                                               Bundle



                                 Composite    Surrogate
                                Bundle       Bundle




                                   App
                                  Bundle
                                    A
                                                             Framework P

vrijdag 26 juni 2009
Nested Frameworks
                                                            Framework C
                       System
                       Bundle                  System
                                               Bundle



                                 Composite    Surrogate
                                Bundle       Bundle        App
                                                          Bundle
                                                            B




                                   App
                                  Bundle
                                    A
                                                                   Framework P

vrijdag 26 juni 2009
Nested Frameworks
                                                            Framework C
                       System
                       Bundle                  System
                                               Bundle



                                 Composite    Surrogate
                                Bundle       Bundle        App
                                                          Bundle
                                                            B




                                   App
                                  Bundle
                                    A
                                                                   Framework P

vrijdag 26 juni 2009
Nested Frameworks
                                                            Framework C
                       System
                       Bundle                  System
                                               Bundle



                                 Composite    Surrogate
                                Bundle       Bundle        App
                                                          Bundle
                                                            B




                                   App
                                  Bundle
                                    A
                                                                   Framework P

vrijdag 26 juni 2009
Nested Frameworks
                                                            Framework C
                       System
                       Bundle                  System
                                               Bundle



                                 Composite    Surrogate
                                Bundle       Bundle        App
                                                          Bundle
                                                            B




                                   App
                                  Bundle
                                    A
                                                                   Framework P

vrijdag 26 juni 2009
Java Modularity




vrijdag 26 juni 2009
Java Modularity


                         294
vrijdag 26 juni 2009
Java Modularity


                         294
vrijdag 26 juni 2009
                          7
Java Modularity



                          42
vrijdag 26 juni 2009
Java Modularity




vrijdag 26 juni 2009
Java Modularity




vrijdag 26 juni 2009
Java Modularity




vrijdag 26 juni 2009
Java Modularity




vrijdag 26 juni 2009
Java Modularity




vrijdag 26 juni 2009
Java Modularity


                       module

vrijdag 26 juni 2009
Java Modularity
                       module class Foo {}

                       public class Bar {
                         module int foo() {}
                       }

                       module interface Baz {}




vrijdag 26 juni 2009
Java Modularity

                         Visibility
                             vs
                        Accessibility

vrijdag 26 juni 2009
Visibility

                       Class                Class
                         S                   T




vrijdag 26 juni 2009
Visibility

                       Class                Class
                         S                   T




vrijdag 26 juni 2009
Visibility

                       Class                Class
                         S                   T




vrijdag 26 juni 2009
Visibility

                       Class                Class
                         S                   T




vrijdag 26 juni 2009
Visibility

                       Class                Class
                         S                   T




vrijdag 26 juni 2009
Visibility

                                  Module
                                  System
                       Class                Class
                         S                   T




vrijdag 26 juni 2009
Accessibility

                            public

                           module

                           package

                           private




vrijdag 26 juni 2009
Accessibility


                            Class
                              S




vrijdag 26 juni 2009
Accessibility


                            Class           Class
                              S              T

                                    class




vrijdag 26 juni 2009
Accessibility


                            Class           Class
                              S              T

                                    class



                            Class
                             U
                                            package



vrijdag 26 juni 2009
Accessibility
                                              module
                            Class
                             V




                            Class           Class
                              S              T

                                    class



                            Class
                             U
                                            package



vrijdag 26 juni 2009
Accessibility
                                              module
                            Class
                             V




                            Class           Class
                              S              T

                                    class



                            Class
                             U
                                            package



vrijdag 26 juni 2009
Accessibility
                                                 module
                               Class
                                V




                       Class   Class           Class
                        W        S              T

                                       class



                               Class
                                U
                                               package



vrijdag 26 juni 2009
Is JSR 294 a
  Meta Module System?
     (Implemented by OSGi™, Jigsaw, Guice, …)




vrijdag 26 juni 2009
Is JSR 294 a
  Meta Module System?
     (Implemented by OSGi™, Jigsaw, Guice, …)


                        No Java™
                       Standard for
vrijdag 26 juni 2009
                         Modules!
OSGi Modules: Bundle
                            = Module
                                Bundle

                                   module




vrijdag 26 juni 2009
OSGi Modules: Bundle
                        = Multiple Modules
                                Bundle

                                 module A




                                 module B




vrijdag 26 juni 2009
OSGi Modules:
                   Modules Cross Bundles
                        Bundle A            Bundle B




                                   module




vrijdag 26 juni 2009
OSGi Modules: Nested?

                            Bundle

                           module A


                           module B




vrijdag 26 juni 2009
Module Dependencies
                           Bundle A     Bundle B

                             module A     module B




vrijdag 26 juni 2009
Module Dependencies
                           Bundle A                Bundle B

                             module A                module B
                                        requires


                                        provides


                                        permits




vrijdag 26 juni 2009
Module Dependencies




                                        ?
                           Bundle A                Bundle B

                             module A                module B
                                        requires


                                        provides


                                        permits




vrijdag 26 juni 2009
vrijdag 26 juni 2009
Europe



vrijdag 26 juni 2009

Mais conteúdo relacionado

Destaque

W-JAX 2011: OSGi with Apache Karaf
W-JAX 2011: OSGi with Apache KarafW-JAX 2011: OSGi with Apache Karaf
W-JAX 2011: OSGi with Apache KarafJerry Preissler
 
Modularity with OSGi
Modularity with OSGiModularity with OSGi
Modularity with OSGiPeter Kriens
 
How to manage software complexity with OSGi
How to manage software complexity with OSGiHow to manage software complexity with OSGi
How to manage software complexity with OSGiPeter Kriens
 
Modularity with OSGi
Modularity with OSGiModularity with OSGi
Modularity with OSGiPeter Kriens
 
Introduction into OSGi
Introduction into OSGiIntroduction into OSGi
Introduction into OSGiPeter Kriens
 

Destaque (6)

W-JAX 2011: OSGi with Apache Karaf
W-JAX 2011: OSGi with Apache KarafW-JAX 2011: OSGi with Apache Karaf
W-JAX 2011: OSGi with Apache Karaf
 
µServices
µServicesµServices
µServices
 
Modularity with OSGi
Modularity with OSGiModularity with OSGi
Modularity with OSGi
 
How to manage software complexity with OSGi
How to manage software complexity with OSGiHow to manage software complexity with OSGi
How to manage software complexity with OSGi
 
Modularity with OSGi
Modularity with OSGiModularity with OSGi
Modularity with OSGi
 
Introduction into OSGi
Introduction into OSGiIntroduction into OSGi
Introduction into OSGi
 

Último

Cyber Security Training in Office Environment
Cyber Security Training in Office EnvironmentCyber Security Training in Office Environment
Cyber Security Training in Office Environmentelijahj01012
 
WSMM Media and Entertainment Feb_March_Final.pdf
WSMM Media and Entertainment Feb_March_Final.pdfWSMM Media and Entertainment Feb_March_Final.pdf
WSMM Media and Entertainment Feb_March_Final.pdfJamesConcepcion7
 
PSCC - Capability Statement Presentation
PSCC - Capability Statement PresentationPSCC - Capability Statement Presentation
PSCC - Capability Statement PresentationAnamaria Contreras
 
1911 Gold Corporate Presentation Apr 2024.pdf
1911 Gold Corporate Presentation Apr 2024.pdf1911 Gold Corporate Presentation Apr 2024.pdf
1911 Gold Corporate Presentation Apr 2024.pdfShaun Heinrichs
 
Technical Leaders - Working with the Management Team
Technical Leaders - Working with the Management TeamTechnical Leaders - Working with the Management Team
Technical Leaders - Working with the Management TeamArik Fletcher
 
Effective Strategies for Maximizing Your Profit When Selling Gold Jewelry
Effective Strategies for Maximizing Your Profit When Selling Gold JewelryEffective Strategies for Maximizing Your Profit When Selling Gold Jewelry
Effective Strategies for Maximizing Your Profit When Selling Gold JewelryWhittensFineJewelry1
 
Go for Rakhi Bazaar and Pick the Latest Bhaiya Bhabhi Rakhi.pptx
Go for Rakhi Bazaar and Pick the Latest Bhaiya Bhabhi Rakhi.pptxGo for Rakhi Bazaar and Pick the Latest Bhaiya Bhabhi Rakhi.pptx
Go for Rakhi Bazaar and Pick the Latest Bhaiya Bhabhi Rakhi.pptxRakhi Bazaar
 
Appkodes Tinder Clone Script with Customisable Solutions.pptx
Appkodes Tinder Clone Script with Customisable Solutions.pptxAppkodes Tinder Clone Script with Customisable Solutions.pptx
Appkodes Tinder Clone Script with Customisable Solutions.pptxappkodes
 
Cybersecurity Awareness Training Presentation v2024.03
Cybersecurity Awareness Training Presentation v2024.03Cybersecurity Awareness Training Presentation v2024.03
Cybersecurity Awareness Training Presentation v2024.03DallasHaselhorst
 
digital marketing , introduction of digital marketing
digital marketing , introduction of digital marketingdigital marketing , introduction of digital marketing
digital marketing , introduction of digital marketingrajputmeenakshi733
 
Planetary and Vedic Yagyas Bring Positive Impacts in Life
Planetary and Vedic Yagyas Bring Positive Impacts in LifePlanetary and Vedic Yagyas Bring Positive Impacts in Life
Planetary and Vedic Yagyas Bring Positive Impacts in LifeBhavana Pujan Kendra
 
EUDR Info Meeting Ethiopian coffee exporters
EUDR Info Meeting Ethiopian coffee exportersEUDR Info Meeting Ethiopian coffee exporters
EUDR Info Meeting Ethiopian coffee exportersPeter Horsten
 
Lucia Ferretti, Lead Business Designer; Matteo Meschini, Business Designer @T...
Lucia Ferretti, Lead Business Designer; Matteo Meschini, Business Designer @T...Lucia Ferretti, Lead Business Designer; Matteo Meschini, Business Designer @T...
Lucia Ferretti, Lead Business Designer; Matteo Meschini, Business Designer @T...Associazione Digital Days
 
Horngren’s Financial & Managerial Accounting, 7th edition by Miller-Nobles so...
Horngren’s Financial & Managerial Accounting, 7th edition by Miller-Nobles so...Horngren’s Financial & Managerial Accounting, 7th edition by Miller-Nobles so...
Horngren’s Financial & Managerial Accounting, 7th edition by Miller-Nobles so...ssuserf63bd7
 
The-Ethical-issues-ghhhhhhhhjof-Byjus.pptx
The-Ethical-issues-ghhhhhhhhjof-Byjus.pptxThe-Ethical-issues-ghhhhhhhhjof-Byjus.pptx
The-Ethical-issues-ghhhhhhhhjof-Byjus.pptxmbikashkanyari
 
Church Building Grants To Assist With New Construction, Additions, And Restor...
Church Building Grants To Assist With New Construction, Additions, And Restor...Church Building Grants To Assist With New Construction, Additions, And Restor...
Church Building Grants To Assist With New Construction, Additions, And Restor...Americas Got Grants
 
Traction part 2 - EOS Model JAX Bridges.
Traction part 2 - EOS Model JAX Bridges.Traction part 2 - EOS Model JAX Bridges.
Traction part 2 - EOS Model JAX Bridges.Anamaria Contreras
 
Excvation Safety for safety officers reference
Excvation Safety for safety officers referenceExcvation Safety for safety officers reference
Excvation Safety for safety officers referencessuser2c065e
 
Darshan Hiranandani [News About Next CEO].pdf
Darshan Hiranandani [News About Next CEO].pdfDarshan Hiranandani [News About Next CEO].pdf
Darshan Hiranandani [News About Next CEO].pdfShashank Mehta
 

Último (20)

Cyber Security Training in Office Environment
Cyber Security Training in Office EnvironmentCyber Security Training in Office Environment
Cyber Security Training in Office Environment
 
WSMM Media and Entertainment Feb_March_Final.pdf
WSMM Media and Entertainment Feb_March_Final.pdfWSMM Media and Entertainment Feb_March_Final.pdf
WSMM Media and Entertainment Feb_March_Final.pdf
 
PSCC - Capability Statement Presentation
PSCC - Capability Statement PresentationPSCC - Capability Statement Presentation
PSCC - Capability Statement Presentation
 
1911 Gold Corporate Presentation Apr 2024.pdf
1911 Gold Corporate Presentation Apr 2024.pdf1911 Gold Corporate Presentation Apr 2024.pdf
1911 Gold Corporate Presentation Apr 2024.pdf
 
Technical Leaders - Working with the Management Team
Technical Leaders - Working with the Management TeamTechnical Leaders - Working with the Management Team
Technical Leaders - Working with the Management Team
 
Effective Strategies for Maximizing Your Profit When Selling Gold Jewelry
Effective Strategies for Maximizing Your Profit When Selling Gold JewelryEffective Strategies for Maximizing Your Profit When Selling Gold Jewelry
Effective Strategies for Maximizing Your Profit When Selling Gold Jewelry
 
Go for Rakhi Bazaar and Pick the Latest Bhaiya Bhabhi Rakhi.pptx
Go for Rakhi Bazaar and Pick the Latest Bhaiya Bhabhi Rakhi.pptxGo for Rakhi Bazaar and Pick the Latest Bhaiya Bhabhi Rakhi.pptx
Go for Rakhi Bazaar and Pick the Latest Bhaiya Bhabhi Rakhi.pptx
 
Appkodes Tinder Clone Script with Customisable Solutions.pptx
Appkodes Tinder Clone Script with Customisable Solutions.pptxAppkodes Tinder Clone Script with Customisable Solutions.pptx
Appkodes Tinder Clone Script with Customisable Solutions.pptx
 
Cybersecurity Awareness Training Presentation v2024.03
Cybersecurity Awareness Training Presentation v2024.03Cybersecurity Awareness Training Presentation v2024.03
Cybersecurity Awareness Training Presentation v2024.03
 
digital marketing , introduction of digital marketing
digital marketing , introduction of digital marketingdigital marketing , introduction of digital marketing
digital marketing , introduction of digital marketing
 
Planetary and Vedic Yagyas Bring Positive Impacts in Life
Planetary and Vedic Yagyas Bring Positive Impacts in LifePlanetary and Vedic Yagyas Bring Positive Impacts in Life
Planetary and Vedic Yagyas Bring Positive Impacts in Life
 
EUDR Info Meeting Ethiopian coffee exporters
EUDR Info Meeting Ethiopian coffee exportersEUDR Info Meeting Ethiopian coffee exporters
EUDR Info Meeting Ethiopian coffee exporters
 
Lucia Ferretti, Lead Business Designer; Matteo Meschini, Business Designer @T...
Lucia Ferretti, Lead Business Designer; Matteo Meschini, Business Designer @T...Lucia Ferretti, Lead Business Designer; Matteo Meschini, Business Designer @T...
Lucia Ferretti, Lead Business Designer; Matteo Meschini, Business Designer @T...
 
Horngren’s Financial & Managerial Accounting, 7th edition by Miller-Nobles so...
Horngren’s Financial & Managerial Accounting, 7th edition by Miller-Nobles so...Horngren’s Financial & Managerial Accounting, 7th edition by Miller-Nobles so...
Horngren’s Financial & Managerial Accounting, 7th edition by Miller-Nobles so...
 
WAM Corporate Presentation April 12 2024.pdf
WAM Corporate Presentation April 12 2024.pdfWAM Corporate Presentation April 12 2024.pdf
WAM Corporate Presentation April 12 2024.pdf
 
The-Ethical-issues-ghhhhhhhhjof-Byjus.pptx
The-Ethical-issues-ghhhhhhhhjof-Byjus.pptxThe-Ethical-issues-ghhhhhhhhjof-Byjus.pptx
The-Ethical-issues-ghhhhhhhhjof-Byjus.pptx
 
Church Building Grants To Assist With New Construction, Additions, And Restor...
Church Building Grants To Assist With New Construction, Additions, And Restor...Church Building Grants To Assist With New Construction, Additions, And Restor...
Church Building Grants To Assist With New Construction, Additions, And Restor...
 
Traction part 2 - EOS Model JAX Bridges.
Traction part 2 - EOS Model JAX Bridges.Traction part 2 - EOS Model JAX Bridges.
Traction part 2 - EOS Model JAX Bridges.
 
Excvation Safety for safety officers reference
Excvation Safety for safety officers referenceExcvation Safety for safety officers reference
Excvation Safety for safety officers reference
 
Darshan Hiranandani [News About Next CEO].pdf
Darshan Hiranandani [News About Next CEO].pdfDarshan Hiranandani [News About Next CEO].pdf
Darshan Hiranandani [News About Next CEO].pdf
 

OSGi Devcon 2009 Keynote

  • 3. Peter Kriens OSGi Evangelist Europe OSGi Next vrijdag 26 juni 2009
  • 4. OSGi Service Platform Core Specification vrijdag 26 juni 2009
  • 5. Planning 4.2 • Core released for approval June 10 • Working on the final draft for Compendium as we speak • Compendium : July 10 • Enterprise Release Autumn • Residential Release Spring 2010 vrijdag 26 juni 2009
  • 7. Legend Bundle A Bundle B vrijdag 26 juni 2009
  • 8. Legend Bundle A Service Bundle B vrijdag 26 juni 2009
  • 9. Legend Bundle A getService Service registerService Bundle B vrijdag 26 juni 2009
  • 10. Legend Bundle A getService Bundle Service C registerService Bundle B vrijdag 26 juni 2009
  • 11. Legend Bundle A getService Bundle Service addServiceListener C registerService Bundle B vrijdag 26 juni 2009
  • 12. Legend Bundle A getService Call/Dependency Bundle Direction Service addServiceListener C registerService Bundle B vrijdag 26 juni 2009
  • 13. Core • Launching • Bundle Tracker • Bundle-License Header • Service Hooks • Negative Permissions vrijdag 26 juni 2009
  • 14. Launching • To be inside a framework … • Or outside a framework ... • That’s the question! vrijdag 26 juni 2009
  • 15. Launching • Standardizes launching different frameworks • Will enable generic launchers • Allows you to embed a framework in your application! vrijdag 26 juni 2009
  • 16. Launching Map<String,String> p = new HashMap<String,String>(); List<String> impls = getMetaInfServices( loader, FrameworkFactory.class.getName()); if (impls.size() != 1) throw new RuntimeException( "Too many frameworks: "+ impls); Class<?> clazz = loader.loadClass(impls.get(0)); FrameworkFactory factory = (FrameworkFactory) clazz .newInstance(); Framework fw = factory.newFramework(p); Bundle b = fw.installBundle( “http://.../load/…”); b.start(); vrijdag 26 juni 2009
  • 17. Bundle Tracker • Simple tool a la Service Tracker to track bundles • Very useful for extenders • Bundles that provide additional functionality based on data in a bundle • Tracks a set of states • Handles all concurrency issues vrijdag 26 juni 2009
  • 18. Service Hooks • FindHook • Intercept getServiceReference(s) • EventHook • Intercept Service Event delivery • ListenerHook • Find out who is listening to what vrijdag 26 juni 2009
  • 19. Service Hooks Bundle A Bundle B vrijdag 26 juni 2009
  • 20. Service Hooks Bundle A Proxy Bundle Bundle B vrijdag 26 juni 2009
  • 21. Service Hooks Bundle A FindHook Proxy EventHook Bundle Bundle B vrijdag 26 juni 2009
  • 22. Service Hooks Bundle A FindHook Proxy EventHook Bundle Bundle B vrijdag 26 juni 2009
  • 23. Service Hooks Bundle A ListenerHook FindHook Proxy EventHook Bundle Bundle B vrijdag 26 juni 2009
  • 24. Service Hooks Bundle A ListenerHook FindHook Proxy EventHook Bundle Bundle B vrijdag 26 juni 2009
  • 25. Negative Permissions • Java 2 Permissions are only positive • That is, you grant a permission P • PackagePermission(com.acme,IMPORT) • Very hard to say, all permissions except P • Lack of deny permissions vrijdag 26 juni 2009
  • 26. Negative Permissions DENY { [...BundleSignerCondition "cn=*, o=ACME" "!" ] (...PackagePermission "com.acme.secret.*" "import,exportonly" ) } ALLOW { (...PackagePermission "*" "*" ) } vrijdag 26 juni 2009
  • 27. Compendium • Initial Provisioning • Bundle Tracker • Declarative Services • Remote Services • Blueprint Extender vrijdag 26 juni 2009
  • 28. Remote Services • RFC 119 • Formerly Distributed OSGi • Distribution Software uses services to: • Maps a service to/from a remote system • Uses a service to abstract a communication endpoint vrijdag 26 juni 2009
  • 29. Remote Services Distribution Distribution Provider Provider X’ Bundle B vrijdag 26 juni 2009
  • 30. Remote Services Distribution Distribution X Provider Provider X’ Bundle B vrijdag 26 juni 2009
  • 31. Remote Services Bundle A Distribution Distribution X Provider Provider X’ Bundle B vrijdag 26 juni 2009
  • 32. Remote Services Bundle A Distribution Distribution X Provider Provider X’ Bundle B vrijdag 26 juni 2009
  • 33. Remote Services Bundle A Distribution Distribution X Provider Provider X’ Bundle B vrijdag 26 juni 2009
  • 34. Remote Services Bundle A Distribution Distribution X Provider Provider exports X’ Bundle B vrijdag 26 juni 2009
  • 35. Remote Services Bundle A Distribution Distribution X Provider Provider exports X’ Bundle B vrijdag 26 juni 2009
  • 36. Remote Services Bundle A Distribution Distribution X Provider Provider exports X’ Bundle B vrijdag 26 juni 2009
  • 37. Remote Services Bundle A Distribution Distribution X Provider Provider exports X’ Bundle B vrijdag 26 juni 2009
  • 38. Remote Services Bundle A Distribution Distribution X Provider Provider exports imports X’ Bundle B vrijdag 26 juni 2009
  • 39. Remote Services Bundle A Distribution Distribution X Provider Provider exports imports X’ Bundle B vrijdag 26 juni 2009
  • 40. Remote Services Bundle A Distribution Distribution X Provider Provider exports imports X’ Bundle B vrijdag 26 juni 2009
  • 41. Remote Services Bundle A Distribution Distribution X Provider Provider exports imports X’ Bundle B vrijdag 26 juni 2009
  • 42. Remote Services Bundle A Distribution Distribution X Provider Provider exports imports X’ Bundle B Framework 1 Framework 2 vrijdag 26 juni 2009
  • 43. Remote Services • Service Properties define the interaction • Intents specify the required/provided capabilities • Filters used to match • Service Component Architecture (SCA) • Interaction specified, not mandated • Flexible configuration options vrijdag 26 juni 2009
  • 44. Service Properties Distribution Provider <other properties> <other properties> service.exported.intents service.intents service.exported.intents service.exported.intents.extra service.imported service.exported.interfaces objectClass service.exported.configs service.imported.configs remote.intents.supported remote.configs.supported Framework 1 Framework 2 vrijdag 26 juni 2009
  • 45. Service Properties Distribution Provider <other properties> <other properties> service.exported.intents service.intents service.exported.intents service.exported.intents.extra service.imported service.exported.interfaces objectClass service.exported.configs service.imported.configs remote.intents.supported remote.configs.supported Framework 1 Framework 2 vrijdag 26 juni 2009
  • 46. Service Properties Distribution Provider <other properties> <other properties> service.exported.intents service.intents service.exported.intents service.exported.intents.extra service.imported service.exported.interfaces objectClass service.exported.configs service.imported.configs endpoint remote.intents.supported remote.configs.supported Framework 1 Framework 2 vrijdag 26 juni 2009
  • 47. Service Properties Distribution Provider <other properties> <other properties> service.exported.intents service.intents service.exported.intents service.exported.intents.extra service.imported service.exported.interfaces objectClass service.exported.configs service.imported.configs endpoint remote.intents.supported remote.configs.supported Framework 1 Framework 2 vrijdag 26 juni 2009
  • 48. Blueprint Extender • RFC 124 • Provides Spring DM Functionality • Blueprint Extender uses XML definitions in bundle to create & wire application objects • Namespace Handler services, not yet :-( • Provides damping • Proxies services vrijdag 26 juni 2009
  • 49. Blueprint Extender XML vrijdag 26 juni 2009
  • 50. Blueprint Extender Blueprint XML Container vrijdag 26 juni 2009
  • 51. Blueprint Extender Blueprint XML Container vrijdag 26 juni 2009
  • 52. Blueprint Extender Blueprint XML Container BeanMetadata ServiceMetadata Reference Metadata vrijdag 26 juni 2009
  • 53. Blueprint Extender Blueprint XML Container BeanMetadata Bean ServiceMetadata Reference Metadata vrijdag 26 juni 2009
  • 54. Blueprint Extender Blueprint XML Container BeanMetadata Bean ServiceMetadata Service Reference Metadata vrijdag 26 juni 2009
  • 55. Blueprint Extender Blueprint XML Container BeanMetadata Bean ServiceMetadata Service Reference Metadata Reference vrijdag 26 juni 2009
  • 56. Blueprint Extender Blueprint XML Container BeanMetadata Bean ServiceMetadata Service Reference Metadata Reference vrijdag 26 juni 2009
  • 57. Blueprint Extender Blueprint XML Container BeanMetadata Bean ServiceMetadata Service Reference Metadata Reference vrijdag 26 juni 2009
  • 58. Blueprint Extender Blueprint XML Container BeanMetadata Bean ServiceMetadata Service Reference Metadata Reference vrijdag 26 juni 2009
  • 59. Blueprint Extender Application Objects Blueprint XML Container BeanMetadata Bean ServiceMetadata Service Reference Metadata Reference vrijdag 26 juni 2009
  • 60. Metadata Null NonNull Props Metadata Metadata Metadata IdRef Value Component Collection Map Metadata Metadata Metadata Metadata Metadata Ref Map Metadata Entry Service Bean Service Reference Target Metadata Metadata Metadata Ref Reference Bean Bean Collection Metadata Property Argument Metadata Registration Listener Listener vrijdag 26 juni 2009
  • 61. Damping Reference service object service App proxy object service object vrijdag 26 juni 2009
  • 62. Damping Reference service object service App proxy object service object vrijdag 26 juni 2009
  • 63. Damping Reference service object service App proxy object service object vrijdag 26 juni 2009
  • 64. Damping Reference service object service App proxy object service object vrijdag 26 juni 2009
  • 65. Damping Reference service object service App proxy object service object vrijdag 26 juni 2009
  • 66. Damping Reference service object service App proxy object service object vrijdag 26 juni 2009
  • 67. Damping Reference service object App proxy service object vrijdag 26 juni 2009
  • 68. Damping Reference service object App proxy service object vrijdag 26 juni 2009
  • 69. Damping Reference service object App proxy service object vrijdag 26 juni 2009
  • 70. Damping Reference service object App proxy service object vrijdag 26 juni 2009
  • 71. Damping Ref-list service proxy object service App List proxy object service proxy object vrijdag 26 juni 2009
  • 72. Enterprise • Transactions • JDBC Database Access • JMX • JNDI • JPA • Connectors vrijdag 26 juni 2009
  • 73. Experimental • TSL • Nested Frameworks • OBR vrijdag 26 juni 2009
  • 74. TSL • A Tiny Script Language • Feels like a shell • Acts like a script language • Uses reflection, but simplifies syntax • No new commands • Will become Felix project vrijdag 26 juni 2009
  • 75. TSL Telnet Console ... Shell Shell Shell OSGi Command Convert. Shell Converter ThreadIO Eclipse TSL Thread Convert. Impl IO * Felix osgi.command.name=xxx Convert. osgi.command.function=yyy Frame Basic ... Work Cmnds Cmnds Cmnds vrijdag 26 juni 2009
  • 76. TSL $ echo Hello World Hello World $ echo <bundle 1> initial@reference:file:org.eclipse.osgi.util_3.1.200.v200 70605.jar/ [1] $ ls eclipse eclipse.ini load runner $ ls /Ws aQute felix-trunk osgi osgi-books vrijdag 26 juni 2009
  • 77. TSL $ <bundle 6> headers Tool Bnd-0.0.169 Bundle-Activator aQute.fileinstall.FileInstall Export-Package aQute.fileinstall ... Created-By 1.6.0_01 (Sun Microsystems Inc.) Bnd-LastModified 1184160147361 Bundle-Version 1.3 Bundle-ManifestVersion2 Manifest-Version 1.0 Import-Package aQute.fileinstall, ... Bundle-Name biz.aQute.fileinstall Bundle-Description This bundle watches a .... Bundle-SymbolicName biz.aQute.fileinstall vrijdag 26 juni 2009
  • 78. TSL $ help={each <<$it class> declaredmethods> {$it name }} aQute.shell.runtime.Closure@90a284 $ help <bundle 6> loadClass getResource ... checkLoader closeBundleLoader getLoaderProxy $ echo $exception E: java.lang.NullPointerException $ echo $exception java.lang.NullPointerException $ $exception printstacktrace $ // the output is temporarily on reall stderr ... vrijdag 26 juni 2009
  • 79. Nested Frameworks • Application Server Vendors want scoping of applications … • Basic Idea OSGi is: • The Application == the set of installed bundles • Compromise: • All Frameworks to be nested vrijdag 26 juni 2009
  • 80. Nested Frameworks System Bundle Framework P vrijdag 26 juni 2009
  • 81. Nested Frameworks System Bundle Composite Bundle Framework P vrijdag 26 juni 2009
  • 82. Nested Frameworks Framework C System Bundle Composite Bundle Framework P vrijdag 26 juni 2009
  • 83. Nested Frameworks Framework C System Bundle System Bundle Composite Bundle Framework P vrijdag 26 juni 2009
  • 84. Nested Frameworks Framework C System Bundle System Bundle Composite Surrogate Bundle Bundle Framework P vrijdag 26 juni 2009
  • 85. Nested Frameworks Framework C System Bundle System Bundle Composite Surrogate Bundle Bundle Framework P vrijdag 26 juni 2009
  • 86. Nested Frameworks Framework C System Bundle System Bundle Composite Surrogate Bundle Bundle App Bundle A Framework P vrijdag 26 juni 2009
  • 87. Nested Frameworks Framework C System Bundle System Bundle Composite Surrogate Bundle Bundle App Bundle A Framework P vrijdag 26 juni 2009
  • 88. Nested Frameworks Framework C System Bundle System Bundle Composite Surrogate Bundle Bundle App Bundle A Framework P vrijdag 26 juni 2009
  • 89. Nested Frameworks Framework C System Bundle System Bundle Composite Surrogate Bundle Bundle App Bundle B App Bundle A Framework P vrijdag 26 juni 2009
  • 90. Nested Frameworks Framework C System Bundle System Bundle Composite Surrogate Bundle Bundle App Bundle B App Bundle A Framework P vrijdag 26 juni 2009
  • 91. Nested Frameworks Framework C System Bundle System Bundle Composite Surrogate Bundle Bundle App Bundle B App Bundle A Framework P vrijdag 26 juni 2009
  • 92. Nested Frameworks Framework C System Bundle System Bundle Composite Surrogate Bundle Bundle App Bundle B App Bundle A Framework P vrijdag 26 juni 2009
  • 94. Java Modularity 294 vrijdag 26 juni 2009
  • 95. Java Modularity 294 vrijdag 26 juni 2009 7
  • 96. Java Modularity 42 vrijdag 26 juni 2009
  • 102. Java Modularity module vrijdag 26 juni 2009
  • 103. Java Modularity module class Foo {} public class Bar { module int foo() {} } module interface Baz {} vrijdag 26 juni 2009
  • 104. Java Modularity Visibility vs Accessibility vrijdag 26 juni 2009
  • 105. Visibility Class Class S T vrijdag 26 juni 2009
  • 106. Visibility Class Class S T vrijdag 26 juni 2009
  • 107. Visibility Class Class S T vrijdag 26 juni 2009
  • 108. Visibility Class Class S T vrijdag 26 juni 2009
  • 109. Visibility Class Class S T vrijdag 26 juni 2009
  • 110. Visibility Module System Class Class S T vrijdag 26 juni 2009
  • 111. Accessibility public module package private vrijdag 26 juni 2009
  • 112. Accessibility Class S vrijdag 26 juni 2009
  • 113. Accessibility Class Class S T class vrijdag 26 juni 2009
  • 114. Accessibility Class Class S T class Class U package vrijdag 26 juni 2009
  • 115. Accessibility module Class V Class Class S T class Class U package vrijdag 26 juni 2009
  • 116. Accessibility module Class V Class Class S T class Class U package vrijdag 26 juni 2009
  • 117. Accessibility module Class V Class Class Class W S T class Class U package vrijdag 26 juni 2009
  • 118. Is JSR 294 a Meta Module System? (Implemented by OSGi™, Jigsaw, Guice, …) vrijdag 26 juni 2009
  • 119. Is JSR 294 a Meta Module System? (Implemented by OSGi™, Jigsaw, Guice, …) No Java™ Standard for vrijdag 26 juni 2009 Modules!
  • 120. OSGi Modules: Bundle = Module Bundle module vrijdag 26 juni 2009
  • 121. OSGi Modules: Bundle = Multiple Modules Bundle module A module B vrijdag 26 juni 2009
  • 122. OSGi Modules: Modules Cross Bundles Bundle A Bundle B module vrijdag 26 juni 2009
  • 123. OSGi Modules: Nested? Bundle module A module B vrijdag 26 juni 2009
  • 124. Module Dependencies Bundle A Bundle B module A module B vrijdag 26 juni 2009
  • 125. Module Dependencies Bundle A Bundle B module A module B requires provides permits vrijdag 26 juni 2009
  • 126. Module Dependencies ? Bundle A Bundle B module A module B requires provides permits vrijdag 26 juni 2009