Archive for September 24th, 2005
Sweet Google Maps Hack!
Anyone that has ever studied the MTA’s subway map knows that the map is not exactly geographically accurate. Also, it does not show the location of streets in detail, although that would be beyond the scope of the subway map. Bridging the gap is this Google maps hack. This map combines the subway lines with Google maps so that you can type in an address and see exactly where the subway lines and stops are. This is a great tool for anyone that needs to get around in the subway.
Spring Web Flow Presentation
Last Thursday I attended Keith Donald’s presentation on Spring Web Flow at the Orlando JUG. The Spring team has implemented a state machine used to track state in multi form web interface submissions. It appears to be a very elegant solution to a problem as old as the web itself. Multi form web submissions are difficult to get right because they require the ability to maintain state in a stateless environment. Implementing this kind of functionality in web applications is tedious and error prone. Issues such as the back button and creating a new browser window in the application have to be dealt with. Many times, they aren’t.
Spring Web Flow provides the following benefits:
- During the entire work flow, there is a single URL in the browser. If the user bookmarks the page, loading the bookmark will always take the user to the start of the flow, regardless of when the page was book marked.
- The location where state is stored is abstracted, so the developer has the option of using sessions, hidden forms, or a persistent data store.
- Since the state is not dependent upon a URL, issues such as the back button and new browser window are taken care of.
- It is not tied to any MVC framework. It can work with Spring MVC, Struts, and JSF. It is sufficiently abstracted to allow for use with other frameworks as well.
Overall, it was a very good presentation. One thing I like in particular about Keith’s presentations is that there is a lot of code! Talking is one thing, but showing code usually drives the point home.
For more information, check out: