Spring Framework 4.0 Unifies Java App Architecture and Big Data in the Cloud
Pivotal has released the first major update of the Spring Framework since 2009, marking both the first big announcement from an organization recently spun off from EMC and VMware, and the first public step in that organization's larger mission to use Spring as a key component of a new platform called Spring IO.
Unveiled at SpringOne/2GX in September and available now, Spring 4.0 gives Java developers what the company describes as "a simpler way to deliver and integrate new application architectures, Big Data, DevOps, and Cloud-friendly deployment."
"This release of the framework provides a way to further unify the programming model," said Pieter Humphrey, consulting product marketing manager at Pivotal, "not only for Java app development, which is something Spring has been doing for a long time, but by bringing that together with a common programming model to help developers go after big data projects."
Spring 4.0 is the "lynchpin" of the upcoming Spring IO platform, Humphrey told ADTmag, which is a superset of all the projects in the Spring ecosystem. Pivotal calls it "a cohesive and versioned foundational platform for modern applications." By bringing the core Spring API's together on a single platform, the company aims to provide developers with a model and toolkit for both new and traditional application architectures, Humphrey explained. The new platform applies "the core productivity and portability benefits of Spring to modern app development," he said.
The company said it expects to launch Spring IO in the first half of 2014.
Humphrey likened Spring IO to the Eclipse Release Train, which is an annual, synchronized release of open source Eclipse project updates. Among other things, Spring IO will provide a similarly consistent release cadence for Spring products, he said. Also, although Spring will continue to be a set of libraries that can be embedded in apps and run anywhere, Humphrey explained, Spring IO is going to offer some runtime options, a first for the framework.
"Spring came along in 2004 when enterprise Java was kind of weak," he added. "Now, a decade later, we're seeing something similar, where Oracle and the JCP (Java Community Process) aren't keeping up with the market. Other things are popping up. In the last couple of years we've see multiple languages just on the JVM, requiring only JSE (Java Standard Edition). So there's innovation there, and it would by silly of us not to respond to some of those things and make enterprise Java as easy as some of those dynamic languages. Spring IO helps take us into the next decade of Java programming."
Toward that end, this release includes a new rapid application development framework called Spring Boot, which Humphrey compared to Ruby on Rails. "Spring Boot brings a coding approach that you might associate more with single purpose frameworks or dynamic languages that almost eliminates boilerplate code and configuration work. Historically Java developers have to spend a fair amount of time -- compared with what they'd rather be doing: coding business logic -- setting up a servlet environment or a server or whatever. Spring Boot takes an opinionated approach and makes a lot of assumptions that get developers coding quickly with something that they can override later. The idea is to get them off and running very quickly."
"Opinionated" software encourages specific practices for ease of development.
Spring Boot is not compatible with earlier versions of the Spring Framework, Humphrey said, because of infrastructure changes.
IDC analyst Al Hilwa sees the new Spring IO platform as a win for the company and Spring users, particularly the commitment to version the Spring-related projects and release them on a regular, organized schedule, in synch. "Spring is a strong brand among Java developers, and Pivotal benefits from the association," Hilwa said. "[The developers] benefit from the clean and updated presentation and the sense of organization and execution that Spring IO imparts. If it translates into more adoption in this noisy and crowded developer space, then it is an even bigger win."
The list of enhancements in this release also includes "first-class" Java 8 support; a comprehensive REST stack, with new asynchronous support; full HTML5/WebSocket integration; "next generation" annotation-driven programming; and support for Java EE 7, including JMS 2.0, JTA 1.2, JPA 2.1, Bean Validation 1.1, and JSR-236 Concurrency Utilities.
The Spring Framework is one of the most popular Java application frameworks on the market today. It's a layered Java/J2EE framework based on code published in Johnson's book Expert One-on-One Java EE Design and Development (Wrox Press, October 2002). He also wrote the first version of the framework.
EMC Corporation announced late last year that it would spinoff a group to manage products from several divisions, including its Spring line of Java products, its vFabric Gemfire data management software, and its Cloud Foundry platform-as-a-service (PaaS). Dubbed the Pivotal Initiative, the new venture would also include EMC's Greenplum big-data analytics group and the Pivotal Labs Agile software development tools and services.