IM - January 95: Client/Server



Intelligent Manufacturing € January € 1995 € Vol. 1 € No. 1


What Is Client/Server, and Why Should I Care?


By Bob Turek


"I'm just trying to run a business here! Why is client/server so important?" This is a standard lament throughout manufacturing operations, and the fact is, it's difficult to say how important client/server is. One of the problems is that the term "client/server" covers too many issues and more new areas all the time; you can't just say "client/server" and assume that people understand what you're talking about. Some think client/server is using PC spreadsheets to manipulate files created by a host computer report writer. Others define it as several mainframes and/or midrange machines (possibly acting as servers) and multiple PCs (possibly acting as clients) with varying amounts of manufacturing system application code and databases on both levels.

For many of today's manufacturers, a client/server implementation is merely a different look and feel through a GUI interface; this is the ability to perform transactions in Windows type applications with the "same" software that is used to control manufacturing operations. Certainly the technical strategy is more complex than this. But to the user in these environments, client/server is really seeing a different, easier-to-use presentation interface. A logical next step is to allow the importation of data from a server into a PC application like a spreadsheet.

The ultimate situation is to be able to have not only presentation interfaces, but application code and databases on the PC client as business needs dictate. This can get very complicated, however, and may not warrant the cost or the headache. These levels of client/server are sometimes hard to envision. Let's go through some basic ways to define client/server.


Client/Server Alternatives
Manufacturing systems have traditionally been implemented on one computer with the following three aspects of application and database software all bundled into one package:

  1. User interface/presentation - how you see and interact with the application. For example, GUI versus character cell or dumb terminal.
  2. Application logic - for example, the logic that moves inventory from one location to another.
  3. Database management - how data is stored, searched for and retrieved from a database.

Most of you have dealt with this type of environment. It is easy to control, usually uses a character cell user interface (dumb terminal), and is very cost-efficient.

Imagine taking a step into the future from this simple controlled environment and begin using a new GUI user interface on a PC. The application logic may stay on the original computer (server). A little more complexity has been added because you now have two interfaces: the dumb terminal and the PC with a GUI interface. If these are very different, additional training may be required. The information systems (IS) community has to pay attention to a multitude of PCs that are now interfacing with the system.

Take another step forward by allowing the manufacturing system application logic to function on the PC-client as well as the server. This may require a rewrite of the software by the software provider using a tool (4GL language or other) that is different from that used to write the original application. If so, you will now have multiple sets of application software to maintain. If the same tool is used across both client and server environments, tre-mendous maintenance and security efficiencies result.

The database, which up to now has been comfortably on the original computer (server), could exist on one or more PCs to allow for more efficient use of that data by the user. This capability to distribute databases is where many claim the real value of client/server occurs. Different database software systems could be required to operate together with the same application software.


Is Client/Server Important to You?
Having many database software systems from different vendors in a client/server environment may not be important to you. But the vision that businesses should be able to configure and distribute their applications and databases to suit business requirements is important. Companies in a position to take advantage of the application and database technology that will be unveiled over the next couple of years will reap tremendous rewards.

Most client/server implementations are in their infancy, merely offering the user a GUI along with easier access to data for traditional PC applications. However, it is shortsighted to acquire technology that does not have the capability to go beyond such an "infant" solution. Consider the following implementations:

One well known manufacturing company may never implement a distributed database model but may be satisfied with a single "host" server controlling all database functions. This company will require that the application logic operate on both the server and the client to help reduce server processing.

Another company with remote processing plants is considering doing all inventory control in those plants on a PC with both application logic and the database on that PC; a download process would update a central server. This example is arguably not client/server at all but merely a process where information is "stored and forwarded" to the server.

Still another company is considering placing many small supply facilities closer to customers; they are planning on a full implementation of client/server, including application logic partitioning and database distribution for all distribution, manufacturing and inventory functions.

As you can see, there is a minimum technology level that needs to be achieved and it is highly dependent on what your vision of client/server is. Typically a company will, at minimum, acquire technology with software that has application logic on both the server and the client. As stated before, the ideal situation would be to have the same development tool for both client and server software; however, it is viable to have different tools in place, especially for the user interface-presentation piece.

Nearly everyone agrees that the way to implement more complex versions of client/server is in "baby steps" - taking one business process at a time and proving out the cost effectiveness of each. This approach will help determine the degree to which your company should implement a client/server environment and how important client/server is to your business.

Bob Turek (805-268-8808) is a senior consultant based in Los Angeles for Visibility, a developer of business information systems for the agile manufacturer.



Click here to return to Table of Contents for the Intelligent Manufacturing January issue.

Intelligent Manufacturing Copyright © 2020 - Lionheart Publishing Inc. All rights reserved.