1 / 20

CasCon 2004

1. aspectj tools overview. 3. tool support for large systems. 2. comparison of tool approaches. CasCon 2004. 3..20. The role of tool support. IDE tools make code easy to navigateReference structure embedded In the codeDeclaration lookupStructured searchBut inheritance structure can be hard to e

lahela
Download Presentation

CasCon 2004

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


    1. CasCon 2004 1..20

    2. 1. aspectj tools overview 3. tool support for large systems

    3. CasCon 2004 3..20 The role of tool support IDE tools make code easy to navigate Reference structure embedded In the code Declaration lookup Structured search But inheritance structure can be hard to extract by reading code alone Especially in large systems E.g. who overrides this method?

    4. CasCon 2004 4..20 AOP is all about crosscutting structure Key idea is dynamic join points method & constructor execution method & constructor call field get & set exception handler execution static & dynamic initialization … Demo…

    5. 1. aspectj tools overview 3. tool support for large systems

    6. CasCon 2004 6..20 Getting started with AOP Things to consider AOP language Tool support Platform integration Hardened Java2 approaches to choose from AspectJ AspectWerkz JBoss AOP Spring Let’s contrast what an aspect looks like in each…

    7. CasCon 2004 7..20 AspectJ

    8. CasCon 2004 8..20 AspectWerkz (annotation style) Offline interception allows an entire set of classes to be changed once, making runtime execution more efficient, at the cost of making the development cycle less efficient (you've have to manipulate a class file every time you recompiled the Java source). Online interception makes application execution less efficient (because the class must be modified while the program is running), but eliminates the extra step of changing the class file on every compile. http://aspectwerkz.codehaus.org/introduction.htmlOffline interception allows an entire set of classes to be changed once, making runtime execution more efficient, at the cost of making the development cycle less efficient (you've have to manipulate a class file every time you recompiled the Java source). Online interception makes application execution less efficient (because the class must be modified while the program is running), but eliminates the extra step of changing the class file on every compile. http://aspectwerkz.codehaus.org/introduction.html

    9. CasCon 2004 9..20 AspectWerkz (XML style) Offline interception allows an entire set of classes to be changed once, making runtime execution more efficient, at the cost of making the development cycle less efficient (you've have to manipulate a class file every time you recompiled the Java source). Online interception makes application execution less efficient (because the class must be modified while the program is running), but eliminates the extra step of changing the class file on every compile. http://aspectwerkz.codehaus.org/introduction.htmlOffline interception allows an entire set of classes to be changed once, making runtime execution more efficient, at the cost of making the development cycle less efficient (you've have to manipulate a class file every time you recompiled the Java source). Online interception makes application execution less efficient (because the class must be modified while the program is running), but eliminates the extra step of changing the class file on every compile. http://aspectwerkz.codehaus.org/introduction.html

    10. CasCon 2004 10..20 Spring Offline interception allows an entire set of classes to be changed once, making runtime execution more efficient, at the cost of making the development cycle less efficient (you've have to manipulate a class file every time you recompiled the Java source). Online interception makes application execution less efficient (because the class must be modified while the program is running), but eliminates the extra step of changing the class file on every compile. http://aspectwerkz.codehaus.org/introduction.htmlOffline interception allows an entire set of classes to be changed once, making runtime execution more efficient, at the cost of making the development cycle less efficient (you've have to manipulate a class file every time you recompiled the Java source). Online interception makes application execution less efficient (because the class must be modified while the program is running), but eliminates the extra step of changing the class file on every compile. http://aspectwerkz.codehaus.org/introduction.html

    11. CasCon 2004 11..20 Language semantics

    12. CasCon 2004 12..20 Language syntax

    13. CasCon 2004 13..20 Platform integration

    14. CasCon 2004 14..20 Tool support

    15. 1. aspectj tools overview 3. tool support for large systems

    16. CasCon 2004 16..20 Making do without AOP support You’re already working with crosscutting structure J2EE’s XML descriptors, generative programming Structured search and refactoring tools can help But it’s not explicit

    17. CasCon 2004 17..20 Exposing crosscutting structure AOP languages express crosscutting directly Direct semantics enable good tool support Crosscutting structure is explicit Editor, views, documentation, … Demo: build configurations, views…

    18. CasCon 2004 18..20 AOP reduces system complexity Aspects are a new language mechanism, so there is a learning curve But with good tool support AOP programs are easier to understand than their OO counterparts

    19. CasCon 2004 19..20 What’s next? Java 5 support Refactoring Java refactorings will update aspects AspectJ refactorings Aspect-oriented refactorings will help with migration and evolution Structure views Everywhere you see OO structure you see the corresponding AO structure

    20. CasCon 2004 20..20 AspectJ credits Versions 0.1-1.1 developed at PARC Eclipse.org Technology project AspectJ committers Adrian Colyer, Andy Clement, Erik Hilsdale, Wes Isberg and Mik Kersten AJDT committers Adrian Colyer, Matt Chapman, Andy Clement, Mik Kersten and Julie Waterhouse http://eclipse.org/aspectj http://eclipse.org/ajdt

More Related