Java EE is a remarkable technology for all that it can accomplish, but in earlier versions, it was criticized for being overly complicated and verbose.
Much of this criticism was justified for the fact that Java EE relied heavily on XML-based configuration, requiring many interfaces and exceptions, and presenting developers with many hurdles to face when using it. Technologies such as Hibernate and Spring emerged, and gained much attraction simply because they sought to address those complexities.
With the introduction of Java EE 5, the core platform once again gained the upper hand, tying together the same formula that helped catapult Hibernate and Spring into developers' favor. Annotations were brought in to tone down the verbosity of code, along with the reduction of checked exceptions, POJO programming, introduction of JSF, enhancements in EJB QL and Application Container, and simplification of Session Beans.
Session Beans are Java objects that perform a multitude of operations...