The pressure is on. The CEO just returned from the annual trade association show and party, where he was forced to listen to one of his fiercest competitors extol the virtues of its electronic commerce and customer support venture. Never mind that the competitor already has spent seven figures on the initiative, that the performance of the site is terrible, and that most of the pages just say Under Construction; your CEO wants a Web site and wants it now. So your objective is clear: to develop a Web site that will put the other guys to shame. There is one caveat, though. Because your company spent such a large sum of money on Y2K remediation, your task will be to address this challenge for the absolute minimum cost possible.
The CEOs request, in this case, is not entirely off base. A well-designed Web site can substantially reduce support costs for your companys products and can do a wonderful job of communicating your message to the world. The question is, then, Can this be done on a budget? Are multimillion-dollar expenditures the only way to properly build a Web site? I dont think so, and in this article, I explore why I believe you can establish a Web site on a reasonable budget.
First, consider what the parameters might be for developing a Web site on a budget. Any IS project consists of development costs and maintenance costs. Development costs can be further divided into the costs of services for consultants and outside help, training, and capital equipment needs. Maintenance, or ongoing, costs certainly include any continuous service required for the application, such as communications facilities, and may include requirements for new staff and software support fees. I look at some components of these cost areas and show you where you can trim costs.
Getting a Plan on the Table
The first thing to do with any project is establish a scopethe boundaries of what the project should accomplish. So many well-meaning IS projects have failed by trying to accomplish way too much. I recommend that you limit what you initially try to do. For the sake of discussion, lets plan on a Web site that will connect to the Internet and will encompass a marketing section and a customer service section.
I like to figure out the size of a site by estimating the final layouts number of Web pages. Pages can be staticthat is, informational pages that dont change either
automatically or based on input the user provides. Pages can also be dynamic, meaning that they contain different information each time they are served. For example, lets say the
sites marketing portion will contain 20 static pages with one of them being a dynamic page with a form customers can use to request more information about your products. The customer service portion of the site will contain 10 pages, and all but two of them will be dynamic. The dynamic pages will require a limited, manageable software application to drive them.
The appearance of the pages on a site is important, as they represent your company and its brands to the world. All the pages should have a common look and feel, should be pleasing to the eye, and should perform well. The question becomes how to achieve that goal at a minimal cost.
Many of us in IS certainly dont have a graphic design background, any design training, or, especially in my case, any talent. The typical page-design solution is to bring in a consultant, sort of what youd do for a piece of marketing literature. Most marketing consulting firms have Web design practices and can provide a lot of good creative help. But they usually charge by the page, and Ive heard quotes of $500 to $4,000 per page! (See why we counted them?) One way to save money is to use a designer to set up the general design idea and basic graphics and build one page. Replicating the appearance of that page is fairly easy once you understand some basic HTML.
Most Web design software tools come with a set of preconfigured site appearances. Try not to use them. You may end up with a site that looks just like the 10,000 other sites that chose that scheme, and that wouldnt do your company justice.
Maybe your art department or marketing department has some Web design talent they dont know about. Web design is not all that different from other graphic arts disciplines, but it does require some knowledge of HTML and site navigation. With tens of millions of site examples on the Web, there is no shortage of places to get ideas. You can take care of the HTML knowledge part, so let the art people develop the elements, and you can splice them together.
Whos the Server?
Where is the best place for this site to live and breathe? That is, what server should it run on? Since you are reading this publication, Im guessing that theres a high likelihood that your shop contains an AS/400. IBM supplies an HTTP Web server with OS/400 at no additional cost. You simply need to install the option, if it isnt already, and complete some configuration steps to make it operate.
You may also have PC-based servers like the Integrated Netfinity Server (INS) installed, running either Microsofts Windows NT Server or the Linux operating systems. Like IBM, Microsoft supplies Web-serving software at no additional charge; virtually all the software associated with Linux is free. Web servers may already be running. A default install of NT Server and most Linux distributions will put the software in place and bring it up.
The size of the server is important. Web-application performance-planning numbers for either NT or AS/400 are a little difficult to come by, and, as a result, you may need to guess a bit on how many resources youre going to need. Depending on the design of the application, the requirements for main storage and, to some extent, processor performance may be substantial. If you can project the number of user transactions (hits) on the site each day, you may be able to make an informed guess at possible requirements because a hit will require many of the same resources as a comparable transaction in a batch program. Plan to monitor resource utilization and performance as the site is rolled out, but remember that the AS/400 has almost no upper limit on what size a single system can scale to, assuming you have the monetary resources.
Another server selection consideration is that although NT is a popular operating system, it has several security holes. Because of these holes, it is a popular target for
individuals who love the challenge of gaining inappropriate access to other peoples stuff. To date, the AS/400s architecture has managed to keep that sort of hacking to a minimum.
Although either platform is an acceptable choice, application development using NT will likely require some sort of connection to your AS/400 system, preferably using the INS. However, each new connection from NT to the AS/400 increases the overall complexity of the solution and creates another possibility for failure. For the purposes of this article, Im going to use the AS/400 as my server example.
Making the Site Do Useful Things
The customer service portion and product information request form on my site are going to require small bits of application software, which raises a question as to how to build it quickly, easily, and within the budget. One basic option available with all servers is Common Gateway Interface (CGI) programming (see Untangle the Web with RPG and CGI, MC, September 1999), but CGI has significant drawbacks. You write CGI programs by using traditional programming languages and techniques, and, as such, CGI programs may require a bit of time and effort to develop. There will also be some ramp-up time to get comfortable with the interface.
Most server software comes equipped with some sort of scripting development environment. Microsoft includes its Visual Basic for Applications, and IBM supplies a facility it calls Net.Data (see Rolling Out Net.Data: A Development Journal, AS/400 NetJava Expert, June/July 1999). Both tools are useful, and both can support fairly rapid application development. One distinct advantage of these tools is that you can develop some or all of the application, see how it looks and runs, and easily make small changes and adjustments with immediately apparent results.
Dont discount traditional CGI programming, either. You can develop CGI programs in COBOL or RPG, and they typically perform better than script applications.
Another option is Perl. Perl is a scripting language made popular on UNIX-based Web servers. A Perl implementation is available for the AS/400, although it is not officially supported and has some limitations on what it can do. A huge selection of free Perl code exists on the Internet and may be a good choice if you can find some code similar to what you need and can make it run on the AS/400. Good places to start when looking for Perl examples are www.perl.org and www.perl.com.
When planning this thing out, dont forget to visit your local bookstore. You can find numerous books devoted to Web site development and implementation from a variety of perspectives. Pick a couple up and read them; they will cost substantially less than most consultants.
Connecting to the World
Im going to assume that my example site will be connected to the Internet, so I need to establish a relationship with an ISP or possibly enhance an existing relationship. Beyond the relationship, I also need to connect my site to the ISP facility. A discussion of all the considerations for selecting an ISP is well beyond the scope of this article but has had substantial coverage in places like The List (thelist.internet.com). But let me spend a little time here on some ISP and connection options that may help you stay within your budget.
Apart from the ISP selection dilemma, there is a multitude of options for connecting to the Internet that didnt exist just a few years ago. Typically in the past, you leased a line like a dedicated T1 from the phone company, and the (usually high) cost was directly related to the amount of performance required. In many locations, Digital Subscriber Line (DSL) service is now available. DSL operates over existing telephone lines and offers a variety of performance (bandwidth) options, often at a substantial discount from a traditional leased line. For a moderately busy site, DSL may be a good choice if it is available at your location (see xDSL: Fact or Fiction? Jeff Olen, MC, November 1998).
Another option in many areas is a connection over the cable TV system. Cable operators that have Internet service often have connection plans for businesses, with costs directly tied to the amount of performance required. Extremely fast connection speeds may be possible at very competitive prices if such a service is available in your area.
In many areas, ISDN service is also available. An ISDN Basic Rate Interface connection provides about 128,000 bits per second of throughput at a cost that is usually less than a similar leased-line configuration.
When you consider any of these options, remember not to discount the possibility of using a continuous dial-up modem connection. A small nonprofit organization I am involved with has a Web site that has been running for almost three years on a dial-up connection. DSL and cable services are not available where that server is located, and the costs associated with ISDN or a leased line are well outside the available budget. Sure, the connection is slow, but we try to keep the pages small and the graphic content under control in order to get the best speed possible.
When budgeting for this part of the project, expect to pay one ongoing charge for the connection and another for ISP services. Both charges will increase as the amount of bandwidth increases. Initial one-time charges can range from almost nothing for DSL and cable services to substantial amounts for leased lines. Also consider the cost of any communications hardware, like routers or access units that the vendor doesnt supply with the service.
Let In the Good, Keep Out the Bad
Many in this industry are fearful of connecting their systems and networks to the Internet, and with good reason. As I mentioned earlier, there are individuals who seek the challenge of going where they are not supposed to be. At a minimum, your site will require some sort of firewall between your internal networks and the Internet. Figure 1 shows a diagram of how a firewall is typically configured in a network. IBM offers a firewall product that can run on the INS. The product is a potential choice if you have the hardware already, but it can be a bit costly if you need to buy everything.
An option for sites on a budget may be a PC running the Linux operating system. Most Linux distributions have simple firewall features built into them, and other, more advanced firewall solutions are available either as open source (free) or at a minimal cost. Early Pentium PCs that you would not consider giving to a user anymore will run Linux just fine and should perform well in a firewall role.
Budget some time in the project for learning how to configure both the servers and the firewall. When configuration is done correctly, it will be exceedingly difficult for any individual to conduct undesired activity on your site. (See Polly, Want a Hacker? Gary Patterson, MC, October 1999, for details.) However, if you miss something, you may have a problem. You may want to consider bringing in some consulting help after you think youve finished your configuration at least to ensure that youre on the right track.
Firing Up the Server
As I mentioned earlier, IBM started providing an HTTP server with every AS/400 since Versions 3.2 and 3.6. Getting started with configuration is as simple as starting up the server and logging onto the administrative pages. Figure 2 shows the administrative page where directories containing Web pages are defined. The HTTP Server for AS/400 Webmasters Guide V4R3 (GC41-5434-03) provides a good step-by-step setup procedure you can follow.
So What Does It All Cost?
Going back to the basic areas of development and ongoing costs, what have I come up with? Figure 3 is a summary of some of the costs I outlined.
On the development side, the biggest opportunity for savings is to maximize the resources you may already have: hardware, software, and human. If you need to bring in outside help for things like graphic design or security advice, make sure you define the parameters and the cost of the project.
Budget plenty of time (and money, if available) for you and your associates to learn about things like tools, development, and security so you can enhance and maintain the site without a lot of expensive outside intervention.
Because one of the largest ongoing costs is the Internet connection, look carefully at all of the available options. Choose an option that best fulfills your needs without adding a lot of unnecessary bandwidth and its associated costs.
Much of what you need for a Web site you may already own. Spend some time learning about it, spend some time experimenting with it, and spend some time planning the project. In the end, you wont need a seven-figure budget to develop a site that meets your needs and that you and your CEO can be proud of.
References and Related Materials
HTTP Server for AS/400 Webmasters Guide V4R3 (GC41-5434-03, CD-ROM QB3AE003)
Polly, Want a Hacker? Gary Patterson, MC, October 1999
Rolling Out Net.Data: A Development Journal, Randy Dufault, AS/400 NetJava Expert, June/July 1999
Untangle the Web with RPG and CGI, Bradley V. Stone, MC, September 1999
xDSL: Fact or Fiction? Jeff Olen, MC, November 1998
Firewall Protected Network User Workstations
Figure 1: A firewall isolates your network from the rest of the world.
Figure 2: Configuration of the AS/400 HTTP server is simplified with the browser interface.
Graphic design (one page) $1,000 - $4,000 Web server software $0
Server $0 Server upgrade Potentially $0 PC for Linux firewall Likely $0
Linux $0 Firewall software Likely < $1,000 Security consultant $0 - $4,000 Scripting environment software $0 Script/Application development 2-4 weeks Training 4-6 weeks Learning materials and books $500 ISP connection charges $0 - $1,000 Router to connect to ISP $0 - $1,000
Staff time 10-20 hours/month
ISP monthly charges $100 or more (depending on bandwidth)
ISP connection charge $50 or more (depending on bandwidth)
Figure 3: The total cost will vary in your situation but should fit within a limited budget.