Client-server technology. Client-server applications

Architecture terminal - main computer

Terminal architecture– host computer (terminal – host computer architecture) is the concept of an information network in which all data processing is carried out by one or a group of host computers.

Rice. 7.1. Architecture terminal - main computer

The architecture under consideration involves two types of equipment: the main computer, where network management, data storage and processing is carried out, and terminals, designed to transmit commands to the main computer to organize sessions and perform tasks, enter data to complete tasks and obtain results.

Peer-to-peer architecture

Peer-to-peer architecture(peer-to-peer architecture) is the concept of an information network in which its resources are dispersed across all systems. This architecture is characterized by the fact that all systems in it have equal rights.

Peer-to-peer networks include small networks where any workstation can simultaneously perform the functions of a file server and a workstation. In peer-to-peer LANs, disk space and files on any computer can be shared. For a resource to become shared, it must be shared using remote access services of networked peer-to-peer operating systems. Depending on how data protection is set up, other users will be able to use the files immediately after they are created. Peer-to-peer LANs are only good enough for small workgroups.

Rice. 7.2. Peer-to-peer architecture

Peer-to-peer LANs are the easiest and cheapest type of network to install. However, an increase in the number of computers on the network and an increase in the volume of data sent leads to the fact that network throughput becomes a bottleneck.

Client-server architecture

Client-server architecture(client-server architecture) is the concept of an information network in which the bulk of its resources are concentrated in servers serving their clients (Fig. 7.3.). The architecture in question defines two types of components: servers and clients.

Server is an object that provides services to other network objects upon their requests. Service is the process of serving customers.

Rice. 7.3. Client-server architecture

The server works on orders from clients and manages the execution of their jobs. After completing each job, the server sends the results to the client that sent the job.

The service function in the client-server architecture is described by a set of application programs, in accordance with which various application processes are performed.

A process that calls a service function using certain operations is called a client. This could be a program or a user.

Topology (configuration) is a way of connecting computers into a network. The type of topology determines the cost, security, performance and reliability of workstations, for which the time to access the file server matters.

There are three main topologies: common bus(Bus); ring(Ring) and star(Star).

Topology Common bus(Fig. 7.4.) involves the use of one cable to which all computers on the network are connected.

Rice. 7.4. Topology Common bus

In case of topology Common bus the cable is used by all stations in turn. Special measures are taken to ensure that when working with a common cable, computers do not interfere with each other transmitting and receiving data. All messages sent by individual computers are received and listened to by all other computers connected to the network. Work station selects messages addressed to her using address information. Reliability here is higher, since the failure of individual computers will not disrupt the functionality of the network as a whole. Troubleshooting in the network is difficult. In addition, since only one cable is used, if a break occurs, the entire network is disrupted. Bus topology is the simplest and most common network topology.

Ring is a LAN topology in which each station is connected to two other stations, forming a ring (Fig. 7.5.). Data is transferred from one workstation to another in one direction (along the ring). Each PC works as a repeater, relaying messages to the next PC, i.e. data is transferred from one computer to another as if in a relay race. If a computer receives data intended for another computer, it transmits it further along the ring, otherwise it is not transmitted further. It is very easy to make a request to all stations at the same time. The main problem with a ring topology is that each workstation must actively participate in the transfer of information, and if at least one of them fails, the entire network is paralyzed.

Rice. 7.5. Topology Ring

Star is a LAN topology (Fig. 7.6.), in which all workstations are connected to a central node (for example, a hub), which establishes, maintains and breaks connections between workstations.

Rice. 7.6. Star topology

The advantage of this topology is the ability to simply exclude a faulty node. However, if the central node fails, the entire network fails.

The star topology provides protection against cable breaks. If a workstation cable is damaged, it will not cause the entire network segment to fail. It also makes it easy to diagnose connectivity problems, since each workstation has its own cable segment connected to a hub. For diagnostics, it is enough to find a break in the cable that leads to a non-working station. The rest of the network continues to operate normally.

Thanks to the use of bridges, special devices that connect local networks with different structures, networks with a complex hierarchical structure can be built from the above types of structures.

Protocols. Addressing

To ensure consistent operation in data networks, various data communication protocols are used - sets of rules that the sending and receiving parties must adhere to for consistent data exchange.

Data transmission over a network, from a technical point of view, must consist of sequential steps, each of which has its own procedures or protocol. Thus, a strict sequence in performing certain actions is maintained. In addition, all these steps must be performed in the same sequence on each network computer. On the sending computer, actions are performed in a top-down direction, and on the receiving computer, from bottom to top.

The sending computer, in accordance with the protocol, performs the following actions: Breaks the data into small blocks called packets that the protocol can work with, adds address information to the packets so that the receiving computer can determine that this data is intended for it, prepares the data for transmission through the network adapter card and then via the network cable.

The recipient computer, in accordance with the protocol, performs the same actions, but only in reverse order: receives data packets from the network cable; transmits data to the computer via the network adapter card; removes from the packet all service information added by the sending computer, copies the data from the packet into a buffer - to combine it into the original block, transfers this data block to the application in the format that it uses.

Both the sending computer and the receiving computer need to perform each action in the same way so that the data received over the network matches the data sent.

If, for example, two protocols have different ways of breaking up data into packets and adding information (packet sequencing, timing, and error checking), then a computer running one of those protocols will not be able to successfully communicate with a computer running the other protocol. .

A consistent set of protocols at different levels, sufficient to organize internetworking, is called a protocol stack. There are many protocol stacks that are widely used in networks. These are stacks that are international and national standards, and proprietary stacks that have become widespread due to the prevalence of equipment from a particular company. Examples of popular protocol stacks include Novell's IPX/SPX stack, the TCP/IP stack used on the Internet and many networks based on the UNIX operating system, the OSI stack of the International Standards Organization, the DECnet stack of Digital Equipment Corporation, and several others.

Protocol stacks are divided into three levels:

– network;

– transport;

– applied.

Network protocols provide the following services: addressing and routing information, checking for errors, requesting retransmission, and establishing rules of interaction in a specific network environment. Below are the most popular network protocols.

DDP(Datagram Delivery Protocol - Datagram Delivery Protocol). The Apple data transfer protocol used in Apple Talk.

IP(InternetProtocol - Internet Protocol). A TCP/IP stack protocol that provides addressing and routing information.

IPX(Internetwork Packet eXchange) in NWLink. Novel NetWare protocol used for routing and forwarding packets.

NetBEUI(NetBIOS Extended User Interface - extended user interface of the basic network input/output system). Developed jointly by IBM and Microsoft, this protocol provides transport services for NetBIOS.

Transport protocols provide services for reliable data transportation between computers. Below are the most popular transport protocols.

ATP(Apple Talk Protocol - Apple Talk Transactional Protocol) and NBP (Name Binding Protocol). Apple Talk session and transport protocols.

NetBIOS(Basic network I/O system). NetBIOS Establishes a connection between computers, and NetBEUI provides data services for this connection.

SPX(Sequenced Packet eXchange) in NWLink. The Novel NetWare protocol used to provide data delivery.

TCP(Transmission Control Protocol). TCP/IP stack protocol responsible for reliable data delivery.

Application protocols are responsible for the interaction of applications. Below are the most popular application protocols.

AFP(Apple Talk File Protocol - Apple Talk File Protocol). Macintosh Remote File Management Protocol.

FTP(FileTransferProtocol - File Transfer Protocol). A TCP/IP stack protocol used to provide file transfer services.

NCP(NetWare Core Protocol - NetWare Basic Protocol). Novel NetWare client shell and redirectors.

SNMP(Simple Network Management Protocol). A TCP/IP stack protocol used to manage and monitor network devices.

HTTP(Hyper Text Transfer Protocol) – hypertext transfer protocol.

The most common protocol stack in Windows operating systems is TCP/IP.

Let's take a closer look at the principles of addressing computers operating via the TCP/IP protocol.

Each computer on TCP/IP networks has three levels of addresses: physical(MAC address), network(IP address) and symbolic(DNS name).

Physical, or the local address of a node, is determined by the technology with which the network to which the node belongs is built. For nodes included in local networks, this is the MAC address of the network adapter or router port, for example, 11-A0-17-3D-BC-01. These addresses are assigned by equipment manufacturers and are unique addresses because they are managed centrally. For all existing local network technologies, the MAC address has a 6-byte format: the upper 3 bytes are the identifier of the manufacturer, and the lower 3 bytes are assigned uniquely by the manufacturer itself.

Network, or an IP address consisting of 4 bytes, for example, 109.26.17.100. This address is used at the network layer. It is assigned by the administrator during the configuration of computers and routers. An IP address consists of two parts: the network number and the host number. The network number can be chosen arbitrarily by the administrator, or assigned on the recommendation of a special Internet division (Network Information Center, NIC), if the network must operate as an integral part of the Internet. Typically, Internet Service Providers obtain address ranges from NICs and then distribute them to their subscribers. The host number in the IP protocol is assigned independently of the local address of the host. The division of the IP address into the network number and host number fields is flexible, and the boundary between these fields can be set arbitrarily. A node can be part of several IP networks. In this case, the node must have several IP addresses, according to the number of network connections. An IP address does not characterize a single computer or router, but a single network connection.

Symbolic address, or DNS name eg SERV1.IBM.COM. This address is assigned by the administrator and consists of several parts, for example, machine name, organization name, domain name. This address is used at the application level, for example, in the FTP or telnet protocols.

LAN components. Network equipment and data transmission media

A computer network consists of three main hardware components and two software components that must work in harmony. For devices to operate correctly on the network, they must be installed correctly and operating parameters must be set.

The main hardware components of the network are the following:

1. Subscriber systems:

Computers (workstations or clients and servers);

Printers;

Scanners, etc.

2. Network equipment:

Network adapters;

Concentrators (hubs);

Routers, etc.

3. Communication channels:

Connectors;

Devices for transmitting and receiving data in wireless technologies.

Network adapters. To connect a PC to a network, a pairing device is required, which is called a network adapter, interface, module, or card (Fig. 7.7.). The network adapter has one connector for connecting a network cable.

The network adapter is inserted into a free socket (slot) on the motherboard. In most modern PCs, network adapters are integrated into the motherboard; in this case, the connector for connecting the network cable is located on the motherboard connector block.

Rice. 7.7. Network adapter

A network cable is connected to the adapter - a wire through which information is transferred over the local network. Various types of cables are used as a data transmission medium in a LAN: coaxial cable, shielded and unshielded twisted pair cable, and fiber optic cable. The most popular type of data transmission medium over short distances (up to 100 m) is becoming unshielded twisted pair(Fig. 7.8.), which is included in almost all modern standards and technologies of local networks and provides throughput up to 100 Mb/s (on category 5 cables). Fiber optic cable It is widely used both for building local connections and for forming backbones of global networks. Fiber optic cable can provide very high channel capacity (up to several Gb/s) and transmission over significant distances (up to several tens of kilometers without intermediate signal amplification).

Rice. 7.8. Twisted pair network cable

A twisted pair cable connects to the network adapter and other network devices using an RJ-45 connector (Fig. 7.9.)

Rice. 7.9. RJ-45 connector

It should be noted that the technology of wireless data transmission within a local network has now been widely developed. It has a number of advantages, especially when applied to mobile devices, but the main disadvantage of this technology is the data transfer speed.

LAN network equipment is based on 3 types of devices for connecting computers - hubs, switches And routers. Each is important and plays a different role in facilitating communication between networked computers. From the outside, these devices may look the same: small, metal boxes with many connectors or ports where ethernet cables are connected (Fig. 7.10.). The terms "hub", "switch" and "router" are often used interchangeably, but incorrectly - in fact, the devices are different from each other.

Rice. 7.10. Network switch

Network hub. Compared to switches and routers, hubs are the cheapest, most basic devices on a network. All data that enters one hub port is sent to all other ports. Consequently, all computers connected to one hub “see” each other on the network. The hub does not pay any attention to the transmitted data, it simply sends it to other ports. The value of a hub is that it is fairly cheap and offers a quick and easy way to connect computers together into a small network.

Network switch. A switch works in many ways similar to a hub, but it does it more efficiently. Every data packet transmitted on a network has a source and a destination MAC address. The switch has the ability to “remember” the address of each computer connected to its ports and act as a regulator - only transfer data to the recipient’s computer and not to any others. This can have a significant positive effect on the performance of the entire network by eliminating unnecessary transmissions and freeing up network bandwidth. A switch can be thought of as the central component of one network. A switch differs from a hub in that it does not retransmit frames to all other devices - it creates a direct connection between the sending and receiving devices.

Network router. Compared to switches, routers are slow and relatively expensive. A router is an intelligent device that connects two or more networks and also connects a local network to a global network. Because there can be many possible paths for packets to be delivered within a wide area network, a router takes many criteria into account when determining the path to send a data packet.

Work order

Setting up a network connection in Windows XP

If. The network adapter and drivers included in the computer are installed correctly, then the local network connection will appear in the system automatically. The task is to configure this connection. To display a complete list of network connections, select a section: StartSettingsControl Panel(Fig. 7.11.)

Rice. 7.11. Control Panel Dialog Box

The drop-down list displays all network connections of this computer (Fig. 7.12.). Select menu item Local network connections, indicated by the icon.

Rice. 7.12. Network Connections Dialog Box

Right-click and select from the context menu Properties In the dialog box that opens (Fig. 13), the following components are installed by default:

– Client for Microsoft networks;

– File and printer access service for Microsoft networks;

– QoS Packet Scheduler;

– Internet Protocol TCP/IP.

Rice. 7.13. Local Area Connection Properties Dialog Box

Select component Internet Protocol TCP/IP and click on the button Properties in the dialog box. In the new dialog box that opens (Figure 14), configure the computer’s IP address, subnet mask, gateway and DNS servers.

Rice. 7.14. Internet Protocol (TCP/IP) Properties Dialog Box

If your computer is connected to a multi-peer network in which a dedicated server operates, the DHCP (Dynamic Host Configuration Protocol) protocol can be configured on this server. This is a network protocol that allows client computers to automatically obtain an IP address and other parameters necessary to operate on a TCP/IP network. If the DHCP protocol is activated on your network server, then the entire network connection setup comes down to selecting the “Obtain an IP address automatically” option. Otherwise, you will have to configure the address manually.

For each computer on the network, you must select its own IP address, and so that these addresses are on the same logical IP network. IP address consists of two parts: network number and node number. In the case of an isolated network, its address can be selected by the administrator from the address blocks specially reserved for such networks (192.168.0.0÷16, 172.16.0.0÷12 or 10.0.0.0÷8). If the network is to operate as an integral part of the Internet, then the network address is issued by the provider. An IP address cannot begin with the number 127, since addresses in the range 127.x.x.x are reserved to designate the so-called “local host”. Contacting the address 127.0.0.1 leads to the activation of the so-called “internal loop”, forming a network of one computer, which is used for self-diagnosis of network protocols.

Subnet mask in simple peer-to-peer networks, typically expressed as 255.255.255.0. In the “default gateway” field, you must enter the IP address of the computer that controls access from the local network to the global Internet.

DNS server– a computer that processes DNS queries - converting IP addresses (for example 192.168.0.4) into domain name addresses (for example www.google.com). In the case of a multi-peer network, the DNS server address either matches the gateway address or is issued by the Internet provider. In the case of a peer-to-peer network, the DNS server address is left blank.

After defining all the necessary settings, click the “OK” button. If the IP address you have selected is already in use on the network, then shortly after clicking the “OK” button, the operating system will issue a corresponding warning.

To complete the network setup, select the computer's network name and workgroup (domain). To do this: on the desktop (or in the Start menu), find the “My Computer” icon, right-click on it, select “Properties”, and in the window that opens, go to the “Computer name” tab (Fig. 7.15) . In the “Description” field, enter any text to identify your computer to network users. Clicking on the “Change” button opens a dialog box (Fig. 16), which allows you to give your computer a network name and join it to a specific workgroup or domain.

Rice. 7.15. System Properties: Computer Name Dialog Box

Rice. 7.16. Change Computer Name Dialog Box

Using Commands command lineAnd WindowsXP to check network health and determine current settings.

To launch the command line, click on the button in the main Windows menu Start → Run, and in the dialog box that opens, type “cmd”. The general view of the command line window is shown in Fig. 7.17.

Rice. 7.17. Windows Command Prompt Window

To obtain information about the TCP/IP protocol settings, use the “ipconfig” command (Fig. 7.18.). The command provides information about the basic settings of all network connections configured on the computer. More complete information, including names and physical addresses (MAC addresses) of network adapters, computer network name, etc., can be obtained by using the “ipconfig” command with the “-all” switch.

Rice. 7.18. Result of executing the ipconfig command

To diagnose the performance of the entire chain Operating system of the first computer → network adapter of the first computer → cable → hub (switch) → cable → network adapter of the second computer → operating system of the second computer The "ping" command is used. The command argument uses the IP address (or domain address) of the remote computer. If echo packets are successfully exchanged, information about the response time of the remote computer, the number of lost packets, etc. will appear on the screen (Fig. 7.19.)

Rice. 7.19. Result of ping command

General Resource Usage in Windows XP

An important advantage of local computer networks is the ability to exchange files between different workstations without using removable media, as well as sharing equipment (printers, scanners, etc.). The Windows XP operating system allows you to easily access the resources of other computers and organize shared access to the resources of your local computer.

To view computers located on the local network, find the “Network Neighborhood” icon on the desktop or in the main menu and double-click on it with the left mouse button. In the window that opens, select: Entire network → Microsoft Windows Network.

The window that opens (Fig. 7.20) contains a list of local network workgroups. Having selected one of the workgroups, you proceed to an overview of the workstations (computers) included in this workgroup (Fig. 7.21.). By selecting one of the workstations, you get access to the list of shared resources of this workstation (Fig. 7.22.). This list will list both shared data folders and shared equipment (printers, scanners, etc.). Next, moving through the folder structure of the remote workstation, you can copy the files located there, and with the appropriate settings, change them, delete or copy files from your computer to the remote computer.

Rice. 7.20. List of local network workgroups

Rice. 7.21. List of workgroup workstations

Rice. 7.22. List of shared workstation resources

An alternative way to access a folder on a remote computer is connecting a network drive. In this case, the shared folder will be added to the system as a logical drive (such as drives “C”, “D”). To connect a network drive in the window of any open Windows folder, select in the main menu Tools → Map network drive. The dialog box shown in Fig. 7.23 will open.

Rice. 7.23. Connecting a network drive

In the upper input field, select the letter for the network drive, and in the lower input field, enter the server name and the name of the network folder in the format “\\server\share” (the server name can be replaced with an IP address). By checking the box " Restore on login", you will activate the option to reconnect the network drive the next time the system boots.

Rice. 7.24. My Computer dialog box with mapped network drives

In order to disconnect a previously connected network drive, in the window of any open Windows folder, select from the main menu Tools → Disconnect network drive, select the desired drive and press OK.

In order to be able to use peripheral equipment connected to a remote computer (for example, a printer), it is necessary to install drivers for this equipment on the system.

Network printer driver installation process: Click . In the dialog box that opens, select Installing the Printer, after which it will start Add Printer Wizard. In the first dialog box of the wizard, click Further. In the second dialog box of the wizard, select Network printer or printer connected to another computer and also click Further. The dialog box shown in Fig. 7.25 will open.

Rice. 7.25. Add Printer Wizard

If you do not know the domain name or IP address of the computer to which the printer you are interested in is connected, select Printer overview and press Further, after which the system will search for available printers on the local network. Depending on the size of the local network, this process can be quite lengthy. To speed it up, select “Connect to a printer or browse for printers” and in the “name” input field, enter the domain name or IP address of the computer to which the network printer is connected, in the following form: “\\host\” (“\ \xxx.xxx.xxx.xxx\"). In this case, the search for printers will be performed only on the computer you specified and will take much less time. After the network printer is detected, install its drivers on the system by clicking the button Install.

Creation shared folders.

In the dialog box My computer or Conductor find the folder you are interested in, right-click on it and select the item in the context menu that appears Properties. In the dialog box that opens (Fig. 7.26.), go to the tab Access.

Rice. 7.26. Access tab of the Folder Options dialog box

Check the box next to the item Share this folder. You can assign a network name to an open folder - the name under which this folder will be displayed when viewing resources on your computer from other computers on the network. It should be noted that if you put a dollar sign ($) at the end of the network name, the network folder will not be visible when viewing your computer's resources from the network, but it can be mapped as a network drive.

Sharing a folder allows network users to only copy files from your computer and open them in read mode. To give them the ability to change and delete files located in a shared folder on your computer, check the box next to “Allow editing files over the network.”

To allow network users to use the printer installed on your computer, run Start → Settings → Printers and Faxes. Right-click on the printer you are interested in, select the item from the context menu Properties. In the dialog box that opens, go to the tab Access(Fig. 7.27.). Access to the printer can be opened in the same way as access to a folder - by checking the box next to the item Share this printer and selecting its network name.

Rice. 7.27. Access tab of the Printer Properties dialog box

Control questions

1. What is a computer network?

2. Name the main network topologies. Which one is the most reliable and why?

3. What is the function of the server? Tell us about client-server technology.

4. List the main network hardware components and their purposes.

5. What is a network protocol? Explain the TCP/IP protocol.

6. How to find out the basic network settings of your computer?

7. How can I access a shared folder on a remote computer?

8. How to install a network printer in the system?

9. How do I share a folder on your computer?

The report must contain: the title and purpose of the work, a list of software used, the results of completing the tasks and the answer to the individual question of the corresponding option.

Tasks

1. Determine your computer's IP address, its network name, and the workgroup it belongs to.

2. Create a new folder on your local computer. Share the created folder.

3. Create a text file in a folder in which you place the answers to task 1, as well as the individual question of your option.

4. Make a list of folders open for public access on the department’s server.

5. Connect one of the folders open for public access on the department’s server as a network drive. Take a screenshot confirming the connection of the network drive, save it to a graphic file, which you place in the folder created in task 2.

6. Install a network printer in the system connected to the department server.

7. Allow network users to modify the files contained in the folder created in task 2.

8. Copy into the folder created in task 2 a text file created by another student in your group with the answer to the questions of his option. Find the required file on this student’s computer.

9. After demonstrating the results of your work to the teacher, delete the files and folders you created and the network printer, and disconnect the network drives.

Individual questions

Option 1: Determine the architecture of the department's local network.

Option 2: Determine the department's local network topology.

Option 3: Find the MAC address of your computer's network adapter.

Option 4: Determine the average response time of the department server

Option 5: Determine whether the IP address 127.168.0.1 is valid on the local network.

Option 6: Determine whether the IP address 168.127.1.0 is valid on the local network.

Option 7: Determine the type of network cable used to build the local network in your classroom.

Option 8: Determine whether a DHCP server is operating on the department’s network.

Option 9: Determine the DNS server address of the department’s local network.

Option 10: How can you access a file located on a remote computer in a shared folder called “shared$”.

©2015-2019 site
All rights belong to their authors. This site does not claim authorship, but provides free use.
Page creation date: 2016-04-27

DBs operating using FILE SERVER technology;

DBs operating using CLIENT-SERVER technology.

File server


- Access to the database (query)
- Transferring data while blocking access to other users
- Data processing on the user's computer

For clarity, let's look at specific examples. Let's say you need to view sent payment orders for the period from May 19 to May 25 in the amount of 5,000 rubles. The user will need to launch a client application on his computer that works in the database with payment orders, and enter the necessary selection criteria. After that, a file containing all documents of this type for the entire period for any amounts will be downloaded to your computer from the database server and loaded into RAM. A client application running on the user’s computer that works with the database will process this information (sort it out) and then provide a response (a list of payment orders that meet your criteria will appear on the screen). After this, you will select the desired payment order and try to edit (change) one field in it - for example, the date. During editing, the data source is blocked, that is, the entire file containing this document. This means that the file will either not be available to other users at all, or will only be available in view mode. Moreover, this kind of capture does not even occur at the record level, that is, one document, but the entire file is locked - that is, the entire table containing similar documents. Only after this field is fully processed and the editing mode is exited, this payment order file will be unlocked from being captured by the user. If the data is stored in larger objects, for example, one file contains payment orders for both the receipt of funds and the sending of funds, then even more of the information will not be available. You will work with one "date" field in one document - the rest of the enterprise employees will wait until you finish.

The disadvantages of the FILE SERVER system are obvious:

    Very high load on the network, increased bandwidth requirements. In practice, this makes it almost impossible for a large number of users to work with large amounts of data simultaneously.

    Data processing is carried out on the users' computer. This entails increased hardware requirements for each user. The more users there are, the more money you will have to spend on equipping their computers.

    Locking data when editing by one user makes it impossible for other users to work with this data.

    Safety. To be able to work with such a system, you will need to give each user full access to the entire file, in which he may be interested in only one field.

    Client-server

    Processing a single user request:
    - Access to the database (SQL query)
    - Transmission of the response - the result of processing


    If it is necessary to process information stored in the database, a client application running on the user's computer that works with the database generates a query in the SQL language (name from the initial letters - Structured Query Language). The database server accepts the request and processes it itself. No data array (file) is transmitted over the network. After processing the request, only the result is transferred to the user's computer - that is, in the previous example, a list of payment orders that meet the necessary criteria. The file itself, in which the data that served as the source for processing was stored, remains unblocked for access by the server itself at the request of other users.

    In serious client-server DBMSs, there are additional mechanisms that reduce the load on the network and reduce the requirements for user computers. As an example, we will give stored procedures - that is, entire programs for processing data stored in the database. In this case, not even SQL expressions are transferred from the user to the server - a function call with call parameters is transferred. Thus, the user's workplace is further simplified, the logic of the program is transferred to the server. The user space becomes just a means of displaying information. All this means a further reduction in the load on the network and user workstations.

    Thus, all of the above disadvantages of the FILE-SERVER scheme are eliminated in the CLIENT-SERVER architecture:

      Data arrays are not transferred over the network from the database server to the user’s computer. Network bandwidth requirements are reduced. This makes it possible for a large number of users to work simultaneously with large amounts of data.

      Data processing is carried out on the database server, and not on the users’ computer. This allows the use of simpler, and therefore cheaper, computers at client sites.

      Data is not blocked (captured) by one user.

      The user is provided with access not to the entire file, but only to the data from it that the user has the right to work with.

      Having considered the difference between a FILE SERVER and a CLIENT SERVER, we can complete our consideration of the concept of “information storage”. It is important to emphasize that the operation of the corporate system largely depends on the type of DBMS used. It is quite obvious that for large enterprises, with a large number of users, with a huge number of records in the database, the file-server scheme is completely unacceptable. On the other hand, there are differences in databases in other parameters and capabilities:

        types of data that can be stored in the database (numbers, dates, text, pictures, video, sound, etc.);

        on technologies organized by the database itself to access data in the database and the level of information protection from unauthorized access;

        on the provided development tools and methods that can be used to design any information system based on this database;

        on the provided tools and methods for analyzing information (data), which can be applied in an information system based on this database;

        in terms of reliability and stability, that is (roughly) the number of records (filled fields) in the database, which ensures a reliable and uninterrupted ability to access, change, and analyze information in the database;

        by speed - time spent accessing and processing information;

        if possible, organize work on computers from different manufacturers, that is, compatibility with other platforms and operating systems;

        by the level of support (service) provided by the database developer or its authorized dealer;

        on the availability of good tools for creating applications that use this database, etc.

        Why is it not profitable to invest in a file server solution today? Today the future path of database development is already obvious. Multi-level client-server systems are appearing, with very thin clients, removing any restrictions from client stations, both in terms of performance and platform and operating system. If for a client-server solution further development is seen quite clearly, and the transition from a client-server to a multi-level client-server is not problematic, then for a file server a simple transition to a client-server represents a huge problem and colossal labor costs, if this suddenly turns out to be possible at all.

DB, on structural SQL query language(Structured Query Language), which is an industry standard in the world of relational databases. The remote server receives the request and forwards it to the SQL database server. SQL server is a special program that manages a remote database. The SQL server interprets the query, executes it in the database, generates the result of the query, and issues it to the client application. In this case, the resources of the client computer are not involved in the physical execution of the request; the client computer only sends a request to the server database and receives the result, after which it interprets it as necessary and presents it to the user. Since the result of the request is sent to the client application, only the data that the client needs “travels” through the network. As a result, the load on the network is reduced. Since the request is executed where the data is stored (the server), there is no need to send large batches of data. In addition, the SQL server, if possible, optimizes the received query so that it is executed in the minimum time with the least overhead [[3.2], [3.3]]. the system is shown in Fig. 3.3.

All this increases system performance and reduces the time it takes to wait for a request result. When queries are executed by the server, the degree of data security is significantly increased, since data integrity rules are defined in the database on the server and are the same for all applications that use this database. This eliminates the possibility of defining conflicting rules for maintaining integrity. The powerful transaction engine supported by SQL servers makes it possible to prevent simultaneous changes to the same data by different users and provides the ability to roll back to the original values ​​when making changes to the database that ended abnormally [[3.2], [3.3]].


Rice. 3.3. Client-server architecture

  • There is a local network consisting of client computers, each of which has a client application installed for working with the database.
  • On each of the client computers, users have the ability to run the application. Using the user interface provided by the application, it initiates a call to the DBMS located on the server to retrieve/update information. For communication, a special query language SQL is used, i.e. Only the request text is transmitted over the network from the client to the server.
  • The DBMS initiates calls to data located on the server, as a result of which all data processing is carried out on the server and only the result of the request is copied to the client computer. Thus, the DBMS returns the result to the application.

Let's look at what the separation of functions between the server and client looks like.

  • Client application functions:
    • Sending requests to the server.
    • Interpretation of query results received from the server.
    • Presenting the results to the user in some form (user interface).
  • Server side functions:
    • Receiving requests from client applications.
    • Interpretation of requests.
    • Optimization and execution of database queries.
    • Sending results to the client application.
    • Ensuring a security system and access control.
    • Database integrity management.
    • Implementation of stability of multi-user operating mode.

So-called “industrial” DBMSs operate in the client-server architecture. They are called industrial because it is the DBMS of this class that can ensure the operation of information systems on the scale of a medium and large enterprise, organization, or bank. The category of industrial DBMS includes MS SQL Server, Oracle, Gupta, Informix, Sybase, DB2, InterBase and a number of others [[3.2]].

As a rule, a SQL server is maintained by an individual employee or a group of employees (SQL server administrators). They manage the physical characteristics of databases, perform optimization, configuration and redefinition various database components, create new databases, change existing ones, etc., and also issue privileges (permissions to a certain level of access to specific databases, SQL server) to various users [[3.2]].

Let's look at the main advantages of this architecture compared to the file-server architecture:

  • Network traffic is significantly reduced.
  • The complexity of client applications is reduced (most of the load falls on the server part), and, consequently, the requirements for the hardware capacity of client computers are reduced.
  • The presence of a special software tool - a SQL server - leads to the fact that a significant part of design and programming tasks has already been solved.
  • The integrity and security of the database is significantly increased.

Disadvantages include higher financial costs for hardware and software, and also the fact that a large number of client computers located in different places causes certain difficulties with timely updating of client applications on all client computers. Nevertheless, the client-server architecture has proven itself well in practice; at the moment, a large number of databases built in accordance with this architecture exist and operate.

3.4. Three-tier (multi-tier) client-server architecture.

Three-link (in some cases multi-link) architecture(N-tier or multi- three-tier architecture? Now, when business logic changes, there is no longer a need to change client applications and update them for all users. In addition, the requirements for user equipment are reduced as much as possible.

So, as a result, the work is structured as follows:

  • The database in the form of a set of files is located on the hard drive of a specially dedicated computer (network server).
  • The DBMS is also located on the network server.
  • There is a specially dedicated application server on which the business analysis software (business logic) is located [[3.1]].
  • There are many client computers, each of which has a so-called “thin client” installed - a client application that implements the user interface.
  • On each of the client computers, users have the opportunity to run an application - a thin client. Using the user interface provided by the application, it initiates a call to the business intelligence software located on the application server.
  • The application server analyzes user requirements and generates queries to the database. For communication, a special query language SQL is used, i.e. Only the request text is transmitted over the network from the application server to the database server.
  • The DBMS encapsulates within itself all information about the physical structure of the database located on the server.
  • The DBMS initiates calls to data located on the server, as a result of which the result of the query is copied to the application server.
  • The application server returns the result to the client application (user).
  • The application, using the user interface, displays the result of the queries.

Client-server architecture(client-server architecture) is the concept of an information network in which the bulk of its resources are concentrated in servers serving their clients. The architecture in question defines two types of components: servers and clients.

Server - is an object that provides service to other network objects upon their requests. Service is a customer service process.

Figure Client-server architecture

The server works on orders from clients and manages the execution of their jobs. After completing each job, the server sends the results to the client that sent the job.

The service function in the client-server architecture is described by a set of application programs, in accordance with which various application processes are performed.

A process that calls a service function using certain operations is called client. This could be a program or a user. Clients- these are workstations that use server resources and provide convenient user interfaces. User Interfaces These are the procedures for how a user interacts with a system or network.

Figure Client-server model

The client is the initiator and uses email or other server services. In this process, the client requests a service, establishes a session, gets the results it wants, and reports completion.

IN networks with a dedicated file server on a dedicated standalone PC a server network operating system is installed. This PC becomes server. Software ( BY), installed on a workstation, allows it to exchange data with the server. The most common network operating systems are:

In addition to the network operating system, network applications are needed to take advantage of the network's benefits.

Server-based networks have better performance and increased reliability. The server owns the main network resources that are accessed by other workstations.

In modern client-server architecture, there are four groups of objects: clients, servers, data and network services. Clients are located in systems at user workstations. Data is mainly stored on servers. Network services are shared servers and data. In addition, services manage data processing procedures.

Client-server architecture networks have the following advantages:

Allows you to organize networks with a large number of workstations;

Provide centralized management of user accounts, security and access, which simplifies network administration;


Efficient access to network resources;

The user needs one password to log into the network and to gain access to all resources to which user rights apply.

Along with the advantages of the client-server network, the architecture also has a number of disadvantages:

A server malfunction can make the network inoperable, or at least a loss of network resources;

Require qualified personnel for administration;

They have a higher cost of networks and network equipment.

Every person who has worked with a computer has heard about client-server technology. This technology is based on two main concepts: client and server. Client is a computer that makes a request to the server to perform any actions or provide any information. A server is a computer, usually more powerful than the client computer. The operating model of such a system is as follows: the client makes a request to the server, the server (server part) receives the request, executes it and sends the result to the client (client part).

The server can serve several clients simultaneously. In this case we talk about multi-user mode. Just don’t take the word “simultaneously” in the literal sense. Requests are executed by the server sequentially. If more than one request arrives at the same time, the requests are queued. In this case, the queue is a list of outstanding client requests. Sometimes requests may have priorities. Priority is the level of "importance" of executing a request. Requests with higher priorities should be completed earlier.

There is a small exception regarding sequential processing. The Windows operating system is multitasking and multithreaded. Multitasking is the ability of an operating system to execute several user applications (programs).

This means that several tasks can be running on the server, each of which can execute its own separate request. Multithreading makes it possible to execute multiple requests within a single task. What does this give? - There is an increase in server performance.

The request execution cycle consists of sending a request and response between the client and the server and directly executing this request on the server.

Typically, a query (complex query) takes longer to complete than the time it takes to forward the query and result. Therefore, servers use systems for distributing transactions (requests) between domains (parts) of the server. A transaction is a set of commands that are either all executed or none are executed. A domain is a server element. Often, a server at the physical level is not one, but a group of computers combined into one system to support any operations. In this case, the domain is the computer that is part of the server architecture.

There are concepts for building a client-server system:

1) Weak client - powerful server - all information processing is carried out entirely by the server. The server sends the finished result, which does not require additional processing. The client only conducts a dialogue with the user: creates a request, sends a request, accepts a request and displays information on the screen (to a printer, to a file).

2) Strong client - part of the information processing is delegated to the client.

A simple example: a user needs a list of company employees, sorted by last name. In the first case, the server, upon a client request, retrieves surnames (for example, from a database) and sorts them itself. The finished sorted list is sent to the client. The client only needs to output to the screen. In the second case, the server only retrieves last names and sends the data to the client. The client sorts the list and displays it on the screen.

But that's not all. Let's say the user wanted to sort the resulting list by salary level. In the first case, the client generates a new request to the server, the server executes it and sends a ready response to the client, which only displays it on the screen. In the second case, the client sorts the list itself without contacting the server. Naturally, in the second case the server will be less loaded.

There is another important concept - "waiting time". "Waiting time" is the time after which a user, having sent a request to the server, will receive a response from it. Waiting time is the most important indicator of the performance of a system that implements the client-server concept.

When data is partially processed on the client, the "waiting time" is less. It is smaller due to simplification of the request and its execution time. Hence, there is less waiting in the queue to execute the request.

Of course, the final processing time on the client may be slightly higher due to the difference in server performance. This may result in slightly longer waiting times. Ultimately, it is still more profitable, because... the waiting time in the request queue on the server is less.

Many servers cannot withstand the load (the “pressure” of requests) and simply freeze. In this case, there are two alternative ways: increasing productivity and transferring part of the data operations to the client. As a rule, increasing productivity is a much more expensive operation, and also, in its sense, finite. All that remains is to “unload” the server and transfer part of the data processing to the client.

P.S. Often, a number of organizations deliberately use outdated computers as servers. They are good for storing file storage, print servers (an office printer is connected to it), WEB servers (Internet servers), small databases (server part). This is justified from an economic point of view.

The use of the most powerful computers as servers is advisable in the banking sector, because the volume of payments is constantly increasing. Accordingly, the required amount of computing resources increases. The “struggle” for a few percent increase in productivity is justified here.

Sergey SOKOLOV (BSUIR)