Enterprise Software

Web Application Definition

Your programmers keep telling you they need configuration management tools to continue writing software that keeps your e-commerce site robust. Here's a primer on these helpful tools.


By Susan Dart

Web content involves many types of data: files, documents, graphics, streaming audio/video, source and binary code, and component libraries. The configuration management (CM) tool must cater to these as well as to their compilers, interpreters, and the associated metadata. Metadata includes information such as the differences between the content and its representation (template, theme, or format), its external (page-to-page) versus internal (intra-page) structure, link relationships, associated tasks or transactions, security rights, tool associations, bill-of-materials (such as how the object was created: tool versions and options or parameters), audit trails, data validation and handler rules, and association to caching algorithms.
This article originally appeared in Wiesner Publishing's Software Magazine and appears on TechRepublic under a special arrangement with the publisher.
CM is "a disciplined approach to managing the evolution of software development and maintenance practices, and their software products." (“Ovum Evaluates: Configuration Management Tools,” by Susan Dart, Ovum Limited, 1996.) Most companies institute CM once maintainability problems arise. But many problems could be avoided altogether by using CM practices or tools early on. A typical CM textbook defines CM as identification (uniquely identifying all objects), control (version control of all objects, including configurations and baselines), status accounting (tracking the state of all work on objects), and verification and validation (ensuring that a process is followed and an audit trail kept). But these are the minor goals of CM. What industry really wants to achieve with CM is:
  • Cost-effective production: Fast, reproducible builds of software releases.
  • Quality automation: Ensures automatically that all testing, notifications, signoffs, and reviews are done before a release is distributed.
  • Teamwork optimization: Enables teams to work in parallel effectively, such as on the same files or releases simultaneously.
  • Enabling change: Containing the explosion and complexity of changes. These goals, too, are those of Web development teams. Two big decisions need to be made for CM adoption: What CM infrastructure strategy suits us best? And, what are my CM requirements?

In a typical corporate infrastructure, autonomous business units (BUs) and project teams, along with the IT department, contribute content to the corporate Web site. Here is a typical CM strategy: The content experts (such as the BUs) are given a "lite" form of CM so that their work has minimal protection with, say, version control. Such groups do not want to be bothered with CM. The other groups (such as IT and project teams) who do more traditional application development are given a "heavy duty" CM tool based on their needs.

CM requirements depend on infrastructure strategy and the type of Web application being built. For instance, an informational type of application contains static content, so it has no requirements to support dynamic content. Also, the rate of change will be low, and the urgency and priority of most changes will not be mission-critical or high; nor will there be a high volume of content to be changed.

CM tool menu
CM vendors are carefully examining their Web strategies. Selling to the Internet audience changes their sales and marketing approach because that audience is not the traditional software manager and developer, but rather content experts such as graphic design artists and public relations professionals. This audience does not know what CM is, why it is needed, or what a release is. But once they start losing data, publishing mistakes, and seeing other problems that CM fixes, it becomes more relevant. Either they will buy a CM tool that works with their content editing tools, or their content tools will have CM capabilities embedded.

The CM vendors have done considerable thinking about how to handle Web content. Many have "Webified" their tools. For instance, most tools provide access to some or all of their CM functionality via a browser, and most provide simple check-in, check-out integrations with a few of the popular content authoring tools. Some CM tools allow CM information to be published directly to any Web site. For example, the PVCS Tracker from Merant, Mountain View, CA, publishes metric reports and also allows anyone to submit a change request via a browser without having a license.

Some vendors have geared their tools' interface for content authors, such as WebSynergy and WebPT from Continuus Software, Irvine, CA. These tools, depending on the role of the user, present an alternate interface and, hence, CM features appropriate to that role. StarBase, in Santa Ana, CA, has added functionality to its CM tool, StarContent, which is transparently integrated with the Windows file system. It works as an extension of the file system such that content authors do not need to learn about CM—StarContent intercepts the changes and flags the file as changed. The CM repository appears as another drive in Windows Explorer. Some tools have not yet publicly presented a specific Web approach, such as ClearCase from Rational Software, Cupertino, CA; SourceSafe from Microsoft, Redmond, WA; or TrueChange from TrueSoft, Waltham, MA.

Ideally, vendors' tools can support one end of the CM "lite"/CM "heavy" infrastructure spectrum. For instance, Web Integrity from Mortice Kern Systems and StarContent from StarBase Corp. can be used for CM "lite," whereas Continuus and PVCS Dimensions can only be used for CM "heavy." Only Merant's PVCS product line consists of products to support the full spectrum: Version Manager/Tracker for "lite" and Dimensions for "heavy." (Merant bought out several companies and products formerly known as Intersolv's PVCS and SQL's PCMS, and has integrated the repositories enabling full spectrum support.)

All the CM tools can be used without their Web enhancements. A very simple capability that probably every Web developer will need from a CM tool for Web content is the ability to execute a change across all Web pages with one command. PVCS Dimensions has a "find and replace" command that searches through all content files and performs a universal change. The CM system keeps an audit log or history, tracking the change.

Of course, Web teams will most likely look for their CM solutions elsewhere—not in a CM tool, but in their Web authoring tools, of which there are many with varying degrees of sophistication and ease of use. The large-scale Web authoring tools can be referred to as "Web Content Management" (WCM) tools.

Web content management tools
Although the WCM market is not clearly defined yet, there are tools that are being used for large-scale Web development. Currently, the WCM tools have little CM support, perhaps only version control. There is no notion of a configuration item. In fact, the term "configuration management" is not a familiar one to WCM vendors. WCM tools rely on complete site rollback in the case of a problem or downtime, rather than re-installing the previous release of the site. DynaBase, from Boston-based Inso, is the only vendor claiming that it provides CM facilities.

Looking at the functionality in the tools, some of the team collaboration and workflow features found in CM tools are evident in WCM tools. For instance, TeamSite, from Interwoven in Sunnyvale, CA, provides visual differencing for examining two versions of content side by side. Tasks can be assigned to authors via notifications as well as when content is published on the Web. Content can be moved to a staging area each time it is changed or receives approval to be published. Macromedia's Drumbeat 2000 (a result of Macromedia's recent acquisition of Elemental Software) gives developers guidance on targeting code to specific browsers which support variant creation. In Raveler, from Computer Associates, Islandia, NY (acquired with Platinum Technology), teams can be set up with pre-configured workflows.

Many companies are starting to use one of these tools for their Web development, realizing that simple HTML editors are not enough for large-scale Web production. In the future, more CM support will be introduced as the problems become better understood and as the CM vendors start merging their products with WCM vendors. Such merging is already evident in Macromedia's licensing agreement with StarBase. Some WCM vendors realize they do not want to compete with CM vendors; rather, they need to collaborate with them. Merrill Lynch predicts that by the year 2002, the revenue from WCM tools will reach $5 billion.

Some advice
Here is how to be proactive in putting your insurance policy in place via CM:
  1. Find out what CM is all about. The author has published several papers on the subject. (For a detailed description of operational aspects see “Tutorial: The Agony and Ecstasy of Configuration Management.” There are several books on software CM, but they mostly focus on a heavy-handed, governmental approach to CM. Books on Web publishing only focus on version control. CM vendors can provide a good overview of CM, but it will be from their products' perspectives.
  2. Try out evaluation copies. Not all CM tools provide the same functionality. Some are version-control oriented (the "lite" end of the spectrum), some are developer-oriented, and some are full-functioned, process-oriented (the "heavy" end of the spectrum). Most vendors provide demos that can be downloaded for a trial period.
  3. If you aren't already doing version control of your files, then start!
  4. Understand your CM requirements for Web programming. If you aren't sure how to do this, talk to a CM consultant or a vendor.
  5. Understand that several crucial factors that affect your Web-CM requirements are: the CM corporate infrastructure strategy you will follow along with the nature of changes—the rate of change, urgency, and priority, and volume of content to be changed.
  6. Due to the temporary nature of some Web content, decide what is important content, and hence, what needs to go under CM control.
  7. Don't build your own CM functionality or tool; there are plenty of CM tools that will suit your needs. The Web technology tools will eventually have CM support in them either through mergers, integrations, or enhancements. In the meantime, approach the CM vendors for a solution or demand that Web vendors provide more CM.
  8. Develop a good strategic approach to tool evaluation and deployment. Remember that good tool adoption boils down to people, process, and technology. Don't forget the people and process issues require attention.
  9. Keep asking the vendors to improve their tools by providing CM in the Web tools and creating HTML editors and generators that can check for and help ensure quality HTML code.
  10. When making strategic decisions about tool integration or APIs, consider using XML as the data format. It's a standard, and many companies (such as Oracle, Microsoft, Netscape, IBM, and Sun) are providing significant support for it via browsers, parsers, and extensions to Java.
  11. Create guidelines for Web developers concerning structure of pages and links; for example, design a page as though the back button of the browser is non-existent; links should not go deeper than five levels.
  12. Provide a "lite" version of CM for non-software content authors.
  13. Determine what constitutes a quality Web application. What should the criteria be, and how would you measure them? Then teach your developers these benchmarks.
  14. Prepare for redesign of your Web applications. It will happen. There are good reasons for it (such as attracting returning visitors to your Web site) and bad causes of it (such as limited scalability and poor site construction). You will want to reuse portions, so encapsulate well.
  15. Ensure that the mindset of Web developers is not that of document presentation, but rather, that of application development.

Susan Dart is a strategic consultant for configuration management and author of the forthcoming book, Containing the Web Crisis with Configuration Management (Artech House, U.K.).

Vendors are struggling with the definition of a Web application. For instance, is Web content a different notion from a Web application? Typically, Web content is seen as separate from the Web application. The author's view is that every Web site is an example of an application: Some are very simple document display sites, whereas others are complex, large-scale dynamic applications. Each company has its own demands or requirements on its Web applications. While initially most Web sites were "brochureware," now they are shopping malls, customer service centers, information exchange centers, analytical centers, and communities.Web applications can be broken into 12 types. The criteria were based on how one would perform CM on that application. The academic community typically thinks of two types: information-based and application-based. This is too limiting when thinking about how CM is used to mitigate the Web crisis. An important issue that everyone can agree on is that creating a Web site should be viewed the same way as creating a software application that will eventually be supported by Web engineering techniques, which can be taught.Would you like to see more articles on the technology that your programmers and developers are using to create the Web site you’re responsible for? Let us know by dropping us a note .

Editor's Picks

Free Newsletters, In your Inbox