Model-View-Controller or MVC is defined as “a software architectural pattern for implementing user interfaces. It divides a given software application into three interconnected parts, so as to separation internal representations of information from the ways that information is presented to or accepted from the user”. MVC is said to be the most commonly used pattern in Web framework particularly in HTML based applications, this became evident in the recent survey conducted by RebelLabs where Spring MVC topped the chart with 40% votes.
Due to MVC’s popularity and with the result of the latest Java EE survey, JSR 371 was born. JSR 371 aims to develop an MVC specification for Java EE, which is called MVC 1.0. Initially, MVC 1.0 is a part of JAX-RS, the proposal to create a separate JSR for MVC 1.0 was announced by Santiago Pericas-Geertsen last August 19. The leads for this JSR are Oracle’s Santiago Pericas-Geertsen, also a co-lead of JAX-RS Specification and Manfred Riem, also a JSF Specification’s co-lead.
Spring was able to stay on schedule, seven months after they publicized their plan, Spring Framework 4.1 General Availability (GA) has been released and is now accessible. The GA announcement has been made by Juergen Hoeller, co-founder of Spring Framework, in Spring’s blog site last September 4.
Spring Framework 4.1, started its development in January 2014 and had its first release candidate in July followed up by a second release candidate last August 15 which includes fixes and improvements. According to Hoeller, the following are the new features being offered in 4.1:
- Upgraded/complete support for: JCache (107) annotations, JMS 2.0, Web MVC support for Groovy markup templates
Modular Source Code also known as JEP 201, authored by Mark Reinhold and owned by Alan Bateman was created on July 22, 2014. JEP 201, second among the JEPs lined up for JDK 9, will “restructure the JDK’s source code from a scheme used since 1997 into modules, improve the build system to compile modules, and implement module boundaries at build time”. However, JRE and JDK binary images will stay as they are and no module system will be introduced.
JEP 201 is described as a part of the first phase of JDK 9’s main feature – Project Jigsaw. One main goal of the Project Jigsaw is to “make implementations of the Java SE Platform easily scalable down to small devices”. In connection with Project Jigsaw’s development, it was mentioned by Reinhold in one of his previous blog posts that merging is advisable to be performed before Jigsaw nears its completion.
In a short message posted by Reinhold last August 18, 2014, entitled “JDK 9’s source code is now modular”, he announced that JEP 201 changesets have been merged into the JDK. The changes are now included in the latest Early Access Release for JDK 9 – 9 Build b29 which is now available for download.
Restructuring the source code at an early stage is driven by the following factors:
1. JDK developers will have a chance to familiarize themselves with the “modular structure of the system”;
2. Implementation of “module boundaries in the build” to maintain that structure moving forward;
3. “Shuffling” of non-modular source code to modular will be prevented during the improvements on Project Jigsaw.