In client/server computing a server is a large, powerful central computer. Servers are shared by many users who access it through remote input/output devices (keyboard/monitor combinations) that allowed the user to work with the remote computer. These are called terminals.
Originally such terminals were hardware devices. With modern end-user PCs becoming more powerful in the 1980's, these dedicated hardware devices were replaced by software that runs on a PC and which simulates features of the original hardware terminals. Such programs is called a terminal-emulator (a software that emulates/simulates a terminal).
Before the 1980s, the predominant computing model revolved around mainframes and terminals, creating a centralized approach to information processing. The reason for this model was that processors and especially memory were extremely expensive, thus companies would purchase one large, powerful central computer that could be shared by users, which accessed it by means of a so called terminal.
Terminals, were also dubbed dumb terminals, because even though technically speaking they were computers, they were physical devices with limited processing capabilities that acted as a user interface to the mainframe. Users accessed applications running on the mainframe through these terminals, which were often hardwired to the central computer.
The terminals (thin clients) were devices which consisted of a screen, a keyboard, and the technology that allowed them to transmit keystrokes to and receive output from the server, but had no noteworthy computing power of their own.
As noted above, a terminal initially was a combination of keyboard and a screen which were connected to a remote computer through a network, modem or network.
However, to allow the server programs some flexibility, the terminals had some actual (but limited) computing power. This enabled them to perform tasks beyond merely printing all received text. Instead, they could receive specific codes which were embedded in the text, and use these to format the output of the text, rather than just printing text left-to-right and top-to-bottom like a teletype.
However, each manufacturer (e.g. IBM, Digital Equipment, Wyse Corp.) used different codes to perform the formatting of text, so the terminals to access a certain type of server needed to be bought from the manufacturer of the server. In other words, different manufacturers used different codes that the servers sent to the terminals in order to move the cursor, change the color, manage the keyboard, modify screen attributes, clear the screen and so on.
Among the best-known terminal manufacturers were DEC (who created the line very popular of character oriented VT-Terminals, e.g. the vt100, vt220 etc.) and IBM (who preferred to use block-mode) with 3270 and 5250 terminals. There were also attempts to standardize codings for these tasks, the so-called ANSI terminals.
For example, on a VT220 or ANSI terminal, to send the text "this is an error!" to the user's screen with the word "error" in red, the host would actually send This is an ^[31m error ^[0m! to the terminal emulator. Rather than displaying all the text, the VT220 terminal will strip the cryptic code parts ^[31m and ^[0m as commands and will print the text between them in a different color, like so: This is an error!
As processors and memory gradually became more affordable, the idea of a Personal Computer gained traction. This novel concept meant that each user would be able to access their own memory, and that their personal processor would be sitting right there on their desk. It was thought that this would become the dominant model and that mainframes and application servers would become a thing of the past, except for niche markets and areas where enormous computing power was needed.
However, through advent of the Internet and the success of Linux, the client/server concept and central computing has undergone something of a renaissance. As a direct result of this the necessity of using a terminal to access a computer located in a remote location (be it somewhere across the globe or server vault in the basement of the same building) is yet again receiving a lot of attention again.
Since personal computers had already gained popularity and were ubiquitous, businesses and institutions shifted from using dedicated hardware to access the central computer to using a program that runs on a PC and performed the same tasks as a hardware terminal.
This did bridge the gap between the existing mainframe infrastructure and the new PCs. Terminal emulators emerged as a solution, enabling PCs to emulate the functionality of traditional terminals while connecting to mainframes and other remote servers. These software-based emulators allowed users to access mainframe applications and data from their personal computers, effectively extending the life of central computing model and established systems, while also providing the beneifts of using the personal computing model for tasks like text processing or spreadsheets, where it turned out to be the superior choice.
Terminal emulators offered several advantages over physical terminals. First and foremost, they eliminated the need for dedicated, space-consuming hardware, reducing costs and streamlining the computing environment. Emulators also provided users with a more flexible and customizable interface, enhancing the overall user experience. The transition to terminal emulators allowed organizations to modernize their computing infrastructure without completely abandoning legacy systems, ensuring a smoother evolution of technology.
Contemporary scenarios continued necessitate the retrieval and manipulation of substantial and ever increasing data volumes within databases, posing challenges in terms of computational intensity. In response to this, since the millenium there has been a dramatic shift back to server computing. While end users interact with these servers mostly through Web-Browsers (which incidentally, in abstract terms, perform similar function as a a terminal, just graphically much more sophisticated), administrators and programmers find themseves in a position, to often need to access these servers through text based terminals.
The impracticality of reverting to the use of physical dumb terminals is evident, as the contemporary workspace often lacks the physical space for additional keyboards and screens. Instead, sophisticated software has assumed the role of a virtual dumb terminal. Referred to as a terminal emulator, this software replicates the functionalities of a dumb terminal or thin client on a personal computer, providing a seamless bridge for users engaging in more intricate computing tasks.
In short, a terminal emulator is a program that does what a dumb terminal used to do in the early days of computing. It transmits keystrokes to the remote server, receives output from the server, and displays it in a window which simulates the screen that was used in the past. However, the real benefit of using a terminal emulator is that it really isn't as 'dumb' as a real terminal. Instead, it offers functions such as logging output to a printer, saving output to disk, allowing input and output to be sent/received and processed automatically. A terminal emulator can also help you automate repetitive tasks.
As noted above, many manufacturers used to develop their own terminals with their own type of ommunication between the server and the terminal. The good thing about modern terminal emulators is (compared to hardware terminals) that they can understand most of the codes that were used in the past. A single terminal emulation program like ZOC can actually play the role of both an IBM and a DEC terminal, depending on which server a user needs to access (e.g. an IBM mainframe or a Unix server).
Nowadays, terminal emulators are used for a wide variety of different tasks. They are used by Unix and Linux administrators to access their web servers, by employees of companies who need to access different types of software on central computers, by doctors to retrieve blood test results from central lab computers, and so on. In short, anyone who wants to access any kind of data on a central computer needs a terminal emulator.
The ZOC Terminal Emulator is a professional terminal emulator because it supports the standards of several manufacturers (vt100, vt220, TN3270, Ansi, Linux/Xterm, Wyse, to name just a few), and allows users to access virtually any server that requires the use of a terminal or terminal emulator (via connection as ssh client, telnet, modem, etc).
As well as the basic terminal functions, ZOC offers a wealth of additional, useful features. This terminal emulator takes advantage of the computing power of a PC to allow you to automate tasks (such as logging on or retrieving data automatically), log sessions on screen or file (for documentation or later review), copy data between a text processor and the remote server, and much more.