Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Spring Web Flow and Alternatives

I am building a a web app with Spring MVC and hibernate. I am struggling with scope. E.g., create parent and children on same interface requires resetting child bean after first child created. Spring MVC does not allow removal of bean from session scope. At the same time, shifting children across multiple request scopes is not practical. I need a conversation scope.

I am now looking at Spring Web Flow as a solution. However, it is poorly documented and seems to depend entirely on xml configuration. Both these features seem to suggest it is an older and perhaps not well supported project.

Can anyone advise on whether I should invest time learning Spring Web Flow, or perhaps suggest alternative solutions that tie into Spring MVC.

like image 518
Jake Avatar asked Sep 21 '25 13:09

Jake


1 Answers

I've spent some time on this now.

I think the reason for xml as opposed to annotation is design. Once one has one's head around it, the flow config is simple and leads to very fast development.

Yes, it seems to be in maintenance mode, but the design is solid and reliable and development seems to be very efficient. Learning curve is a little steep, especially if integrating into an extant webapp, but I was up and running in about three days.

Webflow's own documentation is not great, but the tutorial linked here is excellent.

UPDATE

5 months on and I have built a complete assessment system (i.e test/exam system). My background is in IT and I have a Ph.d in psychology.

The system I built has been thoroughly tested and stress tested.

Advantages of webflow.

  1. A person can start a test, give up and restart in the same session with no problems since flowState takes care of everything
  2. There is full control of when the user can use the back button and how far back the user can go. Returning to state after an illegitimate backbutton usage is easy and user friendly.
  3. Stress test performance is excellent
  4. Configuration is easy. I spent almost no time dealing with design or bug issues related to Webflow.
  5. FRom a higher level design perspective, there were no use cases that were required from a business perspective that could not be implemented.

Disadvantages

Since all objects are serialized before presentation on the webpage, you have to be very careful about how you cache objects if you take them out of the flowState beans.

like image 52
Jake Avatar answered Sep 23 '25 11:09

Jake