Introduction: In part 2nd of this two-part AOP tool comparison, the aspect-oriented expert Mik Kersten will focus on integrating tools with the development environment and building processes, including a point-to-point comparison of the AOP tools IDE features. To help make the final decision, the authors present the recent developments in these fast-growing tools and provide a summary of the pros and cons of each tool. Note that this article will explain the implications of the recently announced AspectJ and Aspectwerkz project consolidation.
In part 1th of this two-part AOP tool comparison, the 4 leading AOP tools (AspectJ, Aspectwerkz, JBoss AOP, Spring AOP) are introduced to implement the core AOP mechanism. Although these tools have been focused on the idea of connection point models, pointcuts, notifications, and declarations between types, each tool still has distinct advantages and disadvantages in dealing with AOP syntax. As explained in part 1th, syntactic decisions affect not only the sense of programming--the cumbersome syntax vs more straightforward, the entry point vs Annotation of code, the notification saved in the same source file vs localization to the aspect configuration in XML--but also the difference in semantics. Now, this section will continue to explore the meaning of different technologies, but this time the focus is on how the above decisions affect the integration of the AOP tools in the overall development process and the development environment.
This article begins with an in-depth study of the development of Java™ language AspectJ, focusing on the advantages and disadvantages of the code style in terms of construction and static checking. Then we discuss the different compilations of each tool, and use the latest Awbench test results to show how they affect performance.
Of the 2nd part of the AOP tool comparison, the most important discussion topic may be IDE support. This article compares the IDE support for each tool in a feature-by-character manner and makes visible comparisons of two actual IDE plug-ins. This article also describes the documentation and library support for each tool, which is an important factor in selecting new technology implementations.
The article concludes with some speculations about the future direction of these tools and outlines the core strengths and weaknesses of each tool. Table 1 summarizes some of the key factors in the development environment integration discussed in detail throughout this article.
Table 1. AOP Tool Comparisons: development environment Integration
If the reader has read the 1th part, you may now want to integrate the development environment.