Handbook of Local Area Networks, 1998 Edition:LAN-based Application Development Issues and Solutions
Click Here!
Search the site:
ITLibrary
ITKnowledge
EXPERT SEARCH
Programming Languages
Databases
Security
Web Services
Network Services
Middleware
Components
Operating Systems
User Interfaces
Groupware & Collaboration
Content Management
Productivity Applications
Hardware
Fun & Games
EarthWeb sites
Crossnodes
Datamation
Developer.com
DICE
EarthWeb.com
EarthWeb Direct
ERP Hub
Gamelan
GoCertify.com
HTMLGoodies
Intranet Journal
IT Knowledge
IT Library
JavaGoodies
JARS
JavaScripts.com
open source IT
RoadCoders
Y2K Info
Previous
Table of Contents
Next
Network-Centric Client/Server
In the network-centric world, the network is the computer. This type of architecture allows the use of low-cost systems for clients and rightsized systems for servers and, depending on how the application's architecture is designed, may provide for less overall workload on the servers. Also, depending on the type of application, portions of it may be moved back and forth from client machine to server machine as needs change. The underlying network technology is hidden from developers and users as they rely on the higher level network protocols. For example, users do not need to know how the file transfer protocol works under TCP/IP in order to use it. Nor do users need to know how data packets are constructed and deconstructed by the TCP/IP protocol. They only need to feel confident that whatever is occurring in the network layers is happening reliably and in a timely fashion.
Application segmentation across processors is based on which processor is more suitable for the particular application segment. The data stream is composed of application protocol messages. Thus, application segments rely on preestablished protocols. The hardware on which the client and server software run can be independent of one another. This decoupling of client and server software means client hardware from many different vendors can be used with server hardware from still other vendors. Several leading data base vendors, for example, now allow for stored procedures (or application segments) to be resident on the server or the client and for easy movement for them in whichever direction is desirable using a machine-independent method.
The network-centric model of client/server (shown in Exhibit 6-3-4) is primarily a software-based, not a hardware-based architecture. This approach to defining client/server allows an architecture that is flexible, scalable, and portable. These features offer the greatest benefits. Enabling technologies of the network-centric model are the middleware or network-based technologies that allow application segments to be distributed across heterogeneous platforms and networks.
Exhibit 6-3-4. Network-centric Client/Server Model
Thus far this chapter has provided an historical perspective of client/server architecture. An integral component of client/server, one that is not well understood by many or even mentioned in the same sentence as client/server, is middleware. It is the glue that allows clients and servers to communicate with one another. It could be argued that the term client/server should actually be expanded to include middleware: client/middleware/server. However, when the user understands that the goal of middleware is application and user transparency, the term client/server is appropriate after all.
Once again, Exhibit 6-3-1 provides a synopsis of the pertinent changes in the computer industry as a whole during the decades of the 1950s-1970s, 1980s, and 1990s, especially as they relate to the complexity and architectures of the applications. The categories along the left focus on the nature of the changes.
The remainder of this chapter uses the terms client andserver to refer to software applications or architecturesnot to hardware. Client hardware or machine and server hardware or machine will be used when hardware is being referenced. Furthermore, what is a client to one server can be a server to another client and vice versa, as will be explained when the Open Software Foundation's Distributed Computing Environment (DCE) and the Object Management Group's common object request broker architecture (CORBA) specifications are explained. Working definitions of client, server, and middleware follow.
The Client
A client is any application that uses centralized services to complete its assigned tasks. A client application usually, though not always, runs on a personal computer or a workstation (e.g., UNIX, Macintosh). The mainframe-centric client/server model, as noted, defines a client as a PC or workstation that contains the presentation layer of the application. It may also contain portions of the application logic and often communicates with the server application via middleware. Client software may also be run on the server hardware. Exhibit 6-3-5 illustrates a typical client application, typical middleware, and a typical server application. In this depiction, the client application provides a presentation layer and hence a user interface. As discussed in detail later, and contrary to the opinion held by many client/server experts, it is not always necessary for an application to have a user interface to be considered a client.
Exhibit 6-3-5. Typical Client/Server Application
The application logic present in a client may be as simple as doing error checking of entered fields or as complex as constructing elaborate data base queries using structured query language (SQL) and producing charts and graphs of the returned results. The complexity of the logic depends on the needs of the individual who will use that particular client application. It is not required, however, that two client applications accessing the same server application have the same complexity in their application logic. One client application may construct simple database queries and display the results in a window. Still another client application may access the same server application, construct complex queries, and produce trend analysis using sophisticated statistical analysis software that is integrated into it. As long as they both use the same defined interface to the server application, they can coexist quite nicely. Therein lies the flexibility of client/serverthere can be many clients with different levels of sophistication accessing the same server applications.
It is this flexibility that permits entirely new client applications to be constructed without affecting the architecture or making changes to the server. As long as the interface between the client and the server is not changed with the new client application's implementation, new client and existing client applications can coexist seamlessly.
The interface between the client and server is often a data base vendor-specific SQL. The SQL interface is an example of a data base connectivity middleware product. The advantage of the SQL interface is, of course, that it is well-understood and used by many database vendors. However, there are equally valid situations to use interfaces other than those based on SQL between client and server applications. In those cases, careful planning and design help to define alternatives. Middleware products such as DCE and other messaging protocols offer alternatives when an SQL interface is not suitable.
Previous
Table of Contents
Next
Use of this site is subject certain Terms & Conditions.
Copyright (c) 1996-1999 EarthWeb, Inc.. All rights reserved. Reproduction in whole or in part in any form or medium without express written permission of EarthWeb is prohibited.
Please read our privacy policy for details.
Wyszukiwarka
Podobne podstrony:
README (565)Bach Toccata i fuga d moll BWV 565Article 05 10 Talk and Listen Quiz 565479 565System Korund L pl5602Instrukcja GECO Z 560 P02 S v01 w01 POL565 567więcej podobnych podstron