If we fast forward a little bit (pretty much skip the rest of J2EE progression) and land in Java EE 5, we run into an interesting paradigm shift. EJB3 came out with this revision of Enterprise Edition, with a lot of cool new features. It was meant to be a simplification release, removing the need for a lot of extra interfaces, or classes implementing methods to do their work. The component programming model instead moved towards annotations (in general, annotations are considered decorations on your code, providing metadata for some runtime to use. In Java, these are
RUNTIME allows you to access the annotation after compilation while
SOURCE are typically only compile time).
Since we switched ...