Thin Client and N-Tier Computing

 David Cross, Julie Kirchgessner, James Mark,

David Roberts, and Denise Sands

In recent years the technologies that revolutionized information sharing across the globe have increasingly been popping up in places where more traditional computing is typically done. Web browsers, network computers, and Java applets are starting to take the place of traditional applications that install from 15 diskettes. These new thin client applications, and the N-tier architecture which is used to build them, are the subject of this report.

The Case for Thin Client Computing

In the traditional client/server computing model, most of the actual computing is done on the client PC. Network servers are relegated to the role of storing and retrieving data, either as a file server or a database server. This "fat client" model means that large applications and associated configuration files must be installed and configured on each individual workstation. Consequently, the processor, disk space, and memory requirements of each client PC are considerable.

Thin-client computing represents a change in the physical location where software runs. A middle tier is added between the client and the server. This middle tier server is where much of the processing is done. The client workload is reduced to primarily just displaying data and receiving user input. The server can continue to act as a file or database server, or it too may pick up additional processing responsibilities.

This shift in the processing load provides several advantages:

For most enterprises this adds up to decreased costs and increased user productivity and satisfaction.

History

Client/server computing was also a shift in the processing load of computers in the enterprise. The client/server approach was in many ways a rebellion from the traditional mainframe model, where all processing occurred on a single extremely large machine and "workstations" were actually dumb terminals. Client/server changed that by giving users flexibility, improved ease of use, and independence that they did not enjoy before.

However, the benefits of client/server come with the increased complexity of a completely separate computer to support and maintain for each user in the enterprise. The thin client trend represents an increase in the control that administrators have over the hardware where software runs, without a reduction in the control that the user has over the software itself.

The original thin-client architecture was probably X-Windows. X-Windows is a window system which allows graphical applications to run on a UNIX server and occupy a very small footprint on the client. In the graphical user interface world, though, X-Windows was one of many losers to the Microsoft Windows juggernaut. X-Windows also exhibits a very extreme approach to the minimization of client processing. Each user input event is processed real-time on the server, which means that an X-Windows user can actually create a steady stream of network traffic by simply wiggling the mouse.

Another technology that has many aspects of thin-client computing is "screen scraping". Screen scraping is the use of relatively thin Windows or web-based applications to provide a front-end to older core (a.k.a. "legacy") systems. The awkward fit of new technology to old sometimes results in glitches in the appearance of sophisticated displays such as tables. These glitches have caused the phrase "lipstick on a pig" to be used by some to describe the approach. However, these core systems often represent huge investments, and screen scrapers offer a relatively cheap way to give users the benefits of Windows and web computing without having to start the process of building mission-critical systems over from scratch.

Screen scraping can be roughly subdivided into three approaches. The first approach is the direct rendering of terminal emulation as HTML web pages, and includes I/Net's Webulator/400 and IBM's CICS-WWW Gateway. The second approach involves the use of an intermediary web server to do the translation, and includes IBM's OS/390 Internet BonusPak, several products for VM systems, and I/Net's WebServer/400. The third and most sophisticated approach is to develop a separate Windows or web application using a development package from one of a great number of vendors (Sybase's PowerBuilder, Microsoft's Visual InterDev, Apple's WebObjects, or IBM's Visual Age.

In 1993 Citrix Systems introduced WinView for Networks, which later became WinFrame. This technology, which was based on a 1991 project to provide remote access to IBM's OS/2, provides remote access to any application running on a Windows NT 3.51 server. The client footprint is merely a few hundred KB and can be run over a dial-up or wireless connection. Microsoft has since partnered with Citrix and the technology is packaged with NT 4.0 as Windows Terminal Server.

Another branch in the thin-client family tree is Java, Sun's portable object-oriented language for the Internet. Java was introduced in 1995. Java has the very useful ability to be run without recompilation on a large number of different computing platforms. This means that the same Java applet could be executed on either a Macintosh or a standard PC, for example. Java also includes facilities for distributed computing that greatly simplify the task of building multi-tier distributed applications.

Last year Sun, IBM, Oracle, and Netscape formed an alliance to expedite the development of Java software and promote the use of Java-based network computers for thin client computing. Netscape and Oracle have since backed off their original hype, including claims that network PC's would replace traditional PC's altogether, but Oracle continues to promote Java as a key piece of its strategy.

A final piece of the puzzle is the Object Management Group (OMG)'s CORBA standard. CORBA is a standard way to exchange software objects between computers (of potentially different architectures). OMG includes essentially every major player in the computing industry, with Microsoft as a late and uncooperative entrant. It was formed in 1989 by Hewlett-Packard, Data General, and Prime Computer, Inc.. to create a standard for distributed object computing. The initial CORBA standard was released in early 1992.

CORBA has become a very popular means of exchanging data between the middle tier server and the back end server. Microsoft has a competing standard, Common Object Model (COM), which evolved from its Object Linking and Embedding (OLE) standard for exchanging data between Windows applications.

Architecture

Once the shift away from client/server computing began, the term "three-tier architecture" was used to differentiate the distributed, middle-tier approach from the traditional, "two-tier" approach. As distributed computing became more prevalent, software was designed with more than three "tiers" to provide increased flexibility. The term "N-tier" was then coined to refer to a distributed approach where the location of computing was configurable.

From a technology point of view these distributed components are the primary change that is occurring in the design of software. Software is now developed in pieces that can run in a distributed fashion on one or more computers. This allows the software to be installed so that it will run in the most efficient manner given the hardware configuration.

The picture above shows two enterprises that have chosen two different thin-client approaches. ABC Enterprises uses Windows Terminal Server to run standard NT applications in thin-client mode. Client workstations are installed with the very small Terminal Server client module, which can be run on old PC's or newer low-cost Network PC's. The applications actually run on one or more NT application servers. The illustration above shows the applications using a Microsoft SQL Server database.

XYZ Enterprises has software that was designed to run as a distributed application. The "business logic" runs on multiple middle-tier NT servers. In the configuration shown above the security service runs on a separate NT server and an intelligent data cache resides on the UNIX server with the database. Since CORBA is used, the modules could be configured to run in different configurations as well (e.g., the security service could run on the UNIX server). The client presentation is in the form of web pages written in HTML and Java, so each client machine need only be installed with a standard web browser (e.g., Internet Explorer or Netscape Navigator).

Assessment of Limitations and Potential

In spite of the benefits outlined above, thin-client computing has the following limitations:

Thin client computing has its strongest appeal for enterprises with the following characteristics and/or problems to solve:

Gartner Group predicts that the adoption of thin-client computing will ultimately be driven by end-user benefits such as location transparency (the user is unaware of the location of the data) and ubiquitous access (the user sees the same environment at any workstation in the enterprise). Cost savings will be only a secondary driver. Gartner Group predicts with a 70% certainty that thin client computing will be widely adopted by 2000.

Application Example - Physician Software

HBO & Company, a software provider to the healthcare industry, has a two-pronged strategy for offering thin-client technology to its physician customers. First, there is a license agreement with Citrix and Microsoft to package and distribute the WinFrame and Terminal Server technologies with HBOC products. This provides the following benefits:

St. Vincent's hospital in Birmingham, Alabama, as part of their roll-out of HBOC's Coordinated Care product for physicians, is offering dial-up access to patient data from the physician's home. About 40% of the physicians who use the software take advantage of this ability to access patient data from home. The picture above is a screen capture of the Coordinated Care product running in a web browser (in full screen mode) using Windows Terminal Server.

HBOC's longer term approach to thin-client is to re-architect the software for distributed and web-based computing. The STAR Clinical Browser product shown above is the first HBOC product to be re-architected. It uses Java and a Microsoft NT web server, with CORBA access to the database. At St. Luke's Hospital in Kansas City, Missouri, STAR Clinical Browser is supporting 1000 physician sessions each day.

Providence Health Systems in Portland, Oregon, which is in limited deployment with each of the two approaches, sees thin client as a solution to integrating their affiliated physician offices. Since the physician offices are not "owned" by the enterprise, they run a wide variety of non-standard hardware and software. This makes installation, support, and maintenance of software at these offices practically impossible. Thin client allows any PC with a web browser and dial-up connectivity to be up and running immediately.