Spring AOP/AspectJ combination offers many choices, whether they are AOP system, syntax or weaving related options, and a clear understanding of all those choices is important to apply them pragmatically when using Aspects in enterprise applications. Ramnivas Laddad said just one kind of AOP won't fit all applications and choosing the right combination will help developers be successful with AOP.
This article provides a practical example of light-weight workflow orchestration using Spring AOP and AspectJ.
While many think of Aspects for cross-cutting concerns such as transaction management, persistence and role based security, another key value for them has been as an enabler for Annotations for ordinary projects. Using Aspects as a way to implement annotation handlers is a different way to think of them than as the traditional architect's "cross cutting concerns" view.
Custom annotations are a great way to add common reusable behavior to Java applications. John Heintz from New Aspects discussed at the recent No Fluff Just Stuff (NFJS) Java Symposium, the design techniques for adding behavior to Java Annotations.
The AOP framework PostSharp now supports Silverlight, Mono, and .NET Compact Framework.
Managing commonality and variability is the core of product line engineering. In this presentation, Markus Völter illustrates how model-driven and aspect oriented software development help addressing the challenge of managing variability in product line engineering.
Orbitz Worldwide, a leading global online travel company, has open sourced two monitoring tools Extremely Reusable Monitoring API (ERMA) and Graphite, a persistence and visualization component. ERMA is a home grown Java API and library that has been used in several web applications at Orbitz to capture monitoring statistics in the applications at run-time.
Domain-Driven Design is a subject where there currently are very few examples of how to actually do it in practice. In this article, Srini Penchikala gives you guidelines, practices, frameworks and tools that technical leads and architects can use in the effort of implementing a system in a Domain-Driven way.
InfoQ.com is a next generation web portal combining the latest advancements in portal technology and web development. In this presentation, Alexandru Popescu and Floyd Marinescu walks through the good, the bad, and the ugly of building InfoQ.com; from initial (lack of) requirements, designs, implementation choices, and deployment issues, and all the lessons learned along the way.
Dr. Mark Pollack, founder of Spring.NET, provides an introduction focused on implementing and designing loosely coupled application architectures.
Mark Pollack, founder of Spring.NET, talks about shares ideas between the Java and .NET communities and the history of Spring.NET. Topics include how to use dependency injection and AOP for more than just logging and where Spring.NET overlaps with WCF.
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.
Today, many projects focus on Domain-Driven Design, but it is not always easy. One of the most important things are to separate the domain code from the code that only exists for technical reasons. Mats Helander has written an article where he explains how to manage domain models and teaches design patterns and aspect-oriented programming in the process.
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.