None
FR
Untangling Enterprise Java: A new breed of framework helps eliminate crosscutting concerns.
Chris Richardson
ACM Queue - Component Technologies
Untangling Enterprise Java A new breed of framework helps eliminate crosscutting concerns.
Chris Richardson, CONSULTANT Separation of concerns is one of the oldest concepts in computer science.
The term was coined by Dijkstra in 1974.1 It is important because it simplifies
software, making it easier to develop and maintain. Separation of concerns
is commonly achieved by decomposing an application into components. There are,
however, crosscutting concerns, which span (or cut across) multiple components.
These kinds of concerns cannot be handled by traditional forms of modularization
and can make the application more complex and difficult to maintain.
Examples of crosscutting concerns in enterprise Java applications include transaction
management, security, persistence, and application assembly. Scattering the
code that handles those concerns across multiple components is undesirable,
however. This is because doing so would make each component more complex. Also,
duplicating code in multiple modules can cause maintenance problems. Consequently,
there has been a flurry of activity in recent years to develop frameworks and
new forms of modularity that try to untangle these crosscutting concerns from
the application’s business logic.