Java EE 7: How did we get here
Ten years ago when I started working as a developer, enterprize edition Java was still in its infancy, version 1.3 had just been release and EJBs were the solution to all our problems, or so we thought. It wasn’t until after the release of EJBs that vendors and developers because interested in adopting enterprize Java. With the release of version 1.4, in 2003, enterprise edition’s positions was sealed.
Arguable 1.4 was one of the greatest milestones in Javas history. It was widely adopted and maintained its popularity for many years, but it was not without its problems. Using it was like driving a monster truck to the shops instead of a family salon. It was bloated with XML files and heavy weight containers. Soon the complex programming model led projects into deep waters. Applications contained excessive amounts of plumbing code such as JNDI lookups and XML configuration files. The promise that EJBs would reduce complexity was not realized, it was just too complex and often overused.
As an attempt to offer an alternative to EJBs Rob Johnson developed the Spring Framework with the release of his book Expert One-on-One J2EE Development without EJB in October 2002. In the following years Spring became popular and its popularity influenced greatly the new programming model behind Java EE. Spring hogged the spot light for much of the early to mid 2000. With the release of Java EE 5 in 2006 Java was back on the agenda. Subsequent years saw the continued development of the platform with two more releases each one making a greater step forward than the other. The most notable advance was the introduction of the context and dependency injection service in release 6.