New Aspects of Software
Aspect-Oriented Programming (AOP) has become more visible than ever for enterprise developers with the recent merger of the IBM and BEA open source AOP projects to form AspectJ 5. AspectJ is a seamless AOP extension to Java. It allows consistent and flexible implementation of crosscutting concerns such as security checks, metering, and, yes, logging. This is a major improvement on scattered and tangled traditional implementations. In this session, we provide an introduction to AOP, teaching the basic concepts and showing practical applications for Web services and enterprise applications such as metering, error handling, simulating remote errors, tracing, and feature management to varying services and service levels.
We demonstrate how good tools support (in Eclipse) helps developers to see how aspects work in a system, and we discuss best practices, and adoption approaches. At the end of the class, participants will have a better understanding of both the potential and the pitfalls of applying AOP to Web services, and understand the basic mechanisms. The tools used in the tutorial are all freely available as open source software, so participants will be able to use the techniques shown in their own projects. AspectJ is available at http://eclipse.org/aspectj/.
In this session, we look at our experiences in applying AOP to a real-world problem: monitoring and optimizing application performance, with an emphasis on the challenges when using Web Services. This session looks at:
- Basic approaches to monitoring and correlation with AOP
- Monitoring the performance of Web services that are consumed (used) by an application
- Monitoring internal XML processing and resource usage
- Using AOP for performance tuning
- Measurements of the overhead of using AOP
- Scaling up to larger-scale architectures with AOP
- Integration into Java Web services environments
The process and lessons learned from building a real-world AOP monitoring system
Attendees should have some prior exposure to AOP (e.g., by attending the Introduction to Aspect-Oriented Programming with AspectJ 5 class or having read an introductory article).
Ron Bodkin is the founder of New Aspects of Software, which provides consulting and training on application development with an emphasis on aspect-oriented programming and performance management. Ron is also a member of AspectMentor, a consortium of AOP experts, and is a founder of the AspectJLib project. Ron speaks and gives tutorials frequently for customers and at conferences. Previously, Ron led the first implementation projects and training for customers for the AspectJ group at Xerox PARC. Prior to that, Ron was a founder and the CTO of C-bridge, a consultancy that delivered enterprise applications using Java frameworks.