Web development involves applications that can be used via the Internet or a local intranet. In many ways, Web development is similar to traditional development, but there are some differences:
Configuration management processes and tools must be able to cope with these special conditions. ExamplesExamples of Web systems are numerous : e-banking, sites for companies or organizations, e-commerce such as amazon.com or the local supermarket , search sites like Google, travel sites like Shellstar, and so on. Just connect to the net and start surfing! Content ManagementConfiguration management for Web applications is also known as content management. This partly refers to the fact already mentionedthat Web applications are usually composed of a large number of small items: a large list of contents. It used to be that changes in Web applications were largely performed by replacing entire items rather than just by making changes to them. This picture is different now, as Web applications develop from being pure showcases to supporting business functionality. Figure 19-2 shows the increase in servers, grouped according to their primary use. The figure illustrates that the use of Web software as pure publishing of information (showcase) is stagnant, while the use of real systems that can "do something" (functionality) is increasing. Systems with functionality are shown in the three groups: business applications (such as e-commerce), informal collaboration (such as the possibility of entering gas meter reading), and formal collaboration (such as interactive control of a remote production system). Figure 19-2. Web Usage
Content management is, however, also configuration management. The new name may also be a sign of old virtues coming into fashion again. As the new "wild" developers experience the cost of lack of configuration management, they begin to realize that configuration management may be overlooked but is certainly not obsolete. Configuration Management ConsiderationsIn "Notes from the Front Lines: How to Test Anything and Everything on a Web Site," Ted Fuller says,
No doubt the same applies to configuration management! The change in the nature of Web applications, as illustrated in Figure 19-5, also means that quality requirements for the systems have grown, as have requirements for configuration management. IdentificationIt's important to clarify how the many external pieces used in Web systems should be identified: whether they should be identified internally, at the risk of their development not being sustainable (because the link to the external development may be cut off by changing the identification), or whether their original identification should be used, at the risk of its fitting badly into the local identification conventions. It's also important constantly to take care that the composition of deliveries is correct. New versions of deliveries often inherit their content description from earlier versions, but Web deliveries especially may be so fast-moving that one risks not including everything or getting stray items that are no longer necessary. The case where everything is not included will presumably be found quickly in a test. In the opposite case, deliveries contain a large number of items that nobody will acknowledge and nobody dares to remove. Composite deliveries must be expressed explicitly, so one does not get newer versions of single configuration items without wanting or knowing it. A newer version of a configuration item than the one expected may completely smash up a Web system. StorageSeparate libraries, or environments, are essential for production, test, and operation. Much too often these environments are mixed in connection with Web applications, so that test and even development take place directly in the operation environment. For the sake of mobility between various environments, design must be performed with an eye to configuration management, using relative links, so changes do not have to be made whenever something is moved. Change ControlChange control is a special problem for Web development, because everything must go so fast, especially regarding registration and error correction. The process for event registration must be easy to use, and handling speed must suit the overall speed requirements for Web development. However, one must not allow oneself to be tyrannized by the demand that everything must go fast. One should not reduce one's demands for change controlnot even for Web development. Status ReportingFor Web systems, status reports should be clear and able to be produced quickly. Therefore, it may be advantageous to produce different types of reports with less information in each one or to provide for convenient search directly in metadata. |