formVista(tm) Developers Guide and Reference
 

2.3. The Problems with Existing Frameworks

A number of application servers and frameworks exist in the marketplace. Unfortunately, they all suffer from short comings that made them inappropriate for our particular requirements.

  1. Web Applications frameworks put software before content. In their view “content” is something you put into “software”, not the other way around. Unfortunately for these solutions, web applications are content-centric, not software-centric. The distinction between application and content is blurred. Because of this, there tend to be more content creators than programmers in web software development. In our opinion, web software development is more like modern video game development where content creators rule and software developers are there to support them.

  2. Programmer centric framework solutions do not address role separation. Because content, design and functionality are jumbled into the same web pages, the work products of highly paid software engineers are inextricably linked to the work products of graphic designers, content creators and webmasters. This leads to a situation where no role can operate for long without the direct involvement of the other roles. Development inefficiencies arise slowing the entire effort and raising costs. This also leads to a situation where effectively reusing portions of a project, whether code or design, in new projects is impractical. From a business perspective, development dollars spent on one project do not translate into lower development costs or increased efficiencies on later projects.

  3. Traditional frameworks do not address maintainability. Web applications, being heavily content driven, are more often heavily modified on a per installation basis. Essentially each project is custom. There are few established processes for managing applications across multiple installations and across multiple platforms where such modifications are the norm. As a result, these fielded applications tend not to have a clear support infrastructure or upgrade path. Ongoing support tends to degrade into an inconvenient, unmanageable and expensive process of manual intervention.

  4. Most application server frameworks prevent applications from being “installable”. Either they use lesser known languages or they are targeted at the high end of the market. Hardware, operating system resources and access to engineering talent is generally taken for granted. These application server solutions can rarely be installed without administrator access and often require dedicated servers.

While many frameworks and application servers were technically competent, none of them provided the development, re-use and support efficiencies we needed given the resource constraints we were working under.