5.30 eCommerce Servers

Most large companies will not be building their own website but employing consultants and third-party programs to do so. Such programs are complex, requiring IT skills to implement properly, but provide a full width of integrated ecommerce services. What does building such a site entail, and what are the key points that management should bear in mind?

General Points

Plan

Websites serve many purposes, but an ecommerce site designed purely to sell products or services has to be a selling machine, with every page reflecting its marketing strategy. Companies also need to focus on their unique strengths, and not despise the simple requirements laid out in Research for the Small Company.

Look Ahead

Off-the-shelf software required to run a major ecommerce site is costly, and made more so by the extra programming required to customize and maintain it appropriately. Rather than be continually upgrading, and training their staff to cope with a weekly-more complicated system, companies generally install something to meet all anticipated requirements for several years ahead. What many do not do, unfortunately, is ask themselves:

1. Can we cope if the software house goes out of business or no longer supports our system? How secure is our supplier here?
2. Is the system sufficiently intuitive for non-technical (sales, strategy, financial control) staff to use it effectively?
3. Can our IT Department work beyond its everyday 'firefighting' remit and periodically remodel the software to meet our changing needs?
4. Does the software come with business intelligence programs, enabling us to make immediate sense of the data collected? Or can a third-party add-on (to monitor customer behavior and interpret the results) be closely integrated with the system?
5. Can our business data be readily transferred to the database systems of software we may need to install some ten years from now?
6. How much of our previous necessary but costly coding can be transferred?
7. What performance and scalability do we require if our sales projections are met?
8. What foreign language support is there?
9. Can we accommodate local and sometimes complicated sales taxes and shipping costs?

System Build

Evaluating software is an essential but time consuming affair. The software houses produce white papers on their products, and there are independent surveys and studies that, though often expensive, pay their way in quickly narrowing down the possibilities. Large companies often choose by reputation, which is considered a safe but sometimes costly approach. In making any selection, companies need to know their requirements, and produce considered answers to such questions as:

1. How many webservers are required?
2. What other servers are required — list server, proxy server, audio/video server, news server, chat server, fax server, workgroup server, ad server, auction server, b2b server and/or databaserver for customer, product and sales data?
3. How many CPUs should each server have (scaled vertically or horizontally)?
4. What connection speed to the Internet is required?
5. Should we maintain the servers in house or employ a hosting company?

Simulators and services to help companies assess their requirements include Sonoma, Adido, NGIT, Eguitel and many telecom companies. Vertical scaling involves improving the CPUs and adding more CPUs to the server: space is conserved but the system is vulnerable to breakdowns. Horizontal scaling entails adding more computers to a network and installing load balancing software: a cheaper and less vulnerable option, though networks may take up valuable office space.

Improved performance can also be achieved by combining related requests into batches, improving database design and storing frequently used data more in cache than on hard disk. Static web pages are constrained by the server's input-output (I/O) specifications, and less by CPU speeds. Dynamic pages (registration, online purchase, form-filling, download of audio or video files), however, require more processing power, and can benefit from CPU scaling.

Systems typically go through a 'systems development life cycle' (SDLC), which consists of:

1. Analysis and planning.
2. Design.
3. Build.
4. Testing.
5. Implementation.

All are major steps requiring much effort and expertise. Design first needs a logical design:

and then a physical design where the best hardware and software components are selected to fulfill the plan.

Testing itself may consume half the time and budget, and commonly passes from unit testing (testing all modules individually), through system testing (testing the whole system in the way it will normally operate) through to acceptance testing (company's key managers — IT, Sales, Personnel, Marketing, Finance, Production, etc. — verify that the system works to their requirements).

Maintenance

Later comes 'benchmarking', when the web team compare the system's design, ease of use, speed of response, etc. to those of competitors and the industry generally. Shortcomings then have to be put right. Indeed, annual maintenance costs, not only keeping the product lines and prices up to date, but making week by week improvements to improve customer experience, generally exceed total build costs.

A typical breakdown is: {11} System annual maintenance: 35% System development: 22% Content update: 15% Hardware costs: 10% Telecommunications annual costs: 10% Software costs: 8%

Questions

1. You've been asked to manage the ecommerce implementation for a large company. What questions would you ask of available software? How would you obtain a second opinion?
2. What is system build? What questions does it attempt to answer?
3. Give an example of logical design. What contingencies would you factor in?
4. The allocated budget is $2 million over two years. How would you allocate funds, and why?

Sources and Further Reading

1. Application servers. Server Watch. Listings and links to specifications.
2. Welcome to Apache Geronimo. Apache Geronimo. Open source: world's most popular server for small and medium-sized enterprises.
3. Microsoft's Internet Information Services (IIS) Wikipedia. Technical. The world's most popular server after Apache.
4. IBM WebSphere Application Server V7.0 Web Services Guide by Henry Cui, Raymond Josef Edward A. Lara, Rosaline Makar, Nicky Moelholm and Felipe Pittella Rodrigues. IBM Redbooks. July 2009.
5. WebSphere Application Server Community Edition V2.1.1 Documentation. IBM. Detailed manual.
6. Welcome to the WebSphere Application Server Information Center. IBM. Indication of the complexities of modern servers.
7. Broadvision K2. Broadvision. A high-end product.
8. ATG Commerce 10. One of the most expensive systems on the market. Company now acquired by Oracle.
9. Intershop Infinity Suite 6.4. Another high-end, fully-featured system.
10. Multi-tier architecture. Geek. Brief article giving the basics.
11. Building an Ecommerce Site. Section 4 in E-commerce 2010 by Kenneth C. Laudon and Carol Guercio Traver. Pearson 2010.