In this presentation from QCon San Francisco 2007, SpringSource CTO and AspectJ project lead Adrian Colyer discusses where Aspect-Oriented Programming (AOP) should be used, practical applications of AOP in enterprise situations such as Hibernate exception translation and automatic operation retry on nonfatal exceptions, and AOP mechanisms in Spring 2.5.
Spring 2.5: Drop-in upgrade for 2.0 with OSGi bundles, full annotation-based configuration & AspectJ
The first release candidate of Spring 2.5, formerly known as version 2.1, was recently released. InfoQ spoke with Spring framework lead developer Juergen Hoeller to learn more about this release.
In this QCon session, Spring Creator Rod Johnson explains the important enhancements and features in Spring 2, including XML extensibility features, Spring AOP framework updates, first-class support for dynamic languages, JPA integration, and third party technology support such as Mule ESB, clustering tools, SCA, etc.
AOP expert Ramnivas Laddad explains how to use Aspects for refactoring cross-cutting concerns within classes (not just across classes) for things like reducing boiler plate code and potential for mistakes. How to recoganize and refactor such logic into aspects is covered, as well as applying aspects for resource management and concurrency control.
Ramnivas Laddad talks about domain aspects, how aspects fit in the design phase, how to model aspects in UML, how to enforce policies with Aspects, how he used Aspects to diagnose production problems including touch threading problems, and using aspects to simplify design pattern implementation.
In this 11 minute interview, AspectJ lead and AOP expert Adrian Colyer briefly discusses the concept of Domain Specific Aspects, AOP adoption in large enterprise, and using AOP to implement well known design patterns.
n a recent article on Java.net Eric Batzdorff considers the application of AOP in respect to singletons versus domain objects. Batzdorff points out that the weight of using such technologies can be much more noticeable when advising domain objects versus singletons.
The AJDT teams recently released 4 new versions of AJDT providing numerous bug fixes, new features, and support AspectJ 1.5.3. This is the first time that the AJDT versions for Eclipse 3.0-3.3 have been released simultaneously.
Aspect Oriented Programming (AOP) can be used to solve a number of today's application requirements but can also be intimidating for developers when getting started. A new article by Matt Chapman, AJDT Project Lead, shows how AOP development with the popular AspectJ library can be made easier using the Eclipse AspectJ Development Tools (AJDT) plugin.
Spring core developers Rob Harrob and Juergen Hoeller talk about what, why, and how of the new features in Spring 2, including XML configuration, custom tags, AspectJ integration, and migrating to Spring 2. The interview also discusses how to use Spring on large scale projects, common pitfalls with using Spring, and Spring MVC vs. other frameworks.
AspectJ and the AJDT (AspectJ Development Tools) projects have now moved from being Technology projects to become Tools projects. AJDT lead Matt Chapman told InfoQ that the move "is a significant milestone in AspectJ's history, and reflects the maturity and popularity of both the language and the Eclipse IDE support."
Glassbox is a production Java monitoring solution built around AspectJ, released under LGPL. Glassbox made it's first public announcement yesterday with the release of Glassbox Automated Troubleshooter beta 2. Glassbox deployes as a war file to your appserver and then uses AspectJ load time weaving and to monitor app code and other artifacts.
This talk goes beyond myths surrounding AOP and shows the real deal. It examines many practical applications implemented with and without aspects, providing a context for scrutinizing AOP. It also discusses ways to adopt AOP in pragmatic, risk-managed ways allowing developers to try AOP in their own system and gain understanding at the experiential level without exposing them to undue risk.
Adrian Colyer, AspectJ lead and Chief Scientist at Interface21 has contributed an excellent article which shows how to use Spring 2's new AspectJ integration features followed by a roadmap for the adoption of Aspect Oriented Programming on an enterprise project, with lots of specific examples of how and where to apply Aspects.
In this latest InfoQ article, Debasish Gosh writes about how AOP was used on a large financial project to transparently implement error handling logic over the Oracle 10g RAC database and IBM MQSeries, to enable transparent failover.