Linux Today: Linux News On Internet Time.
Search Linux Today
Linux News Sections:  Developer -  High Performance -  Infrastructure -  IT Management -  Security -  Storage -
Linux Today Navigation
LT Home
Contribute
Contribute
Link to Us
Linux Jobs

Partner Sites
JustLinux.com
Linux Planet
PHPBuilder
Technology Jobs

Top White Papers

More on LinuxToday


developerWorks: Use AOP to Maintain Legacy Java Applications

Mar 16, 2004, 05:30 (1 Talkback[s])
(Other stories by Abhijit Belapurkar)

"A software system typically starts out with finite set of well-understood requirements. As most successful systems evolve, however, they take on more and more requirements, incorporating innumerable functional and nonfunctional aspects. In an enterprise environment, you can easily end up adding to this tangle of modules a number of third-party libraries and frameworks, all of which interact and play with each other beneath the surface of the system's day-to-day workings. In effect, given just a few years, the system that started out with a simple, manageable requirement set has become a behemoth: an unruly and obtuse tower of code.

"Into this tower steps the Java developer, newly tasked with its daily maintenance and evolution. If you are this developer, then your first task is to gain an intimate understanding of the structure of the system. Understanding the structure will be key to your ability to make enhancements and troubleshoot any problems that, inevitably, will arise. Of course, peering into any unknown system for the first time is easier said than done. In some cases you will be able to ask questions of the original developers, in others you won't. But even with access to the development team some systems are simply too massive to be accessed and understood without mechanical help.

"While a number of tools are available to aid you in comprehending complex programs most are expensive, time-consuming to learn, and limited in scope of functionality (that is, you will have no recourse if the tool does not meet your needs). In this article I propose an alternative approach. Aspect-oriented programming is a full-fledged programming paradigm that can be applied to a wide range of programming scenarios, including the comprehension and maintenance of legacy applications..."

Complete Story

Related Stories: