The vast majority of Java enterprise applications are architected along the
lines of Sun's original PetStore showcase application. Rather than seeing
this as a market stall displaying all the J2EE goods on offer, developers
took it as a blueprint for enterprise applications. It certainly created a
lot of work for Java application developers (as well as systems
administrators and systems integrators), but whether most of the applications
needed most of the possible layers - including bean-managed persistence and
the ubiquitous DAO - is open for question at the very least. This article
briefly describes some of the testability shortcomings of the traditional
J2EE model and presents some alternatives.
The J2EE Model
With J2EE we are tied to a single logical server in a clie... (more)
I am always on the look out for good questions to ask candidates in an
interview. Not the "How many oranges can I fit in this room?" kind of
nonsense (the stock response to which is apparently "with or without us
standing in it?"). Nor the picky, encyclopedic type such as "In the
javax.obscure.DustyCorner class, which method throws a
FullyDocumentedException?" (If you do not respond with... (more)
Complex enterprise applications are generally hard to maintain, and risky and
difficult to change. As a new developer on a team, a large legacy code base
is often difficult to understand, especially when the code has evolved over a
long period and new functionality has been grafted onto an existing
application. The situation is exacerbated by the usual time and delivery
pressures of comm... (more)