Enterprise Java Bean technology hit the industry in 1999 and was quickly adopted by large companies. Unfortunately, problems were quick to appear and the reputation of EJBs began to suffer as a result. Some developers felt that the APIs of the EJB standard were far more complex than those developers were used to. An abundance of checked exceptions, required interfaces, and the implementation of the bean class as an abstract class were all unusual and counter-intuitive for many programmers.
This lead to a widespread perception that EJBs introduced complexity without delivering real benefits.
As a consequence, a counter-movement has grown up at grass-root level among programmers. The main products of this movement were the so-called 'lightweight' (that is, in comparison to EJB) technologies of Hibernate (for persistence and object-relational mapping) and Spring framework (which provided an alternate and far less verbose way to encode business logic). Despite...