What is a client? Types of network services What is a client in computer science.

Modern computer systems, as a rule, are based on a network that unites a large number of different types of computers. Client-server architecture systems are designed to provide end users with shared access to various data sources on any platform, regardless of location, reduce network traffic, and ensure the efficiency of data processing. In these systems client Any computer process is called that requests certain resources or services from other - server processes. Server is a process that provides services (services) to another process (client). The client is also called interface application, which reflects the fact that the end user interacts with the client process. The server process is implemented by the server application.

The client and server processes reside on different computers connected to the network, although they can also reside on the same computer. While on the network, a server can provide services to more than one client, and a client can request services from multiple servers on the network, regardless of their location or the physical characteristics of the computer hosting the server process. The network provides clients and servers with a means of communication.

Servers can provide file and printer management services, Email, by accessing the Internet, can be used as web servers or database servers.

The operation of the database server is provided by the DBMS. In this case, the client sends a request to the database to the server. In relational databases, the query is written to SQL language. Query processing is performed on the database server. The server selects records that match the given criteria and sends them over the network to the client. Request processing can be distributed across several types of server computers from PCs to mainframes. The public workstation for end users of the network, who run the client process and form queries to the database, is, as a rule, a PC.

The client and server processes are independent of each other. Depending on the degree of separation of processes between client and server, they are considered weak (thin) or strong (thick). Weak client performs minimal processing on the client side, strong takes care of a relatively large part of the data processing. A strong server bears the main burden of data processing, the load on weak server relatively small. The mainframe system is an example of the strongest server and the weakest client.

Client-server systems are divided into two- and three-level. In the first case, the client requests services directly from the server, in the second, requests are processed by intermediate servers that coordinate the execution of client requests with their subordinate servers.

The interaction between the client and server processes is performed using software data transmission. It consists of several layers of software that allow the transfer of data and control information between clients and servers. This software is usually network bound. All client requests and server responses are sent over the network in the form of messages containing control information and data.

The rules for managing data flows in a network (client-server systems) are presented in a reference network model developed as part of the OSI (Open Systems Interconnection) program. international program standardization of data exchange between computer systems of different manufacturers). This model was published in 1984 and is based on seven independent levels. The upper layers of the application and presentation provide services to the local computer for preparing and formatting the sent data; provide the user with application-specific features. Session layer services, transport, network, data link and physical guarantee the security of data delivery from one network node to another. The session layer controls the program-to-program communication. All lower levels belong to the network.

Data communication software allows the programmer to use SQL statements to access various database servers. At the same time, there is no need to remember about SQL dialects, the software transforms standard SQL expressions into a syntax suitable for this database, and also frees the programmer from the need to manage network communications (there is no dependence on network protocols). At the session level, a connection is established between the client and server processes. If the server process requires confirmation of the user's authority, then the necessary messages are generated at the session level to register and verify the user (entering an identifier and password to access the database server). After that, other messages can be sent between the client and the server. At the session level, it is determined which messages are control messages, which carry data. At this level, the session is restored when it is interrupted.

The database data transmission software is subdivided into the API (Application Programming Interface), database translator, network translator.

The API programmer interacts with the data communication software through an API supplied with the data communication software that allows you to write standard SQL code. Thus, the independence of the client process from the database server is ensured. This means that the server can be replaced without rewriting the client application.

The database translator translates SQL queries into the specific syntax of the database server. If the query uses data from two different database servers, the compiler will take care of communicating with each server and extracting the data in a format suitable for the client application.

The network translator manages network communication protocols, ensuring independence from the network protocol used by the database server (for example, TCP/IP or IPX/SPX).

The de facto ODBC interface developed by Microsoft has become the dominant standard for database data transfer software. A specific driver is used to access each database. Other well-known standards are Borland's IDAPI, IBM's DRDA.

Microsoft is currently pushing the OLE DB standard for databases. This standard provides universal data integration based on the COM specification, which is the basis for storing and retrieving information from the database. It can be used to access different types data - sound, video from multiple sources.

Client-server DBMS, being the central part of most client-server systems, must provide:

■ transparent access to data for many and heterogeneous clients, regardless of the hardware, software and network platforms of the client application;

■ delivery over the network of client requests to the database server (using SQL);

■ processing client requests on the local server;

■ sending only the results of the SQL query to the client.

In client-server systems, the load on the network is reduced, and the resources of the client computer are freed up to perform interface functions.

Client-server DBMS differ in the place of processing and the set of data transmitted to the client. The data may be stored on one or more sites. In the latter case, they resemble distributed databases.

However, distributed databases must have the following properties:

■ the placement of data is transparent to the user. The data is located in a variety of places, in various databases, possibly using various models, and the user does not need to know where the data is located, how to get it, or what protocol to use for this;

■ powerful user-side applications provide easy access to data;

■ data processing is distributed among several computers. For example, a query contains a call to three databases managed by different DBMS and hosted on different computers. The database server, having received an SQL query, determines the location of the data itself, extracts it from different places, connects it and sends it to the client. In this case, the data is accessed and retrieved on three different computers.

The main components of a client-server architecture application are:

■ "Input/output" is presentation logic(1) on an output device, such as a screen, and control input, such as through a keyboard;

■ "Processing" - I/O processing logic(2), i.e. managing data entry validation and error detection; business logic(3) representing all business rules; data management logic(4) determining what data is required for each business transaction;

■ "Storage" - uses data manipulation logic(5) for the actual storage and retrieval of data on physical devices.

The distribution of logical components between the client and the server can be done in different ways in an application. In this case, the following criteria must be taken into account: autonomy, maximum use of resources, interoperability, as well as hardware and software independence.

Each of the components, except for the presentation logic component, which is usually hosted on the client side, can be hosted on the server side, thus becoming a service for all clients.

A typical placement might look like this.

Presentation Logic is always hosted on the client side because it defines the interaction with the end user. GUIs typically provide services for front-end application services.

I/O processing logic hosted either on the client side or on the server side. With a three-tier client/server model, intermediary servers typically contain all of the I/O processing logic, making it available to all clients. Business logic can also be hosted either on the client side or on the server side. It is usually hosted on the client side and can be divided into client and server subcomponents. When using a three-tier client-server model, intermediate servers usually contain all elements of business logic and are available to all clients.

Data Management Logic can be hosted either on the client side or on the server side similar to the I/O processing logic. For the database server, the data management logic component is shared between client and server computers.

data manipulation logic, usually hosted on the server side. This component can be distributed across multiple servers in a distributed database environment. In a file server architecture, only this logic is hosted on the server, everything else is performed on the client side. The file server only manages the storage and placement of data, and the selection of actual records is done on the client side.

Being a client, it interacts with the server using a specific protocol. It can request any data from the server, manipulate data directly on the server, launch new processes on the server, etc. The client program can provide the data received from the server to the user or use it in some other way, depending on the purpose of the program. The client program and the server program can run on the same computer or on different ones. In the second case, a network connection is used to exchange information between them.

The types of clients are terminals- workstations on multi-user computers, equipped with a monitor with a keyboard, and not able to work without a server. In the 1990s, network computers appeared - a cross between a terminal and a personal computer. Network computers have a simplified structure and are largely dependent on the server. Sometimes a terminal is understood as any client, or only a thin client.

However, a client does not always mean a computer with weak computing resources. Most often, the concepts of "client" and "server" describe the distribution of roles in the performance of a specific task, and not computing power. Programs that perform both client and server functions can run on the same computer at the same time. For example, a web server can, as a client, receive data for generating pages from a SQL server (this is how Wikipedia works).

In the X Window System, a server is a program that implements a graphical user interface, and a client is a program that uses that interface. Therefore, a thin client can run an X Window System server that displays the results of a client program running on an application server. From the user's point of view, this is not very common, since the server is usually a remote application, and the client is a local application.

see also

Write a review on the article "Client (computer science)"

An excerpt characterizing the Client (informatics)

In Orel, his chief manager came to see him, and with him Pierre made a general account of his changing incomes. The Moscow fire cost Pierre, according to the account of the chief manager, about two million.
The chief manager, in consolation of these losses, presented to Pierre the calculation that, despite these losses, his income would not only not decrease, but would increase if he refused to pay the debts left after the countess, to which he could not be obliged, and if he does not renew the houses in Moscow and those near Moscow, which cost eighty thousand a year and brought nothing.
“Yes, yes, it’s true,” said Pierre, smiling cheerfully. Yes, yes, I don't need any of that. I have become much richer from ruin.
But in January, Savelich arrived from Moscow, told about the situation in Moscow, about the estimate that the architect had made for him to renew the house and the suburban area, speaking about it as if it had been decided. At the same time, Pierre received a letter from Prince Vasily and other acquaintances from St. Petersburg. The letters spoke of his wife's debts. And Pierre decided that the manager's plan, which he liked so much, was wrong and that he needed to go to Petersburg to finish his wife's affairs and build in Moscow. Why this was necessary, he did not know; but he knew without a doubt that it was necessary. As a result of this decision, his income decreased by three-quarters. But it was necessary; he felt it.
Villarsky was going to Moscow, and they agreed to go together.
Throughout his convalescence in Orel, Pierre experienced a feeling of joy, freedom, life; but when, during his journey, he found himself in the open world, saw hundreds of new faces, this feeling was even more intensified. All the time he traveled, he experienced the joy of a schoolboy at a vacation. All faces: the coachman, the caretaker, the peasants on the road or in the village - all had a new meaning for him. The presence and remarks of Villarsky, who constantly complained about poverty, backwardness from Europe, and the ignorance of Russia, only heightened Pierre's joy. Where Villarsky saw death, Pierre saw an extraordinary powerful force of vitality, that force that in the snow, in this space, supported the life of this whole, special and united people. He did not contradict Villarsky and, as if agreeing with him (since feigned agreement was the shortest means of circumventing arguments from which nothing could come out), he smiled joyfully as he listened to him. Customer is a hardware or software component of a computer system that sends requests to a server.

The client program communicates with the server using a specific protocol. It can request any data from the server, manipulate data directly on the server, launch new processes on the server, etc. The client program can provide the data received from the server to the user or use it in some other way, depending on the purpose of the program. The client program and the server program can run on the same computer or on different ones. In the second case, a network connection is used to exchange information between them.

The types of clients are terminals- workstations on multi-user computers, equipped with a monitor with a keyboard, and not able to work without a server. The 1990s saw the emergence of networked computers, a cross between a terminal and a personal computer. Network computers have a simplified structure and are largely dependent on the server. Sometimes a terminal is understood as any client, or only a thin client.

However, a client does not always mean a computer with weak computing resources. Most often, the concepts of "client" and "server" describe the distribution of roles in the performance of a specific task, and not computing power. Programs that perform both client and server functions can run on the same computer at the same time. For example, a web server can, as a client, receive data for generating pages from a SQL server (this is how Wikipedia works).

In the X Window System, a server is a program that implements a graphical user interface, and a client is a program that uses that interface. Therefore, a thin client can run an X Window System server that displays the results of a client program running on an application server. From the user's point of view, this is not very common, since the server is usually a remote application, and the client is a local application.

Most of the independent states formed on its ruins have fully experienced all the positive and negative aspects of the market economy. The changes also affected the Russian language, in which a lot of new terms appeared, naming already known old concepts. One of the most popular among them was the word "customer", which began to be used when talking about buyers and consumers. Are these nouns really synonyms, or is this a mistake? And what does the term “customer” mean, where does it come from, and how does it differ from “consumer”?

Origin of this name

In Russian, this noun appeared in the 16th century. It was copied from the German word Klient, which, in turn, comes from the Latin name cliēns (one who is patronized).

Today, this word is actively used in most languages ​​of the world, including Slavic: client (Ukrainian), client (Belarusian), klient (Polish), zákazník (Czech), zákazník (Slovak).

It is worth noting that in most West Slavic languages ​​(except Polish), the name that came from Latin was supplanted by the Old Slavonic term "customer". At the same time, in the East Slavic languages, both names exist in parallel, being synonyms.

The meaning of the word "client" in ancient Rome

In ancient times, when the whole world trembled from the chased marching step of invincible Roman soldiers, in their empire there was such a thing as "clientele". Its essence was that the inhabitants of Rome, who did not have the means and connections to provide their families with a decent existence, entered into legal agreements with wealthy citizens and became their wards, performing the services specified in the contract. The person who concluded such an agreement received the definition of "client". This social phenomenon, by the way, was the progenitor of future feudal relations.

The patrons of Roman clients were called "patrons". For the services of their wards, they not only helped them find work or land, but also provided legal and economic protection. In most cases, clients became members of the family of their patron, and after death they were buried in the family cemetery. Client rights and obligations were inherited from parents to children.

Despite its progressiveness (thanks to the clientele, any talented but rootless Roman got the opportunity to get rich and take an important post), in different historical periods, the clientele was often criticized, and several times they tried to abolish it. The main reason for this was that, having become a client, any rootless upstart received the same rights as the offspring of a noble family, which, oh, how the aristocracy did not like.

The modern meaning of this noun

Despite its glorious and ancient history Today, the term has a slightly different meaning. Yes, in modern society A client is a person or organization using the services of an enterprise or institution. Speaking more plain language, this word refers to the buyer, customer, visitor or depositor, when it comes to the banking sector.

In a market economy, each client is important for any enterprise, even a very small one. After all, he is a consumer of those goods or services that the organization provides, and pays money for it. That is why the phrase "The customer is always right" has become the slogan in many institutions, especially private ones, for many years.

Based on this value, a coarser one also appeared. According to him, customers name the target of fraud or even murder.

Synonyms for this word

This noun has several common synonyms. One of them (the customer) was mentioned above. Also, such words as “buyer”, “consumer”, “visitor”, sometimes “subscriber” are used in a similar meaning.

Customer vs Consumer: What's the Difference?

These two nouns are not full synonyms, but contextual ones. It so happened due to the fact that their meaning, despite the general similarity, has a significant difference. V English language two are even used to designate them different words: client and customer.

It has already been said above about who a client is. The meaning of the word "consumer" is a citizen who purchases any goods or services for his own needs, but not for profit.

In other words, if a person bought a can of paint in a store to paint the kitchen door, he is a consumer. And if this product was purchased in order to paint a stool and sell it on the market, the buyer automatically turns into a client.

Types of clients

Depending on the attitude of a person to the conditions for the provision of certain services to him, several types of customers are distinguished:

  • A goal-oriented customer is one who knows enough about the product being purchased. He behaves rather self-confidently, sometimes argues and believes that he knows everything and is right in everything related to the order. His self-esteem does not always correspond to reality, and such a person can be persuaded, but the argument must be ironclad.
  • Know-it-all - such a buyer likes to talk more than listen. Needs approval and praise.
  • Lover of conversation. Such a customer is often ready to purchase something, but first he wants to just chat about something.
  • An indecisive customer is a person who wants to buy something but is shy or unsure. Easily persuaded, but not pressured.
  • Wrangler. Like a lover to communicate, he needs a listener, or rather an opponent.
  • Uncommunicative customer - does not like to talk, he needs time to make his own decision.
  • A positively minded client is probably just the perfect look. Such a person likes everything, he is friendly and ready to immediately make a purchase.
  • An impulsive buyer with a negative attitude. Such a person is able to get angry for any reason and be rude to the seller. When working with him, it is important to be patient.

Customers can also be classified according to the quantity of goods they purchase:

  • A retail buyer is someone who purchases something in small quantities (1-2 units).
  • A wholesale customer is a person or business that buys something in huge quantities. Allocate small wholesale, medium and large.

According to the frequency of purchases, customers are divided into two types:

  • Permanent - one who constantly acquires something from the enterprise.
  • One-time - made a purchase one or two times.

The meaning of the word "potential client"

Standing apart from all other types of classifications is such a type of client as a potential one. This is the name of a person or organization who wants to purchase a specific product or service, but for some reason has not yet done so.

In fact, a potential customer cannot even be called a client, because he has not yet acquired anything, which means that he has not entered into commodity-money relations. At the same time, this phenomenon is very important when planning any production, since all customers of products in certain moment belong to the category of potential customers.

client in computer science

This word is also actively used in computer science. In this industry, a client is a computer system component that sends requests to a server. Such a component can be either hardware or software.

The term "client" has a rather ancient history, and although today this word means completely different concepts than in the old days, each of them continues to be relevant.

In ancient times, ruined citizens often became dependent on rich people - patrons, which meant receiving some material benefits (land allotment) mainly due to the loss of political independence and the performance of various duties, primarily military. Customer sign was the adoption of the generic name of the patron. Relationship client-patron were mutual. Later social dependency patron-client began to be used for entire communities and provinces ( clientele).

Definition of client

The term client has become significant in our time. If customer value means a person, customer definitions it is important to know the distribution of roles in relationships that have arisen between people. Word wikipedia client defines as follows:

Second sense customer receives later and today it means the consumer (subject) of services from someone, by whom is meant their producer (source of services in the sense of patron).

In the field of human relations, you can use the following customer description:

Customer is an individual or person using the services of another individual or legal entity, entering into an agreement with him business relationship. The same legal entity or entity may be a customer in one respect and a business entity serving the customer in another. Often used synonym for customer: consumer, customer, buyer, principal, counterparty, patient, victim.

Reverse client side(providing services) can be called differently depending on the scope: in trade - the seller, intermediary, in programming - the server, etc.

Client Role- a user of the services of a company, firm, institution, a regular buyer or customer.