Welcome Guest. | Log In| Register | Membership Benefits
News In Review

February 22, 1999

Print this story
Print this story
Scalable Web Apps

continued...page 2 of 2

Illustration by Matt Foster
Related links:
  • Managed Shared Resources

  • Middleware Architecture diagram as a PDF file
    Acrobat
    To view a PDF file, download the Adobe Acrobat Reader
  • Load Testing
    A determining factor in the success or failure of Web applications is how well they behave under stress. The experts say it's a good idea to test a new application under various stresses before it's deployed in the production environment. There are a number of Web testing tools that simulate traffic loads, forecast application performance under those conditions, and allow administrators to perform capacity planning. Tools such as RadView's WebLoad, Mercury's Load Runner, and Compuware's QALoad can be used to help IT groups predict how well a system will perform in the real world.

    Gary Hartley, an application development manager at Mary Kay Inc., used WebLoad to determine how much traffic the cosmetics company's equipment could handle during the testing of Mary Kay's Global Order Entry and Sales Force Automation System. WebLoad verifies the scalability of Web applications by generating a load composed of "virtual clients" that simulate real-world traffic, then monitoring performance via real-time graphical and statistical reports. By testing a simulated load ahead of time, Mary Kay was able to select the appropriate hardware platform for the sales-force automation system, avoiding surprises once the system was deployed.

    Web testing tools multiply a transaction many times to mimic very high traffic volume. They help identify performance issues before going live. "The alternative is to use customers as guinea pigs, which isn't a recipe for success," says Hurwitz Group's Barnes.

    Once Web applications go live, ensuring good performance is as much an operations issue as it is a development issue. "You need to be able to react immediately to site performance issues," says Frank Stone, an operations director with Compaq Services, which oversees Microsoft's Internet operations as part of a five-year outsourcing contract. Because a Web site often has to be scaled quickly, IT managers need to establish consistent processes for naming, managing, and tracking activities on multiple servers and network devices, Stone says. "You have to define standards and enforce them rigorously," he explains.

    Stone has watched Microsoft's Internet operation grow from a single Web server in 1994 to more than 1,000 servers today, which collectively handle about 200 million daily hits from Internet users. From the outset, he's insisted on consistency in everything from how operators login to each server to how cables are attached, labeled, and routed throughout the data center. Everything is carefully categorized, which makes it easy to quickly detect, isolate, and eliminate bottlenecks.

    "We've made it easy to add servers or reallocate devices without taking the network down," Stone says. "Standard space, power, and network taps enable us to quickly add capacity."

    Fast Response
    Web applications increasingly rely on integration with other system resources such as legacy applications, databases, and enterprise resource planning systems. Good application performance for Web-to-database transactions comes from a proper division of labor among the various system components. "With the Web, you must be particularly careful about database connections and connections to the Web server," says Alistair Rennie, a program director in the IBM Software Group. "You don't want a Web server architecture that forces you to resolve complex queries within the Web server space. You want to be able to push that query back into the database, where the processing is highly optimized," he says.

    To facilitate this model, Rennie says, Web developers should avoid programming control logic and data-access logic using Common Gateway Interface script, which is a lowest-common-denominator approach to Web application interfaces. Instead, they should use Java servlets, which provide server-side programming modules that extend the function of a Web server. "With the Internet, by the time you know you need to scale your systems, it's too late to start rewriting your applications or changing the fundamental software architecture," Rennie says. "That time lapse can be damaging to the business."

    Rennie and his colleagues developed a Java-based architecture when they helped Comdata put its Modular Over The Road System on the Internet. Nearly 3,000 trucking companies throughout North America rely on MOTRS to track expenses and other business activities. IBM Global Services developed it using IBM's VisualAge for Java and the tools included with the IBM WebSphere Application Server.

    "One of the most important aspects of the WebSphere technology is its scalability," says John McDuffee, an IT architect at Comdata, the transportation industry's leading financial and information services provider. "Also, because the software supports Java, we can deploy the application on either an NT server or Unix servers."

    The redesigned MOTRS Internet product runs on a Unix server and interacts with a DB2 Universal Database, and Comdata's host system to deliver highly interactive services to customers on the Internet. The site has about 300 concurrent users.

    "Users actually interact with the mainframe to gather information, so they tend to stay on for long sessions," McDuffee says. "Web-to-database bottlenecks have been mostly alleviated by the transition from CGI to Java servlets. It's a more manageable mechanism and a very scalable solution for accessing data, since multiple users can share pre-established database connectors."

    As complexity grows and traffic increases, Comdata can move into more advanced types of application integration, using clustering, workload management, and a model for distributed object component that is based on JavaBeans.

    Hired Hands
    Hiring consultants is a good strategy for dealing with the complexity of designing and building complex Web systems. "Large, distributed systems require a number of different skill sets, including networking, Internet, multitier development, and integrating legacy systems and external systems," Barnes says. "It's not always possible to find these resources in-house."

    But no matter how an IT shop accomplishes its goals, the first step should be the development of a solid architectural design. "Understand your software architecture and how the applications being built will fit within that architecture," Barnes says. "Also, make sure you understand the strengths and weaknesses of the tools you will be using."

    Good advice, to be sure. IBM's Rennie puts it in practical terms. "Having a scalable architecture is critical," he says. "It's not just a technical issue. You're putting your brand at stake if you don't do it properly."

    In the wild world of E-commerce, scalability should be one of the central tenets of Web system development. A Web site that cannot scale to meet growing customer demands runs the risk of doing irreparable harm to customer relations and future profitability.

    return to page 1

    Illustration by Matt Foster


    Back to This Week's Issue

    Send Us Your Feedback

    Top of the Page