Jose has posted 9 posts at DZone. View Full User Profile

Book Review: Spring Web Flow Web Development

05.14.2009
| 6946 views |
  • submit to reddit

Right now there are two trends to develop web applications, either you choose the RIA model or a conversational approach. In the former, say Flex with Cairgorm, both the model and the state is handled by the client. In the later, the server manages the scope sending a view to the browser which acts as a renderer. Of course, interactivity has improved over the years and nowadays partial requests are a must to improve user experience. Spring WebFlow is the SpringSource approach to a server side (work/page) flow management for web applications and Spring Web Flow Web Development, the book, (I could think of better names!) tries to explain how to leverage it.

The task is not minor because, let's face it, Java is a very complex platform and to start with WebFlow you should have a good understanding of JEE (at least JSF and the Servlet APIs), Spring and MVC in general. AJAX is welcome as well. The book, of course, can't help you there (you'd need a whole collection for that). This is not for novices! Fortunately a lot of people have learned JEE and Spring through the years and it's a matter of learning Webflow step by step but in depth.

Now, here the book shines. I like the formating, very clear and clean, and the language, simple and direct. I would have changed the chapter structure a little though. I missed individual chapters for persistence (Security has one) and Spring MVC (Faces has one) and I would have reordered some things here and there (configuration is scattered) but that's subjective and overall the steps make sense. The concepts (flow, action, state, transition, continuation) are well defined and you get a grasp pretty soon but some times the book is too comprehensive like when enumerating the methods and fields of the available variables (messageContext, flowExecutionContext et al). This makes for a hard reading but it will be invaluable as a reference book to some. I prefer IDEs for that task though. In the same sense I missed more diagrams and graphs (I'm not referring to UML class diagrams here). In a book about flows it should be pretty easy to plot concepts using some circles here and there. In my mind, circles are not less valuable than XML snippets (the book has tons of these don't worry) and the reader will gladly accept some pictures to clarify concepts (and thank you for them). Nothing too fancy, this one (extracted from the book) is more than enough:


In summary, the book is extensive and a great tool to learn first, and as a reference guide later, to Spring Webflow. It's dense and it explains lots of concepts in depth. Be warned that to extract all value this book requires previous knowledge of complex notions, among them: Spring, JSF, AJAX, persistence/ORM, Security, unit testing and probably more. The authors have made the effort to introduce all these libraries/skills when they're first used but that just lessens the burden (a bit). All in all, an easy candidate to recommend to those who need to extract all the power that Webflow 2 has to offer or teams that are about to start a new project and need an initial push with the technology.

From http://internna.blogspot.com/

Published at DZone with permission of its author, Jose Noheda.

(Note: Opinions expressed in this article and its replies are the opinions of their respective authors and not those of DZone, Inc.)

Tags:

Comments

jiji530 (not verified) replied on Tue, 2009/06/30 - 12:12am

thanks for your post.perhaps you will like abercrombie ed hardy mortgage rates tiffanys ed hardy Is not it?

eugene base replied on Wed, 2009/07/01 - 12:04am

From the documentation, Spring Web Flow is the module of Spring for implementing flows. The Web Flow engine plugs into the Spring Web MVC platform and provides declarative flow definition language.

 

cobra insurance

eugene base replied on Thu, 2009/07/02 - 5:26am

Right now there are two trends to develop web applications, either you choose the RIA model or a conversational approach. In the former, say Flex with Cairgorm, both the model and the state is handled by the client.

 

thanks,

search engine optimization

green boal replied on Thu, 2009/07/09 - 6:45am

Many web applications need to take the user through a defined series of steps such as e-commerce checkouts or user registrations. Spring Web Flow works well for rich and flexible user interaction, additionally it helps you to describe the flow of websites in complex processes. Spring Web Flow 2 provides the perfect way to build these kinds of features, keeping them secure, reliable, and easy to maintain. no scar breast augmentation

john green green replied on Mon, 2009/10/26 - 3:27am

Many web applications need to take the user through a defined nike shoes russiaseries of steps such as e-commerce checkouts or user registrations. Spring Web Flow works well for rich and flexible user interaction, additionally it helps you to describe the flow of websites in complex processes.

Veer Singh replied on Sun, 2010/10/10 - 2:34pm

Again, I really liked how Spring Web Flow 2 Web Development serves as both a jump-start on SWF2 and also covers technologies outside of SWF (Spring Security, build tools, Apache Tiles, etc). The book isn’t a detailed reference manual, that leaves you feeling you still don’t know how to use the technology, but gives the right amount of walk-through examples and framework documentation for best seo .

When finished with the book you will understand how to install SWF2, how to build and use the examples. You will have numerous, feature-rich examples the authors build throughout the book. You’ll know how to use SWF2 in a request-response Spring MVC app and also with a JSF application. You get a solid tutorial on using Apache Tiles (kind of odd in a SWF book), a very detailed explanation of Spring Security and integrating Spring Security with SWF. You also will understand how to test your flow definition and SWF application while also learning about EasyMock.

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.