19.6 Web Applications

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:

  • Time-to-market is small: new versions may be produced in less than a week, or indeed in less than an hour .

  • The number of configuration items is much larger: a Web application may consist of 100,000 items (including all graphic details), while a classic software system consisting of 10,000 items is usually regarded as extraordinarily large.

  • It's easy to release a new versionall you have to do is move the item to the server (if it's not developed right there). This is both an advantage and a serious threat to control.

  • Iterative development is common, and maintenance is part of development: you design a little, develop a little, test a little, release, and so on.

  • WWW = wild, wild Web or wild, wilder, wildest : people who make Web systems often have a background different from that of other software specialists.

  • Generally, companies that develop Web systems experience considerable staff turnover .

  • To a large extent, and increasingly, Web applications involve components developed by others. Earlier companies suffered from the "not-invented-here" prejudice, which meant that everything had to be developed from scratch. Now, the attitude "stolen with pride " prevails.

  • Techniques and platforms are totally new (and untried) and change all the time.

Configuration management processes and tools must be able to cope with these special conditions.

Examples

Examples 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 Management

Configuration 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

graphics/19fig02.gif

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 Considerations

In "Notes from the Front Lines: How to Test Anything and Everything on a Web Site," Ted Fuller says,

Lesson #1: Testing Web applications is completely different from testing any other software.

Lesson #2: Testing Web applications is no different from testing other software.

Lesson #3: Nothing in your QA experience prepares you for working on a Web project.

Lesson #4: Everything in your QA experience prepares you for working on a Web project.

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.

Identification

It'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.

Storage

Separate 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 Control

Change 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 Reporting

For 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.



Configuration Management Principles and Practice
Configuration Management Principles and Practice
ISBN: 0321117662
EAN: 2147483647
Year: 2002
Pages: 181

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net