ANONYMOUS APGEN TESTIMONIALThis letter was written by a customer who uses APGen to generate 50,000 pages for an e-commerce site. The customer chose to keep their identity private. The foremost engineering consideration in the development of the site was performance. Requests for static content will always outperform requests for dynamic content. One of the major bottlenecks in many e-commerce packages on the market (such as Microsoft Site Server) is the resource contention and throughput on the backend databases. Accessing a backend database is extremely costly relative to reading a file on a local hard drive. By using static pages for content that is not time sensitive, and only running updates on the content when changes have been made in the database, you significantly reduce the load on the backend database. This can dramatically increase the performance and scalability of your site. The reliability of our servers was also a major concern. We did not feel that we had the resources to effectively test and/or over-engineer the servers, to a satisfactory level of reliability, if we used a large amount of custom code. The code paths for serving up html in IIS (and really any other commercial Web servers) are far less complex than any custom code paths. Using a content pre-generation tool such as APGen allowed us to leverage well tested, reliable, and optimized code on our Web servers. This significantly reduced the cost of developing and testing our large-scale site. One of the most important and often overlooked advantages of using static content is the fact that search engines do not index and spider URLs that contain query strings. Most sites that have dynamic content use query strings to pass arguments to the script or program that generates the content. A few pages end up generating the content for the entire site. Since we rely heavily on search engines to generate traffic, this was by far the most significant reason for using a tool like APGen. From a design point of view, pre-generating content allowed us more flexibility. We were able to create content that would either be impossible or extremely costly if created in real-time on the Web server. For example, we were able to create an alphabetic listing of products broken down by manufacturer and category. The alphabetic listings are easy to navigate. At the top of every alphabetic listing page, there is a navigation control that includes every letter in the alphabet. Only the letters containing products are actually linked. The products are listed 10 per page. If there are more than 10 products, for a given letter, another navigation control, similar to the first control, is displayed. This allows the user to easily navigate the products, by each letter, in groups of ten. The one design feature that distinguished APGen from its competitors and any internal tools that I've used, is that APGen is a development environment designed specifically for programmatically generating content. With its logging capabilities, ActiveScript debugging integration, and COM support, APGen allows a Web developer to create a reliable and well integrated system for creating Web content. APGen is not a Swiss army knife. APGen is not a "site in a box". APGen is a valuable and versatile development tool and in my opinion a must have for any professional Web developer. | |||