First Milestone of the Next Generation Version of Spring Web Flow Released

Releases | Keith Donald | August 28, 2007 | ...

Dear Spring Community,

We are pleased to announce that the first milestone of the next generation version of Spring Web Flow is now available.  Spring Web Flow 2.0 M1 introduces several major new features, including support for flow-managed persistence contexts, improved support for Java Server Faces, full unified expression language (EL) support, and a more comprehensive sample web application.

 

Spring Web Flow 2.0 is a next generation framework for developing Java web application controllers.  The framework offers a unified runtime for executing stateless and stateful client interactions across a variety of environments.

Goal of the Web Flow 2.0 Release

Today, most application developers use Spring Web Flow to implement linear page flows, such as wizards, by plugging Web Flow into their "base" web framework such as Spring MVC.  Such page flows exhibit linear navigational rules, are stateful, and form dynamic, self-contained modules of web application functionality.  A good example is a loan application process: Web Flow's unique flow definition language provides a natural programming model for implementing these types of processes.

The overall goal of Spring Web Flow 2.0 is to formally take the product from what it is today, a framework used primarily to implement linear wizards, to what it was always designed to become: a universal application controller engine for powering all types of client interactions.  Such interactions include wizards, stateless "RESTful" interactions, and finer-grained, non-linear/asynchronous interactions often present in a "web 2.0" application.

Spring Web Flow 2.0 will provide the Spring community with a unified application controller framework and runtime, suitable for executing all types of client interactions, and capable of integrating a variety of view rendering technologies and UI component models.  This unified runtime will enable consistent application of management instrumentation, security, AJAX, and managed persistence, among other unique features.

View the complete Spring Web Flow 2.0 Roadmap.

Web Flow 2.0 M1 New and Noteworthy

The first 2.0 release milestone introduces several major new features on the road to 2.0 final.  These features are described below. 

Flow Managed Persistence Contexts with JPA and Hibernate

Spring Web Flow 2.0 M1 introduces support for Flow Managed Persistence Contexts with Hibernate and JPA.  The new Hotel Booking Sample application included in the release demonstrates this feature.  Here is how it works in the context of the booking sample:

  • When a new hotel booking flow begins, a persistence context is created for you automatically.
  • As you progress through the flow, the persistence context is used for all data access operations automatically.   You do not have to worry about locating the flow-bound EntityManager instance, or managing it in any way.
  • When you authorize a booking, all changes to managed persistent entities are committed and flushed back to the database automatically.  If you choose to cancel your booking, none of your changes are committed.

The graphical Spring IDE view of this Hotel Booking flow is shown below:

Booking Flow 

Improved Support for Java Server Faces (JSF)

Spring Web Flow 2.0 M1 introduces the Spring Faces module (spring-faces-2.0-m1.jar), a component shipped with the Web Flow distribution that contains first-class support for organizations developing web applications with Java Server Faces.  The pre-existing Web Flow + JSF integration has been factored out to this project, and this project will be the home of all future JSF integration work.

The Spring Faces module provides the Spring community a dedicated project for exploring additional JSF integration opportunities.  The initial work in 2.0 M1 introduces integration with Ext, a popular Javascript GUI widget framework.  Several lightweight JSF UI Components are provided that encapsulate the rendering of rich Ext widgets.  The approach we took allows Ext widgets to decorate standard JSF components, adding a desktop-like look-and-feel and additional UI behaviors such as client-side validation.  The following Ext component decorators are provided in 2.0 M1:

  • A date validator component that performs rich client-side validation on a date text field, with a great-looking date chooser control.
  • A text validator that performs rich client-side validation on a free-form text input field.
  • A number validator that performs rich client-side validation on number text fields.

A screen-shot of the date validator control, also used in the Hotel Booking sample application, is shown below:

 

Ext controls look great, and because all UI behaviors execute client side the responsiveness of the UI is excellent.  We will be adding further support in this area in future Web Flow release milestones, as part of the Spring Faces module.

Having a dedicated Spring Faces module also simplifies the process of setting up Spring Web Flow in a JSF environment.  Before 2.0 M1, developers were required to modify faces-config.xml manually to setup the boilerplate Spring/SWF integration plumbing.  With 2.0 m1, this setup is done for you automatically simply by including spring-faces-2.0-m1.jar in your classpath.

Unified Expression Language (EL) Support

Also new in this release is full support for the Unified EL, which provides an alternative to the OGNL-based expression parser currently used by default in Spring Web Flow.  Use of the unified EL is now recommended for a JSF environment, and will become the default for JSF developers in future milestones.

An example EL expression used within the Hotel Booking flow definition is shown below: 

 

The "id" expression above evaluates the current hotel identifier stored in Flow Scope.  Note how there is no need for any explicit flowScope prefix here.  The developer simply references the variable by its name, and the ELExpressionEvaluator handles resolving the variable by searching through the various scopes.  This makes managed-bean references in Web Flow definitions 100% consistent with references in JSF views used for model binding expressions.  For example, see the following snippet from the bookingForm.xhtml view:

 

2.0 Release Notes

Spring Web Flow 2.0 requires Spring 2.0 or greater and Java 1.4 or greater.

Spring Web Flow 2.0 will retain backwards compatability with the 1.0.x XML-based flow definition language as far as possible.  It is expected that some SWF SPIs will change in future Web Flow 2.x milestones, as Web Flow evolves into a complete controller framework.

Future milestones of Spring Web Flow 2.0 will introduce new dialects for defining flows in real programming languages, providing more powerful alternatives to the current XML-based flow definition syntax.  A POJO-based Java flow definition syntax is in the works, as is a Groovy-based approach.  Also, high-level flow dialects for implementing REST-ful and CRUD flows will be introduced.  Because the Web Flow definition API and execution runtime are separate from any concrete flow definition syntax, we can naturally introduce new syntaxes that engineer application controllers at runtime in different ways.

For JSF users, Spring Web Flow 2.0 and Spring Faces run on JSF 1.1 and JSF 1.2.  The UI component libraries in the Spring Faces module are independent of the Web Flow runtime and may also be used with JSF's default navigation handlers.

Spring Web Flow 2.0 will continue to provide full support for Servlet 2.4 or greater, Portlet 1.0 or greater, and JUnit 3.8.1 or greater environments. 

Spring Web Flow 2.0 will continue to run in Struts 1.2 or greater and Spring MVC 2.0 or greater environments, and will also be usable as a standalone web application controller framework by 2.0 final.

Spring Web Services 1.0 Released

Releases | Arjen Poutsma | August 17, 2007 | ...

After two years of development, we are pleased to announce that Spring Web Services 1.0 is now available.

Spring-WS Logo

Download | Reference documentation | API documentation

Spring Web Services is a product of the Spring community focused on the creation of document-driven, contract-first web services. The key features of Spring Web Services include...

  • Making the best practice the easy practice: Spring Web Services makes enforcing best practices easier. This includes practices such as the WS-I basic profile, Contract-First development, and having a loose coupling between contract and implementation.
  • Powerful mappings: You can route an incoming XML request to any handler depending on message payload, SOAP Action header, or XPath expression.
  • XML API support: Incoming XML messages can be handled in standard JAXP APIs such as DOM, SAX, and StAX, but also JDOM, dom4j, XOM, or even marshalling technologies.
  • Flexible XML Marshalling: The Object/XML Mapping module in the Spring Web Services distribution supports JAXB 1 and 2, Castor, XMLBeans, JiBX, and XStream.  Because it is a separate module, you can use it in other environments as well.
  • Reuse of your Spring expertise: Spring-WS uses Spring application contexts for all configuration, which gets you up-and-running quickly. Also, the architecture of Spring-WS resembles that of Spring-MVC.
  • Support for WS-Security: WS-Security allows you to sign SOAP messages, encrypt and decrypt them, or authenticate against them. And it integrates with Spring Security!

Learn more about Spring Web Services at The Spring Experience, December 12 - 15, 2007 at the Westin Diplomat in Hollywood, Florida. Arjen will deliver two sessions on Spring Web Services there: Introducing Spring Web Services, and WS-DuckTyping with Web Services.

See the release notes for a list of fixes since 1.0-RC2.

Finally, a big word of thanks to all involved. It would not have been possible without you!

Spring Framework 2.1 M3 Released

Releases | Juergen Hoeller | August 01, 2007 | ...

Dear Spring Community,

I'm pleased to announce that Spring 2.1 M3 has been released!

This is the third milestone release in the Spring 2.1 series, introducing autowiring for collections, the "bean(name)" pointcut element, various JDBC enhancements, JRuby 1.0 support and many refinements all over the framework.

Spring 2.1 M1 Released

 

Please see the changelog and JIRA roadmap for more details on the new features introduced in this release.

FYI, we have also released 2.0.7 snapshots, containing backported fixes from 2.1 M3. Please give a recent snapshot a try as a drop-in replacement for 2.0.5/2.0.6! The official 2.0.7 release is scheduled for August 15th. 

Enjoy, 

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

Spring IDE 2.0 is Final

Releases | Christian Dupuis | June 27, 2007 | ...

After fixing approximately 250 bugs and working uncountable hours on adding support for Spring 2.0, Spring Web Flow, Spring AOP and Spring JavaConfig, we are proud to announce the immediate availability of Spring IDE 2.0.

Spring IDE 2.0 Logo

Download | Documentation | Changelog

The release is available from our release update site. Spring IDE 2.0 is licensed under the terms of the Eclipse Public License - v1.0.

New Features

Spring IDE 2.0 contains lots of new features and a bunch of bug fixes. A list of all closed tickets is available in our ticketing system. For those of you that are not familiar with recent development of Spring IDE here is a short list of features included:

  • Support for Spring 2.0 namespace-based configurations. We have put lots of work into that to make the support as extensible as possible. You can read more about that in another post.
  • Support for Spring Web Flow, including an extension to WTP’s XML editor for content assist and hyperlinking as well as validation and graphical editing. More information is available here.
  • Tools for Spring AOP based development. This includes support for validating configurations (parsing of pointcut expressions) and visualization of cross cutting references based on <aop:config> and @AspectJ-style aspects.
  • Support for Spring JavaConfig M2. This serves as sandbox for testing the extension points of Spring IDE’s core. Read more about that here and here.
  • Usability and UI improvements: A new Spring Explorer that replaces the Beans View, Content contribution to the Eclipse’s Project Explorer, a Spring Working Set type to reduce cluttering in the Project and Spring Explorer, Refactoring participants for rename and move refactorings of Java Packages and Classes as well as Bean names, New Project and Spring Bean configuration file wizard.

Spring IDE 2.0 is compatible with upcoming Eclipse 3.3 (aka Eclipse Europa).

Read more at the Spring IDE Blog.

Spring IDE 2.0 RC2 released

Releases | Torsten Juergeleit | June 18, 2007 | ...

We are proud to announce that the last release candidate of Spring IDE 2.0 has been released. Read the announcement on the Spring IDE blog.

Spring IDE 2.0 Logo

Download | Documentation | Changelog

The release candidate is available immediately from our developer update site at http://springide.org/updatesite_dev. Please take some time for testing and provide feedback on any errors, bugs or problems you might find. Many thanks to all that already provided feedback and bug reports. The feedback is really valuable for us.

The final version of Spring IDE 2.0 should be available around SpringOne 2007.

Spring Framework 2.0.6 Released

Releases | Colin Sampaleanu | June 18, 2007 | ...

Dear Spring Community,

We are pleased to announce that Spring 2.0.6 has been released.  Spring 2.0.6 is a bugfix and enhancement release in the Spring 2.0 series, addressing all issues reported since 2.0.5 and backporting various refinements from 2.1 M2 (e.g. compatibility with JRuby 1.0).

Spring 2.0 Released

 

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

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

 

Spring Web Services 1.0 RC2 released

Releases | Arjen Poutsma | June 15, 2007 | ...

We are pleased to announce that Spring Web Services 1.0 RC2 has been released.

Spring-WS Logo

 
This is the second release candidate of Spring-WS, a product of the Spring community focused on creating document-driven Web services. This release contains fixes for bugs discovered since the RC1 release along with minor improvements.  In addition, the "Airline" sample application has been enhanced to use Java 5 features including the new @Endpoint programming model, JPA support, @Transactional, and more.

The next release is planned in a couple of weeks. If no major bugs are found this release will be promoted to 1.0!

For more information visit the Spring Web Services site.

Spring IDE 2.0 RC1 released

Releases | Christian Dupuis | June 12, 2007 | ...

We are proud to announce that the first release candidate of Spring IDE 2.0 has been released. Read the announcement on the Spring IDE blog.

Spring IDE 2.0 contains lots of new features and a bunch of bug fixes. Most noteably we have added comprehensive support for Spring 2.0 namespace-based configurations, Spring AOP including @AspectJ-style aspects, Spring Web Flow and Spring JavaConfig.

Spring IDE 2.0 Logo

Download | Documentation | Changelog

The release candidate is available immediately from our developer update site at http://springide.org/updatesite_dev. Please take some time for testing and provide feedback on any errors, bugs or problems you might find. Many thanks to all that already provided feedback and bug reports. The feedback is really valuable for us.

The next (and hopefully last) release candidate is scheduled for next week and the final version of Spring IDE 2.0 should be available around SpringOne 2007.

Watch out for more; there is still lots to come…

Spring Framework 2.1 M2 Released

Releases | Juergen Hoeller | June 01, 2007 | ...

Dear Spring Community,

I'm pleased to announce that Spring 2.1 M2 has been released!

This is the second milestone release in the Spring 2.1 series, introducing refinements in the annotation config support as well as support for AspectJ load-time weaving and various further new features.

This release also introduces a revised structure for Spring's module jars, now prepared for OSGi. Note that Hibernate 2.1 support has been dropped: Spring generally requires Hibernate 3.1 or higher now. 

Spring 2.1 M1 Released

 

Please see the changelog and JIRA roadmap for more details on the new…

Acegi Security 1.0.4 Released

Releases | Ben Alex | May 25, 2007 | ...

Acegi Security 1.0.4 is now available.

There are over 50 issues addressed in this release. Existing user can upgrade to release 1.0.4 with a simple JAR drop.

Please visit http://tinyurl.com/2qey2l for a detailed changelog.

The project's web site at http://acegisecurity.org provides additional information on Acegi Security's features, access to online documentation, and links to download the latest release.

Please note that the next release of Acegi Security will be known as Spring Security 2.0.0 M1. We anticipate releasing this within the next 7-14 days, and it will offer Spring 2 namespace…

Get the Spring newsletter

Stay connected with the Spring newsletter

Subscribe

Get ahead

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

Learn more

Get support

Tanzu Spring 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