Spring Batch

Engineering | Dave Syer | May 07, 2007 | ...

Introduction

I've been working hard with a couple of clients on a new product called Spring Batch. The aim is to provide tools and applications to support bulk processing in an enterprise environment. Spring Batch is part of the Spring Portfolio with an initial release in the Spring 2.1 release train.

The original impetus to build some prototype code actually came independently from a number of Interface21 clients. This provides some useful additional detail and some constraints on the implementation so that it can be applied to the real-world problems posed by the clients. I hope that this article…

Power Combination: SCA, OSGi, and Spring

Engineering | Adrian Colyer | May 01, 2007 | ...

No, that's not my headline, it's actually the title of a white paper recently published by Open SOA collaboration. To quote from the news announcement accompanying the whitepaper:

"Based upon user feedback, the OSOA Collaboration are publishing a white paper highlighting the powerful combination of the SCA, Spring and OSGi technologies aimed to help Developers simplify the creation and composition of services critical to building applications based on an SOA approach."
The Open SOA collaboration develops the Service Collaboration Architecture (SCA) specification, with partners including BEA, IBM, IONA, Oracle, Red Hat, SAP, Siemens, Sun, Tibco, and others. So when this group starts to rally around the "powerful combination of SCA, Spring, and OSGi" it's a great endorsement of the Spring Framework and of the work that we're doing in the Spring OSGi project.

The white paper provides a short overview of SCA, OSGi and Spring, and then describes how they can be used together. Quoting from the summary:

"SCA, OSGi and Spring are all useful and powerful facilities for the Java programmer to use. In the new service-oriented world that we are entering, using SCA, OSGi and Spring together provide powerful capabilities for building service implementations from sets of simple Java Beans using few APIs, with managed dependencies, version control and dynamic update capabilities, allied to the capability to compose those implementations with other service components written in Java or in other languages and existing in a distributed network of systems using a range of communication methods.

Simplicity, flexibility, manageability, testability, reusability. A key combination for enterprise developers."

I'll be co-presenting on SCA and Spring with Mike Edwards of IBM at the JavaOne conference next week: session TS-8194, "Spring and Service Component Architecture…

Querying and Downloading from Amazon S3

Engineering | Ben Hale | April 30, 2007 | ...

In a previous post, I described how we use a custom ANT task to upload nightly snapshots from the ANT based projects in the Spring portfolio. In this post I'll describe how we use Amazon S3 to generate pages for the snapshots from each project and allow users to download the snapshots.

As I mentioned in the previous post, S3 is primarily used as a REST-ful service. This means that while I used Java for the upload portion, I was free to use other languages for the download portion. I chose to use PHP in this case because it was already available on the server I was working with, and was the…

Uploading to Amazon S3 using a custom ANT task

Engineering | Ben Hale | April 25, 2007 | ...

One of the interesting side effects of a solid CI structure is that when things are running reliably, new problems start to crop up. Shortly after Spring's CI system started running smoothly, our occasional space and bandwidth issues on static.springframework.org became more pronounced. Colin Sampaleanu had done research earlier on how to alleviate some of these problems and had settled on Amazon S3.

Amazon S3 is part of the Amazon Web Services umbrella and provides an incredibly cheap online file storage service. What does 'incredibly cheap' mean? Well, from the website, it appears that…

The Essence of Spring

Engineering | Rossen Stoyanchev | April 24, 2007 | ...

This happened in Atlanta last week while I was in a Barnes & Noble bookstore. I circled around to the computer section and began scanning titles. With my head tilted I overheard a conversation about a job. I wasn't actively listening but I knew one side was pitching a job while the other was inquiring about it.

A couple of minutes later it was just me and the guy who was looking for talent. I was sure he would start speaking. Soon after he said 'so you're in J2EE?' and so the conversation began. He asked me about my work. He didn't know about Interface21 but upon hearing it's the company…

XPath Support in Spring Web Services

Engineering | Arjen Poutsma | April 23, 2007 | ...

Following up on my post on WS-DuckTyping, I thought it would be interesting to show what support Spring Web Services offers for XPath. Some of these features are available right now, but most will be part of the RC1 release we will release later this month. Throughout this post I will be using the contacts xml file defined in item 35 of Effective XML, by Rusty Harold.

XPathExpression

One of the options that has been available for quite a while is the XPathExpression. This is an abstraction over compiled XPath expressions, such as the Java 5 XPathExpression, and Jaxen XPath.

Recently, I've added the XPathExpressionFactoryBean, to make it easier to inject XPath expressions into your beans, like so:


<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/200…

What Spring Web Flow Offers JSF Developers

Engineering | Keith Donald | April 21, 2007 | ...

Spring Web Flow, much like the Spring Framework itself, is a unique integration technology. Most of our users view it as a generic ApplicationController that can be embedded in any environment. We support Servlet and Portlet based applications, and ship integration with the leading web frameworks Struts, Spring MVC, and Java Server Faces. There are even teams I know of using Spring Web Flow in a Flex environment. In each of these environments, Spring Web Flow integrates to provide a better model for implementing navigation logic and managing application state.

Our users like this because…

Spring Project CI Builds

Engineering | Ben Hale | April 18, 2007 | ...

Over the last couple of weeks, fellow i21 employee Costin Leau and I have been working on improving the Continuous Integration processes of the Spring projects. When we started, we had separate builds running in Cruise Control, Continuum, and even a custom cron job. We were having some trouble getting any of our existing tools to give us what we wanted on all of the builds, when both Costin and I independently came upon Atlassian's new product Bamboo.

In about 10 minutes we had the Spring CI build up and running. This might not sound like much, but due to its size Spring doesn't play nicely…

Spring Web Flow 1.0.2 Released

Releases | Keith Donald | April 10, 2007 | ...

Dear Spring Community,

We are pleased to announce that Spring Web Flow 1.0.2 has been released.  This is a bugfix and enhancement release, addressing all bugs reported against the Spring Web Flow 1.0 series and significantly enhancing Spring Web Flow's support for users of Java Server Faces (JSF).  We recommend upgrading to this release from previous versions.

 

Spring Web Flow is a next generation Java web application controller framework.  The framework provides a powerful system for implementing navigation logic and managing application state consistently across a variety of environments.

New and Noteworthy in this Release

Spring Web Flow 1.0.2 is a solid, stable release that serves as a drop-in replacement for existing users and also contains several noteworthy enhancements.  Three of these enhancements are particularly worth noting in more detail:

Significantly enhanced JSF integration

Now when used as a JSF extension, Spring Web Flow provides:

  • A NavigationHandler that brings the full power of the Web Flow navigation system to JSF developers.  This system allows for implementing dynamic navigation rules and solves the infamous back-button problem out-of-the-box.
  • A state management system providing UI Components full access to beans managed in any of Web Flow's conversational data scopes, including "conversation", "flow", and "flash" scope.  These scopes complement JSF's default scopes and are particularly useful for interactive web applications that apply Ajax techniques using libraries such as Ajax4JSF.
  • Native support for all major JSF view technologies.  With Spring Web Flow 1.0.2, views that participate in flows are standard JSF views whether they are built using JSP or Facelets.  Any JSF UI Component can now bind to beans managed in any of the conversational scopes seamlessley.

Please run and review the sellitem-jsf sample for a quick assessment of these enhancements in action.  They significantly improve the ease of using Spring Web Flow in a JSF environment, and are the start of a larger effort that will continue into the 1.1 release and beyond.

Expanded practical documentation

Complete walk-throughs of each of Spring Web Flow's sample applications are now provided in the reference manual.  These walk-throughs take you through the implementation of each sample, and explain best practices and design considerations along the way.   After downloading the release, see the 'Practical' chapter for how to get the sample applications running inside your IDE.

Spring IDE 2.0 integration

The upcoming 2.0 version of the Spring IDE Eclipse Plugin features a Graphical Web Flow Editor and XML Flow Definition Editor.  Beginning with Spring Web Flow 1.0.2, each of the sample applications has been Spring IDE 2.0 enabled, allowing you to easily assess these tools as they progress.  To evaluate Spring IDE 2.0 simply import the sample projects into Eclipse and install the latest version of the Spring IDE 2.0 plugin from the nightly update site.

Spring Web Flow 1.1 Road Map 

Work has begun on Spring Web Flow 1.1 in anticipation of a first release candidate becoming available at JavaOne.  Building on 1.0.2, this release will offer major new functionality including support for conversational persistence contexts, Acegi Security integration, unified EL integration, integrated Spring 2.0 custom scopes, enhanced support for Java-based flows, and support for flow composition and inheritance.

Special thanks to Jeremy Grelle, Rossen Stoyanchev, and Christian Dupuis for their major contributions to this release.  It is an exciting time to be a part of the Web Flow community!

Keith Donald - Interface21
Erwin Vervaet - Ervacon
Leads, Spring Web Flow Development 

Spring Framework 2.0.4 Released

Releases | Juergen Hoeller | April 10, 2007 | ...

Dear Spring Community,

We are pleased to announce that Spring 2.0.4 has been released.  This is a bugfix and enhancement release, addressing all reported bugs against the Spring 2.0 series and introducing significant performance improvements.  We recommend upgrading to Spring 2.0.4 from previous 2.0.x releases.

Spring 2.0 Released

 

Regarding the performance improvements, repeated creation of Spring bean instances is up to 12 times faster in this release than previous versions of Spring 2.0. AspectJ-based weaving performance has also increased by a significant factor.

Please see the changelog and JIRA roadmap for all the details of the 77 issues addressed in this release.

Juergen Hoeller
Lead, Spring Framework Development
Interface21 - http://www.interface21.com

Get ahead

VMware offers training and certification to turbo-charge your progress.

Learn more

Get support

Tanzu Spring Runtime offers support and binaries for OpenJDK™, Spring, and Apache Tomcat® in one simple subscription.

Learn more

Upcoming events

Check out all the upcoming events in the Spring community.

View all