Technical Challenges
Retired Content |
---|
This content is outdated and is no longer being maintained. It is provided as a courtesy for individuals who are still using these technologies. |
The reference implementation is an executable sample. It demonstrates how the software factory addresses common technical challenges that you face when you build line-of-business Web sites with ASP.NET.
Table 1 describes some technical challenges that the reference implementation addresses.
Technical challenge |
Description |
How is this demonstrated in the reference implementation? |
---|---|---|
Modularity |
Ability to build complex sites based on modules that can be independently developed, tested, versioned, and deployed |
Web site solution structure. Reports, Administration, and EFT modules that use the Composite Web Application Block. Distributed Web.config files. |
Layout management |
Ability to create a common user experience across different independent modules, separating the responsibility of the UI design from the UI development |
Application uses master pages for public site and for module Web pages. Use of ASP.NET themes and skins. Use of a site map provider to display module actions on the Web site. |
Unit testing Web solutions |
Ability to run unit tests against Web page logic |
All views in the reference implementation use the View-Presenter patterns to isolate page logic. All modules include unit test projects. |
Communications with external services |
Ability to interact and aggregate information and operations exposed by other systems as Web services |
The EFT module interacts with external Web services that simulate a back-end payment system. The Service Agent pattern is used to abstract common tasks, such as entity translation. |
User profile based UIs |
Ability to change the behavior of the UI based on the user identity and profile information |
Site configured with two roles, Administrators and Operators. Actions available in each module operate on different permissions sets for the available roles (for example, the Administrator role can view reports, but the Operator role cannot view reports). Use the site map provider to display permission aware actions on the Web site. Rule-based permissions using the Enterprise Library Security Application Block defined in configuration files. |
Authentication |
Ability to identify registered users of a site |
Forms authentication for all protected pages. Views are protected with settings in the modules' Web.config file that denies access to anonymous users. |
Authorization |
Ability to change permissions for different users |
Each module operates with different permissions sets. Application uses ASP.NET role manager. |
Securing data |
Secure user and site information |
All exceptions are shielded using Enterprise Library and ASP.NET configuration to prevent information to be leaked to end users in the event of a runtime exception. User input is validated for type, length, format, and range. By using the Composite Web Application Block, untrusted content is encoded before displaying it on a browser. |
System availability and scaling |
Maximize uptime and minimize the time to diagnose problems |
Application tested for scaling up and scaling out. Logging exceptions using the Enterprise Library Logging Application Block for simplified management and diagnostics. |
Easy deployment |
Minimizing the complexity to deploy new or updated functionality on a site |
XCopy deployment of modules. Modules are deployed independently of each other. Distributed Web.config files minimize configuration contention. |