Paul Graham has written an essay about the new internet buzzword “Web 2.0”. As always it is a must read.
Web
24
Nov 05
WIND – Wireless Nodes Database
Recently, I visited the AWMN (Athens Wireless Metropolitan Network) homepage and I was pleasantly surprised with their new wireless node tracking software. AWMN, as most wireless community networks, used to use NodeDB for tracking their network nodes. Now, they have developed a new system, called Wind, that uses Google Maps. Wind was developed with PHP, MySQL and Smatry (a PHP template engine) and it is under the GNU General Public Licence.
You can find the Wind project page here.
Kudos to the development team for doing such a great job.
11
May 05
Spring Web Flow
The Spring Framework has recently released a preview of a new subproject called Spring Web Flow (SWF). SWF is a component that sits on top of existing web frameworks to allow the explicit creation page flows.
TSS has a nice introductory article about this new subproject.
In the past months I worked for a project to extend an e-procurement system with new functionality. This system had some very complex page flows and after reading the TSS article for SWF I can instantly see how a web-flow framework could have made our lives a lot easier while working for this project.
Except for the other advantages (like flow reusability and modularization) page flow definitions can provide good documentation for maintenance programmers. I remember it was painful to discover the page flow for a particular use case while working with the above system. You had to see the application in action and dig into action and JSP code, a process that is painful and time consuming. With SWF all you have to do is look at the page flow definition XML file.
So I believe that the SWF will be a very useful addition to the Spring Framework for applications that have complex page flows.
BTW SWF is independent of the actual web framework. SWF currently supports Spring-MVC, Struts and Portlets.
Other similar open source web flow frameworks include:
- Beehive Page Flows that it is implemented on top of Struts.
- Cocoon Flow that is a page flow component for the Cocoon framework.
- Struts Flow that is a port of Cocoon Flow to Struts.