|
IntroductionA framework must enable development of applications ready for high-load, mission-critical deployments. The framework itself must be robust, and it must help applications developed using the framework to keep this robustness. The main components of this are:
StabilityBeing able to confidently deploy an application into a live environment is critical. Some of the main considerations are:
SecurityThe framework itself must not contain security vulnerabilities, such as directory traversal. Where the framework implements security-significant features, such as authentication, these must have all appropriate precautions (such as lockouts) available, and enabled by default. Moreover, the framework must encourage secure coding. Use of an ORM and XML-based templates makes SQL injection and cross-site scripting vulnerabilities much less likely. The forms library needs to help prevent cross-site request forgery (CSRF) attacks, and similarly the JSON support must help prevent JavaScript hijacking attacks. The framework should also help prevent authorization flaws, such as parameter tampering attacks. PerformanceThere are a variety of requirements around performance. Comparison figures often focus on the raw server performance, but this is only part of the picture. Some of the major factors influencing performance:
Deployment OptionsApplications must be deployable on a range of operating systems, web servers and databases. Having full Windows support, including IIS and SQL Server, is a definite advantage. Ideally, there should be a single, prefered deployment option for each platform, although some use cases (such as high performance) may require a different approach. There are three main styles of deployment:
© 1998 - 2008 Paul Johnston, distributed under the BSD License Updated:20 Jan 2008 |