Considerations for Enterprise-Scale Applications
This section addresses some common scenarios in enterprise-scale application development. This class of application tends to have requirements for high availability and for handling many transactions per second. These applications also have a relatively long lifetime in the enterprise, and they can be complicated to configure.
Maintainability is an important aspect of enterprise applications. They must periodically be modified or upgraded over their multiyear life spans. To support extensions and refactoring, developers must make these implementations highly testable.
Enterprise applications occasionally require troubleshooting. Developers must anticipate this need by making it easy to diagnose problems that may arise.
Considerations for enterprise-scale applications include the following topics:
- Managing Application Configuration. This topic covers the various application configuration options available to SharePoint developers. Because enterprise applications usually involve non-trivial systems integration and are built for extensibility, configuration is a major concern. SharePoint itself is very flexible, and it is important that applications that are built on top of it maintain that flexibility.
- Providing Application Diagnostics. This topic addresses some techniques and tools for creating code that is easy to instrument and troubleshoot
- Improving Application Quality Through Testing. This topic provides a comprehensive overview of the types of testing needed for enterprise applications.
- Building for Scale. In order for an enterprise application to scale appropriately, the underlying code most be written in a scalable way, and sufficient stress testing needs to be performed to evaluate its behavior under normal and excessive user load. This topic covers some of decisions and techniques needed for creating scalable SharePoint code. It also describes scale and stress testing for SharePoint applications.