Welcome Guest. | Log In| Register | Membership Benefits

News In Review

February 22, 1999

Print this story
Print this story
Scalable Web Apps

Business Web sites must be able to withstand an unexpected jump in customer demand, forcing developers to select their architecture carefully

By David Baum

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
  • F ew business applications grow as quickly--and unpredictably--as Internet applications. Usage patterns can change overnight, with spikes in demand occurring from inscrutable causes. Because it's so hard to gauge traffic, Web applications must be designed first and foremost with scalability in mind.

    Having Web applications that can scale as business demands grow can mean the difference between serving a customer in a timely and satisfying manner and losing a valued account. Scalability also has implications for intranet applications.

    Federal Express Corp. sees Web scalability as a means to create an environment that lets the package-delivery service gauge business demand and profitability, and alter its business practices accordingly. FedEx built an intranet application that links its business analysts to a self-service data warehouse. The application, used by hundreds of concurrent users at 60 company locations, provides instantaneous updates on business conditions, allowing the company to respond quickly to the patterns of customer demand, says Ron Houston, FedEx's manager of retail operations systems.

    The processing load on traditional client-server applications, including when response times will start to degrade, can easily be determined, says Michael Barnes, an applications analyst at the Hurwitz Group, a technology research firm. "On the Web, these variables are much more difficult to predict."

    Ron HoustonPhoto by Jack Kenner Scalability problems are exacerbated as companies start putting crucial business applications online--applications for selling products, managing inventory, and updating human resources or financial data, for example.

    There are a number of steps developers and administrators can take to ensure Web scalability, such as keeping a Web application's logical and physical design considerations separate. Logical partitioning of application logic can ensure good response times as processing demands increase. The use of the appropriate type of middleware for linking different application components and system resources will go a long way to ensuring speedy response times. And Web testing is also a key step in deploying a Web application.

    Sphere Of Influence
    Because Web development projects are often initiated outside the IT department, architectural issues are commonly overlooked in favor of quick, productive development efforts. "Web developers often paint themselves into a corner by picking their configuration--disks, servers, and network connections--before designing the Web application," says David Taber, senior VP at Forté Software Inc., an application development software vendor. These developers make the logical configuration the same as the physical configuration. As hot spots appear, they might have to rewrite the applications, he says.

    Once traffic picks up, some type of load balancing is usually necessary, as the National Center for Missing and Exploited Children has learned. Traffic at its site, which posts profiles of lost and abused children, has increased from about 30,000 daily hits in 1996 to an average of 2.4 million daily hits in 1998. To keep up with escalating demand, the NCMEC recently set up its Web activities on three Sun E-450 systems. "At first, we were using database replication technology to create multiple copies of the data on multiple servers," says Rick Minicucci, NCMEC's chief technology officer in Arlington, Va. "Now, we're evaluating Cisco Systems' Local Director to balance the load among servers. This design gives us redundancy and quick response." Replication will still be used to duplicate activities across international locations, but not for load balancing, Minicucci says.

    Local Director works like a traffic cop at a busy intersection, directing Internet sessions and balancing the load among multiple servers. New servers can be added and removed transparently, yet users perceive the site as a single, consistent entity.

    High-end client-server applications typically divide the processing load among tiers--a database tier, a presentation tier, and a logic tier, for example. Some Web developers recommend a fourth tier devoted to dynamic HTML page generation. Separating those four processes on different servers can dramatically improve performance. Advanced application development environments, such as IBM's VisualAge, Forté's Web Enterprise, and Information Builders' Cactus, are adept at automating the creation of multitier applications.

    Advanta Business Services, a leading provider of leasing services, has proven this point with its ACESystem, an Internet leasing system for equipment dealers and leasing brokers built using Forté's WebEnterprise. By logging on to a secure Web site, vendors and brokers can enter lease applications directly into Advanta's customer database and leasing origination system. A credit decision is delivered via the Internet within minutes after submission.

    The ACESystem leverages the same back-end services as the previous client-server system, avoiding redundant processing and ensuring consistency of data, says Jim Krzeszowski, director of software development at Advanta. The application was created as a series of discrete components that can be replicated among servers, with Web traffic balanced among them as necessary. To improve performance, duplicate components--called replicas--can be created on the fly and deployed in parallel, with user sessions automatically balanced among them. For example, the portion of the application that handles credit verification could be replicated if too many simultaneous requests start to affect performance. If a hot spot is discovered, the developer can create a replica to help deal with the extra traffic.

    New Middleware
    Since Web applications involve a number of systems--such as a midtier server, an application server, and one or more databases--performance issues often center around the integration issues of linking those applications with the rest of the information enterprise.

    "The scalability issues extend well beyond just the Web site," says Dale Skeen, chief technology officer at middleware vendor Vitria Technology Inc. Companies increasingly want to take operational data--inventory data, order-status information, and employee-benefits information--and put it on the Web. Application integration technology is key to doing it properly, Skeen says.

    Fujitsu PC Corp., a notebook computer manufacturer, faced these challenges last year when it set up an online store. It used Vitria's BusinessWare application integration technology to integrate data and transactions from Fujitsu's existing back-office systems. The system gives customers round-the-clock information on product availability, order status, and shipping details. This type of middleware aids scalability by ensuring that the right processor can be used for the right task. Each discrete system can be scaled independently. And BusinessWare allows information to be exchanged across distributed systems in a common, consistent format.

    "When building Web applications, we should learn some lessons from the Web itself," says Skeen, who contributed to the design of the PC store. The Web uses a federated--or highly distributed--architecture to partition the load among multiple servers, using a standards-driven infrastructure, he says. The Web uses uniform name recognition, caching, dynamic replication, and state maintenance. Everything is referred to at a logical level by URLs, which makes it easy to direct traffic among servers and expand the network almost infinitely, Skeen says.

    continued...page 2

    Illustration by Matt Foster
    Photo by Jack Kenner



    Back to This Week's Issue

    Send Us Your Feedback

    Top of the Page