90 likes | 261 Views
Integrating Load-Time Weaving into OSGi. Matthew Webster IBM Java Technology Hursley, UK AspectJ Committer Martin Lippert Consulta nt it-agile. Goals. Provide Runtime Modularity and Versioning for Crosscutting Concerns
E N D
Integrating Load-Time Weaving into OSGi Matthew Webster IBM Java Technology Hursley, UK AspectJ Committer Martin Lippert Consultant it-agile
Goals • Provide Runtime Modularity and Versioning for Crosscutting Concerns • Declarative configuration of cross cutting concerns at the bundle level • Opt-in and co-opt models • Raise the level of abstraction for an AOP: develop, consume and deploy cross-cutting capability as bundles and fragments • Facilitate the Independent Delivery of Crosscutting Capability • Cross-cutting capability delivered separately from core function • Flexible approach to consuming platform features • Re-use at binary bundle level • Simplify Load-Time Weaving • Weaving determined by bundle dependencies • Weaving scoped by bundles • Weaving mechanism is JVM-independent
AOP and OSGi Application Problem Determination Management Needs PD Needs Recursion Detection Needs PD Needs Management Needs PD
AOP and OSGi Application Problem Determination Management Needs PD Needs Recursion Detection Needs PD Needs Management Needs PD
AOP and OSGi Application Problem Determination Management Local Aspect Fragment Co-Op Aspect Opt-In Aspect Private Aspect
Runtime Application Weaving Service (AspectJ) Caching Service (IBM) Problem Determination Configuration Management AOSGi AJDT OSGi Eclipse
Next Steps • Make AOSGi available • OSGi adaptor and services • Tests • Use cases • Make AJEER available • Develop common infrastructure • Solicit use cases • Identify tools enhancements
More Information • Aspects Incubator • http://www.eclipse.org/equinox/incubator/aspects/ • AspectJ and AJDT • http://www.eclipse.org/aspectj/ • http://www.eclipse.org/ajdt/ • IBM Developer Kit • Linux: http://www.ibm.com/developerworks/java/jdk/ • Windows: http://www.ibm.com/developerworks/java/jdk/eclipse/ • Docs: http://www.ibm.com/developerworks/java/jdk/docs.html