Spring Integration 4.0 Goes Live
The first public milestone release of Spring Integration 4.0 is now available, Pivotal Software and the Spring Community announced.
The latest version of the extension of the Spring programming model that supports Enterprise Integration Patterns is compatible with Spring Framework 4.0, but doesn't use the spring-messaging module, which means that its predecessor (Spring Integration 3.0) can be used with earlier versions of the framework.
This major release of Spring Integration comes relatively close to the release of version 3.0, which became available last December.
"The reason for another major release so soon after 3.0 is based on the fact that existing applications that directly use the affected SI classes in their code will need to convert to the Spring Framework abstractions," explained Gary Russell in a blog post. "For the most part, this just means package changes in import statements...Users who don't directly reference the classes, and use the namespace support for all configuration, will not be affected."
The primary goal of the Spring Integration project is to provide, as the Web site puts it, "a simple model for building enterprise integration solutions while maintaining the separation of concerns that is essential for producing maintainable, testable code." The idea is to take the essential advantage of the Spring Framework -- that it encourages devs to code using interfaces and dependency injection to provide Plain Old Java Objects (POJOs) with the dependencies they need to perform their tasks -- another step, by wiring fine-grained components together using a messaging model. It also provides a range of channel adapters and gateways for communicating with external systems.
Version 4.0 replaces all the core Spring Integration messaging abstractions with those in the spring-messaging module.
The "patterns" Spring Integration supports are from a programming model laid out in Gregor Hohpe and Bobby Woolf's Google eBook Enterprise Integration Patterns: Designing, Building, and Deploying Messaging Solutions, and the author's ideas about channels, adapters, filters and transformers.
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.
Spring Integration is one component of the evolving Spring IO Platform, which is a superset of all the projects in the Spring ecosystem. It pulls together the core Spring APIs into "a cohesive and versioned foundational platform for modern applications," explained Pieter Humphrey, consulting product marketing manager at Pivotal, in an earlier interview. He likened it 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.
IDC analyst Al Hilwa sees the Spring IO platform as a win for Pivotal and Spring users, because of 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."
Pivotal is providing a Spring Integration 4.0 migration guide on GitHub.
John K. Waters is the editor in chief of a number of Converge360.com sites, with a focus on high-end development, AI and future tech. He's been writing about cutting-edge technologies and culture of Silicon Valley for more than two decades, and he's written more than a dozen books. He also co-scripted the documentary film Silicon Valley: A 100 Year Renaissance, which aired on PBS. He can be reached at firstname.lastname@example.org.