Components of Client/Server Applications
The client in the client/server
model is the desktop workstation. Any workstation that is used by a single user
is a client. The same workstation, when shared simultaneously by multiple users,
is a server. An Apple Macintosh SE, an IBM PS/2 Model 30, an ALR 386/220, a
Compaq SystemPro, an NCD X-Terminal, a Sun Sparcstation, a DECstation 5000—all
are used somewhere as a client workstation. There is no specific technological
characteristic of a client.
During the past 10 years, workstation performance improved dramatically. For the
same cost, workstation CPU performance increased by 50 times, main memory has
increased by 25 times, and permanent disk storage has increased by 30 times.
This growth in power allows much more sophisticated applications to be run from
the desktop.
Communications and network speeds have improved equally in the last 10 years. In
1984, the performance and reliability of remote file, database, and print
services were inadequate to support business applications. With the advent of
high-speed local and wide area networks (LANs and WANs), networking protocols,
digital switches, and fiber-optic cabling, both performance and reliability
improved substantially. It is now practical to use these remote services as part
of a critical business application.
The client workstation may use the DOS, Windows, Windows NT, OS/2, MacOS (also
referred to as System 7), or UNIX operating system. The client workstation
frequently provides personal productivity functions, such as word processing,
which use only the hardware and software resident right on the workstation. When
the client workstation is connected to a LAN, it has access to the services
provided by the network operating system (NOS) in addition to those provided by
the client workstation. The workstation may load software and save
word-processed documents from a server and therefore use the file server
functions provided through the NOS. It also can print to a remote printer
through the NOS. The client workstation may be used as a terminal to access
applications resident on a host minicomputer or mainframe processor. This
enables the single workstation to replace the terminal, as well as provide
client workstation functionality.
In a client/server application, functions are provided by a combination of
resources using both the client workstation processor and the server processor.
For example, a database server provides data in response to an SQL request
issued by the client application. Local processing by the client might calculate
the invoice amount and format the response to the workstation screen.
Client workstations can provide business functions using a mixture of personal
productivity products in conjunction with a custom application. For example, a
document created by a word processor can include input from a spreadsheet
program and the invoice data created by the client/server application. The
capability to cut and paste input from several different sources is one of the
most powerful aspects of a client workstation. It provides the end user with
tools to create new applications—without the need to go to professional
programmers for assistance.
It is important for application designers and developers to understand and
remember that the user view of the system is through the client workstation.
Whatever technological miracles are performed at the server, a poor design or
implementation at the client on the desktop still result in unfavorable user
perception of the entire application!
The Server
The server is a multi-user computer. There is no special
hardware requirement that turns a computer into a server. The hardware platform
should be selected based on application demands and economics. Servers for
client/server applications work best when they are configured with an operating
system that supports shared memory, application isolation, and preemptive
multitasking. An operating system with preemptive multitasking enables a higher
priority task to preempt or take control of the processor from a currently
executing, lower priority task.
The server provides and controls shared access to server resources. Applications
on a server must be isolated from each other so that an error in one cannot
damage another. Preemptive multitasking ensures that no single task can take
over all the resources of the server and prevent other tasks from providing
service. There must be a means of defining the relative priority of the tasks on
the server. These requirements are specific to the client/server implementation
and not to the file server implementation. Because file servers execute only the
single task of file service, they can operate in a more limited operating
environment without the need for application isolation and preemptive
multitasking.
The traditional minicomputer and mainframe hosts have acted as de facto
enterprise servers for the network of terminals they support. Because the only
functionality available to the terminal user is through the host, personal
productivity data as well as corporate systems information is stored on this
host server. Network services, application services, and database services are
provided centrally from the host server.
Many organizations download data from legacy enterprise servers for local
manipulation at workstations. In the client/server model, the definition of
server will continue to include these functions, perhaps still implemented on
the same or similar platforms. Moreover, the advent of open systems based
servers is facilitating the placement of services on many different platforms.
Client/server computing is a phenomenon that developed from the ground up.
Remote workgroups have needed to share expensive resources and have connected
their desktop workstations into local area networks (LANs). LANs have grown
until they are pervasive in the organization. However, frequently (similar to
parking lots) they are isolated one from the other.
Many organizations have integrated the functionality of their dumb terminals
into their desktop workstations to support character mode, host-based
applications from the single workstation. The next wave of client/server
computing is occurring now, as organizations of the mid-1990s begin to use the
cheaper and more available processing power of the workstation as part of their
enterprise systems.
The Novell Network Operating System (NOS), NetWare, is the most widely installed
LAN NOS. It provides the premier file and print server support. However, a
limitation of NetWare for the needs of reliable client/server applications has
been the requirement for an additional separate processor running as a database
server. The availability of database server software—from companies such as
Sybase and Oracle—to run on the NetWare server, is helping to diffuse this
limitation. With the release of Novell 4.x, Netware supports an enterprise LAN
(that is, a thousand internetworked devices) with better support for Directory
Services and TCP/IP internetworking.
DEC demonstrated the Alpha AXP processor running Processor-Independent NetWare
in native mode at the PC Expo exhibit in June 1993. HP, Sun, and other vendors
developing NetWare on RISC-based systems announced shipment of developer kits
for availability in early 1994. Native NetWare for RISC is scheduled for
availability in late 1994. This will provide scalability for existing Netware
users who run out of capacity on their Intel platforms.
Banyan VINES provides the competitive product to Novell 4.x for enterprise LANs.
Directory services are provided in VINES through a feature called StreetTalk.
VINES 5.5 provides excellent WAN connectivity and is very popular among
customers with a heterogeneous mainframe and minicomputer enterprise. However,
it suffers from a weak support for file and printer sharing and a general lack
of application package support. Banyan's Enterprise Network Services (ENS) with
StreetTalk provides the best Directory Services implementation today. StreetTalk
enables users to log into the network rather than to a server. This single logon
ID enables access to all authorized servers anywhere in the network. Banyan made
ENS available for Netware 3.11 and plans to make it available for Netware 4.x
and Microsoft's Windows NT Advanced Server.
Microsoft's LAN Manager NOS and its several derivatives—including IBM Lan
Server, HP LAN Manager/UX and DEC Pathworks—provide file and printer services
but with less functionality, and more user complexity, than Novell's NetWare.
The operating systems that support LAN Manager provide the necessary shared
memory, protected memory, and preemptive multitasking services necessary for
reliable client/server computing. They provide this support by operating
natively with the OS/2, UNIX, VMS, and MVS operating systems. These operating
systems all provide these services as part of their base functionality. The
scalability of the platforms provides a real advantage for organizations
building client/server, and not just file server, applications.
The lack of reasonable directory services restricts LAN Manager from the
enterprise LAN role today. Microsoft has just released Advanced Server, the
Windows NT version of LAN Manager. This provides a much stronger Intel platform
than LAN Manager. In conjunction with the Banyan ENS, Advanced Server is a
strong competitor to Novell's NetWare as the preferred NOS.
Network File System (NFS) is the standard UNIX support for shared files and
printers. NFS provides another option for file and print services to client
workstations with access to a UNIX server. PC NFS is the PC product that runs on
the client and provides connectivity to the NFS file services under UNIX. NFS
with TCP/IP provides the additional advantage of easy-to-use support for remote
files and printers.
Novell and NFS can interoperate effectively because of the increasing support
for TCP/IP as a LAN and WAN protocol. Recent announcements by IBM and Microsoft
of alliances with Novell and Banyan promise a future in which all of the
features of each NOS will be selectively available to everyone. Until these
products improve their capability to work together, organizations still have the
challenge of determining which NOS to select. Most will choose to use NetWare
plus Windows clients with OS/2, UNIX, VMS, or MVS servers for their
client/server applications. There will be a significant increase during 1994-95
in the use of NFS based servers with support now available on all major UNIX
platforms as well as OS/2, MVS, and VMS.
There is no preeminent hardware technology for the server. The primary
characteristic of the server is its support for multiple simultaneous client
requests for service. Therefore, the server must provide multitasking support
and shared memory services. High-end Intel, RISC (including Sun SPARC,
IBM/Motorola PowerPC, HP PA RISC, SGI MIPS, and DEC Alpha), IBM System/370, and
DEC VAX processors are all candidates for the server platform. The server is
responsible for managing the server-requester interface so that an individual
client request response is synchronized and directed back only to the client
requester. This implies both security when authorizing access to a service and
integrity of the response to the request.
With object-oriented technology (OOT) increasingly used to build operating
systems and development environments, servers are becoming ubiquitous (anything,
anywhere, and anytime) and transparent in technology and location to the user
and developer. NeXtStep provides the only production ready model of what will be
the dominant developer model in 1995 and beyond. Sun's DOE implementation of the
OMG defined CORBA standards provides a view of the future role of the object
server. This is the first implementation of the vision of the original OOT
scientists. The future promises applications assembled from object repositories
containing the intellectual property of a business combined with commercial
objects made available by OOT developers executing on servers somewhere.
The Connectivity
The network is the computer is the most appropriate
description of client/server computing. Users want to feel that somewhere on the
network the services they need are available and are accessible based on a need
and right of access, without regard to the technologies involved. When ready to
move beyond personal productivity stand-alone applications and into
client/server applications, organizations must address the issues of
connectivity. Initially, most users discover their need to access a printer that
is not physically connected to their client workstation. Sharing data files
among non-networked individuals in the same office can be handled by
"sneaker net" (hand-carrying diskettes), but printing is more awkward.
The first LANs installed are usually basic networking services to support this
printer-sharing requirement. Now a printer anywhere in the local area can be
authorized for shared use.
The physical medium to accomplish this connection is the LAN cabling. Each
workstation is connected to a cable that routes the transmission either directly
to the next workstation on the LAN or to a hub point that routes the
transmission to the appropriate destination. There are two primary LAN
topologies that use Ethernet (bus) and Token Ring (ring).
Ethernet and Token Ring are implemented on well-defined Institute of Electrical
and Electronic Engineers (IEEE) industry standards. These standards define the
product specification detail and provide a commitment to a fixed specification.
This standardization has encouraged hundreds of vendors to develop competitive
products and in turn has caused the functionality, performance, and cost of
these LAN connectivity products to improve dramatically over the last five
years. Older LAN installations that use nonstandard topologies (such as ARCnet)
will eventually require replacement.
There is a basic functional difference in the way Ethernet and Token Ring
topologies place data on the cable. With the Ethernet protocol, the processor
attempts to dump data onto the cable whenever it requires service. Workstations
contend for the bandwidth with these attempts, and the Ethernet protocol
includes the appropriate logic to resolve collisions when they occur. On the
other hand, with the Token Ring protocol, the processor only attempts to put
data onto the cable when there is capacity on the cable to accept the
transmission. Workstations pass along a token that sequentially gives
each workstation the right to put data on the network.
Recent enhancements in the capabilities of intelligent hubs have changed the way
we design LANs. Hubs owe their success to the efficiency and robustness of the
10BaseT protocol, which enables the implementation of Ethernet in a star fashion
over Unshielded Twisted Pair (UTP) wiring. Now commonly used, hubs provide
integrated support for the different standard topologies such as Ethernet, Token
Ring, and Fiber (specifically, the FDDI protocol) over different types of
cabling. By repeating or amplifying signals where necessary, they enable the use
of high quality UTP cabling in virtually every situation.
Hubs have evolved to provide tremendous flexibility for the design of the
physical LAN topologies in large office buildings or plants. Various design
strategies are now available. They are also an effective vehicle to put
management intelligence throughout the LANs in a corporation, allowing control
and monitoring capabilities from a network management center.
Newer token-passing protocols, such as Fiber Distributed Data Interface (FDDI)
and Copper Distributed Data Interface (CDDI), will increase in use as higher
performance LANs (particularly backbone LANs) are required. CDDI can be
implemented on the same LAN cable as Ethernet and Token Ring if the original
selection and installation are done carefully according to industry
recommendations. FDDI usually appears first as the LAN-to-LAN bridge between
floors in large buildings.
Wireless LANs offer an alternative to cabling. Instead of cabling, these LANs
use the airwaves as the communications medium. Motorola provides a system—Altair—that
supports standard Ethernet transmission protocols and cards. The Motorola
implementation cables workstations together into microcells using standard
Ethernet cabling. These microcells communicate over the airwaves to similarly
configured servers. Communications on this frequency do not pass through outside
walls, so there is little problem with interference from other users.
Wireless LANs are attractive when the cost of installing cabling is high. Costs
tend to be high for cabling in old buildings, in temporary installations, or
where workstations move frequently. NCR provides another implementation of
wireless LAN technology using publicly accessible frequencies in the 902-MHz to
928-MHz band. NCR provides proprietary cards to provide the communications
protocol. This supports lower-speed communications that are subject to some
interference, because so many other devices, such as remote control electronic
controllers (like a VCR controller) and antitheft devices, use this same
frequency.
It is now a well-accepted fact that LANs are the preferred vehicle to provide
overall connectivity to all local and distant servers. WAN connectivity should
be provided through the interconnection of the LANs. Router and bridges are
devices that perform that task. Routers are the preferred technology for complex
network topologies, generating efficient routing of data packets between two
systems by locating and using the optimal path. They also limit the amount of
traffic on the WAN by efficiently filtering and by providing support for
multiple protocols across the single network.
WAN bandwidth for data communications is a critical issue. In terminal-to-host
networks, traffic generated by applications could be modeled, and the network
would then be sized accordingly, allowing for effective use of the bandwidth.
With LAN interconnections, and applications that enable users to transfer large
files (such as through e-mail attachments) and images, this modeling is much
harder to perform. WAN services that have recently emerged, such as Frame Relay,
SMDS (Switched Multimegabit Data Service), and imminent ATM (Asynchronous
Transfer Mode) services, enable the appropriate flexibility inherently required
for these applications.
Frame Relay uses efficient statistical multiplexing to provide shared network
resources to users. Each access line is shared by traffic destined for multiple
locations. The access line speed is typically sized much higher than the average
throughput each user is paying for. This enables peak transmissions (such as
when a user transmits a large file) that are much faster because they use all
available bandwidth.
SMDS is a high-speed service that uses cell relay technology, which enables
data, voice, and video to share the same network fabric. Available from selected
RBOCs as a wide-area service, it supports high speeds well over 1.5 Mbps.
ATM is an emerging standard and set of communication technologies that span both
the LAN and the WAN to create a seamless network. It provides the appropriate
capabilities to support all types of voice, data, and video traffic. Its speed
is defined to be 155 Mbps, with variations and technologies that may enable it
to run on lower speed circuits when economically appropriate. It will operate
both as a LAN and a WAN technology, providing full and transparent integration
of both environments.
ATM is the most significant connectivity technology after 1995. ATM provides the
set of services and capabilities that will truly enable the "computing
anywhere" concept, in which the physical location of systems and data is
made irrelevant to the user. It also provides the network managers with the
required flexibility to respond promptly to business change and new
applications.
Interoperability between distributed systems is not guaranteed by just providing
network-based connectivity. Systems need to agree on the end-to-end handshakes
that take place while exchanging data, on session management to set up and break
conversations, and on resource access strategies. These are provided by a
combination of network protocols such as Novell's IPX/SPX, NetBIOS, TCP/IP, and
remote process interoperability technologies, such as RPC technology from Sun,
Netwise, Sybase, Oracle, IBM's APPC, CPIC, and Named Pipes.
Network Management is an integral part of every network. The Simple Network
Management Protocol (SNMP) is a well-accepted standard used to manage LANs and
WANs through the management capabilities of hubs, routers, and bridges. It can
be extended to provide basic monitoring performance measurements of servers and
workstations. Full systems management needs much more functionality than SNMP
can offer. The OSI management protocol, the Common Management Information
Protocol (CMIP), which has the flexibility and capability to fully support such
management requirements, will likely compete with an improved version of SNMP,
SNMP V2.
(if you need further
details of the topics please feel free to ask)