Client-server technology. Client-server technologies Client-server technology includes

We will create further distributed computing systems using client-server technology. This technology provides a unified approach to the exchange of information between devices, be it computers located on different continents and connected via the Internet or Arduino boards lying on the same table and connected by twisted pair.

In future lessons, I plan to talk about creating information networks using:

  • ethernet LAN controllers;
  • WiFi modems;
  • GSM modems;
  • Bluetooth modems.

All of these devices communicate using a client-server model. The same principle is used to transfer information on the Internet.

I do not pretend to fully cover this voluminous topic. I want to give the minimum information necessary to understand the following lessons.

Client-server technology.

Client and server are programs located on different computers, in different controllers and other similar devices. They interact with each other through a computer network using network protocols.

The server programs are service providers. They constantly wait for requests from client programs and provide them with their services (transfer data, solve computational problems, control something, etc.). The server must be constantly on and "listen" to the network. Each server program can usually fulfill requests from several client programs.

The client program is the initiator of the request, which can be made at any time. Unlike the server, the client does not have to be constantly on. It is enough to connect at the time of the request.

So, in general terms, the client-server system looks like this:

  • There are computers, Arduino controllers, tablets, cell phones and other smart devices.
  • All of them are included in a common computer network. Wired or wireless, it doesn't matter. They can even be connected to different networks, interconnected through a global network, for example, via the Internet.
  • Some devices have server software installed. These devices are called servers, must be constantly on, and their task is to process requests from clients.
  • Other devices run client programs. These devices are called clients, and they initiate requests to servers. They are turned on only at the moments when it is necessary to contact the servers.

For example, if you want to turn on the iron from your cell phone via WiFi, the iron will be the server, and the phone will be the client. The iron must be constantly connected to the outlet, and you will run the control program on the phone as needed. If you connect a computer to the iron's WiFi network, you can also control the iron using a computer. This will be another client. A WiFi microwave oven added to the system will be the server. And so the system can be expanded indefinitely.

Data transmission in packets.

Client-server technology is generally intended for use with large information networks. From one subscriber to another, data can travel a complex path through different physical channels and networks. The data delivery path may vary depending on the state of individual network elements. Some network components may not work at this moment, then the data will go in a different way. Delivery times may vary. The data may even disappear, not reaching the addressee.

Therefore, a simple transfer of data in a loop, as we transferred data to a computer in some previous lessons, is completely impossible in complex networks. Information is transmitted in limited portions - packets. On the transmitting side, the information is split into packets, and on the receiving side, it is “glued” from packets into solid data. The packet size is usually no more than a few kilobytes.

The package is analogous to a regular mail. It also, in addition to information, must contain the address of the recipient and the address of the sender.

The package consists of a header and an informational part. The header contains the addresses of the recipient and the sender, as well as the service information necessary for “gluing” packets on the receiving side. The network equipment uses the header to determine where to send the packet.

Packet addressing.

There is a lot of detailed information on this topic on the Internet. I want to tell you as close to practice as possible.

Already in the next lesson, to transfer data using client-server technology, we will have to specify information for addressing packets. Those. information where to deliver data packets. In general, we will have to set the following parameters:

  • Device IP address;
  • subnet mask;
  • domain name;
  • IP address of the network gateway;
  • MAC address;
  • port.

Let's figure out what it is.

IP addresses.

Client-server technology assumes that all subscribers of all networks in the world are connected to a single global network. In fact, in many cases this is the case. For example, most computers or mobile devices are connected to the internet. Therefore, the addressing format is used, designed for such a huge number of subscribers. But even if the client-server technology is used in local networks, the accepted address format is still preserved, with obvious redundancy.

Each point of connection of the device to the network is assigned a unique number - IP-address (Internet Protocol Address). The IP address is not assigned to the device (computer), but to the connection interface. In principle, devices can have multiple connection points, which means several different IP addresses.

The IP address is a 32-bit number or 4 bytes. For clarity, it is customary to write it in the form of 4 decimal numbers from 0 to 255, separated by dots. For example, my server's IP address is 31.31.196.216.

In order to make it easier for network equipment to build a route for delivering packets, logical addressing has been introduced into the IP-address format. The IP address is split into 2 logical fields: the network number and the host number. The sizes of these fields depend on the value of the first (most significant) octet of the IP-address and are divided into 5 groups - classes. This is the so-called classful routing method.

Class Most significant octet Format

(C-net,
Y-node)

Start address End address Number of networks Number of nodes
A 0 S.U.U.U 0.0.0.0 127.255.255.255 128 16777216
B 10 S.S.U.U 128.0.0.0 191.255.255.255 16384 65534
C 110 S.S.S.U 192.0.0.0 223.255.255.255 2097152 254
D 1110 Group address 224.0.0.0 239.255.255.255 - 2 28
E 1111 Reserve 240.0.0.0 255.255.255.255 - 2 27

Class A is intended for use in large networks. Class B is used in medium sized networks. Class C is for networks with a small number of nodes. Class D is used to refer to groups of nodes, while Class E addresses are reserved.

There are restrictions on the choice of IP addresses. I considered the following as the main ones for us:

  • The address 127.0.0.1 is called loopback and is used to test programs on the same device. Data sent to this address is not transmitted over the network, but is returned to the upper-level program as received.
  • "Gray" addresses are IP addresses allowed only for devices operating in local networks without Internet access. These addresses are never processed by routers. They are used in local networks.
    • Class A: 10.0.0.0 - 10.255.255.255
    • Class B: 172.16.0.0 - 172.31.255.255
    • Class C: 192.168.0.0 - 192.168.255.255
  • If the network number field contains all 0s, then this means that the node belongs to the same network as the node that sent the packet.

Subnet masks.

With a classful routing method, the number of network and host address bits in an IP address is specified by the class type. And there are only 5 classes, actually 3 are used. Therefore, the class-based routing method in most cases does not allow optimal selection of the network size. Which leads to wasteful use of the IP address space.

In 1993, a classless routing method was introduced, which is currently the main one. It allows you to flexibly and therefore rationally select the required number of network nodes. This addressing method uses variable length subnet masks.

A network node is assigned not only an IP address, but also a subnet mask. It is the same size as the IP address, 32 bits. The subnet mask determines which part of the IP address belongs to the network and which part to the host.

Each bit of the subnet mask corresponds to a bit of the IP address in the same bit. A one in the mask bit indicates that the corresponding bit of the IP address belongs to the network address, and the mask bit with a value of 0 indicates that the IP address bit belongs to the host.

When transmitting a packet, a node uses a mask to extract the network part from its IP address, compares it with the destination address, and if they match, this means that the sending and receiving nodes are on the same network. Then the package is delivered locally. Otherwise, the packet is sent over the network interface to another network. I emphasize that the subnet mask is not part of the package. It only affects the node's routing logic.

Essentially, a mask allows one large network to be split into multiple subnets. The size of any subnet (number of IP addresses) must be a multiple of a power of 2. That is, 4, 8, 16, etc. This condition is determined by the fact that the bits of the fields of the addresses of the network and nodes must go in a row. You cannot set, for example, 5 bits - the network address, then 8 bits - the host address, and then again the network addressing bits.

An example of a notation for a network with four nodes looks like this:

Network 31.34.196.32, mask 255.255.255.252

A subnet mask always consists of consecutive ones (signs of a network address) and consecutive zeros (signs of a host address). Based on this principle, there is another way to record the same address information.

Network 31.34.196.32/30

/ 30 is the number of ones in the subnet mask. In this example, two zeros are left, which corresponds to 2 bits of the node address or four nodes.

Network size (number of nodes) Long mask Short mask
4 255.255.255.252 /30
8 255.255.255.248 /29
16 255.255.255.240 /28
32 255.255.255.224 /27
64 255.255.255.192 /26
128 255.255.255.128 /25
256 255.255.255.0 /24
  • The last number of the first subnet address must be divisible by the size of the network.
  • The first and last subnet addresses are service ones and cannot be used.

Domain name.

It is inconvenient for a person to work with IP addresses. These are sets of numbers, and a person is used to reading letters, even better connectedly written letters, i.e. the words. To make it easier for people to work with networks, a different system for identifying network devices is used.

Any IP address can be assigned an alphabetic identifier that is more understandable to humans. The identifier is called the domain name or domain.

A domain name is a sequence of two or more words separated by periods. The last word is a first-level domain, the penultimate one is a second-level domain, and so on. I think everyone knows about it.

Communication between IP addresses and domain names occurs through a distributed database using DNS servers. Every second-level domain owner must have a DNS server. DNS servers are united in a complex hierarchical structure and are able to exchange data on the correspondence between IP addresses and domain names.

But all this is not so important. The main thing for us is that any client or server can access a DNS server with a DNS request, i.e. with a request for matching IP address - domain name or vice versa domain name - IP address. If the DNS server has information about the correspondence between the IP address and the domain, then it responds. If it does not know, then it looks for information on other DNS servers and then informs the client.

Network gateways.

A network gateway is a hardware router or software for interfacing networks with different protocols. In general, its task is to convert protocols of one type of network to protocols of another network. Typically, networks have different physical media.

An example is a local area network of computers connected to the Internet. Within their local network (subnet), computers communicate without the need for any intermediate device. But as soon as the computer needs to connect to another network, for example to access the Internet, it uses a router that acts as a network gateway.

The routers that anyone with a wired internet connection has is one example of a network gateway. A network gateway is the point through which Internet access is provided.

In general, using a network gateway looks like this:

  • Let's say we have a system of several Arduino boards connected via a local Ethernet network to a router, which in turn is connected to the Internet.
  • On the local network, we use "gray" IP-addresses (it is written about this above), which do not allow access to the Internet. The router has two interfaces: our local network with a "gray" IP address and an interface for connecting to the Internet with a "white" address.
  • In the node configuration, we specify the gateway address, i.e. The white IP address of the router interface connected to the Internet.
  • Now, if a router receives a packet with a request to receive information from the Internet from a device with a "gray" address, it replaces the "gray" address in the packet header with its "white" one and sends it to the global network. Having received a response from the Internet, it replaces the "white" address with the "gray" one memorized during the request and sends the packet to the local device.

MAC address.

The MAC address is a unique identifier for devices on a local network. As a rule, it is written at the equipment manufacturer's factory to the permanent memory of the device.

The address consists of 6 bytes. It is customary to write it in hexadecimal notation in the following formats: c4-0b-cb-8b-c3-3a or c4: 0b: cb: 8b: c3: 3a. The first three bytes are the manufacturer's unique identifier. The rest of the bytes are called "Interface number" and their meaning is unique for each specific device.

The IP address is logical and set by the administrator. A MAC address is a physical, permanent address. It is he who is used for addressing frames, for example, in local Ethernet networks. When a packet is transmitted to a specific IP address, the computer determines the corresponding MAC address using a special ARP table. If there is no data on the MAC address in the table, then the computer requests it using a special protocol. If the MAC address cannot be determined, then no packets will be sent to this device.

Ports.

The network equipment uses the IP address to determine the recipient of the data. However, a device, such as a server, can run multiple applications. In order to determine which application the data is intended for, one more number is added to the header - the port number.

The port is used to identify the process of the receiver of the packet within the same IP address.

16 bits are allocated for the port number, which corresponds to numbers from 0 to 65535. The first 1024 ports are reserved for standard processes such as mail, websites, etc. It is best not to use them in your applications.

Static and dynamic IP addresses. DHCP protocol.

IP addresses can be assigned manually. A rather tedious operation for an administrator. And in the case when the user does not have the necessary knowledge, the task becomes difficult to solve. In addition, not all users are permanently connected to the network, and other subscribers cannot use the static addresses allocated to them.

The problem is solved by using dynamic IP addresses. Dynamic addresses are issued to clients for a limited time while they are continuously online. The allocation of dynamic addresses is controlled by the DHCP protocol.

DHCP is a network protocol that allows devices to automatically obtain IP addresses and other parameters required to operate on a network.

At the configuration stage, the client device contacts the DHCP server and receives the necessary parameters from it. A range of addresses distributed among network devices can be specified.

Viewing the parameters of network devices using the command line.

There are many ways to find out the IP address or MAC address of your network card. The easiest is to use the CMD commands of the operating system. I'll show you how to do this using Windows 7 as an example.

The Windows \\ System32 folder contains the cmd.exe file. It is a command line interpreter. It can be used to obtain system information and configure the system.

Open the Run window. To do this, we execute the menu Start -\u003e Run or press the key combination Win + R.

We type cmd and press OK or Enter. The command interpreter window appears.

You can now issue any of the many commands. For now, we are interested in commands for viewing the configuration of network devices.

First of all, this is the command ipconfigwhich displays the settings of the network cards.

Detailed option ipconfig / all.

Only the MAC addresses are shown by the command getmac.

The table of correspondence between IP and MAC addresses (ARP table) is shown by the command arp –a.

You can check the connection with the network device with the command ping.

  • ping domain name
  • ping IP address

My site server is responding.

Basic network protocols.

I will briefly talk about the protocols we need in later lessons.

A network protocol is a set of agreements, rules that govern the exchange of data on a network. We are not going to implement these protocols at a low level. We intend to use ready-made hardware and software modules that implement network protocols. Therefore, there is no need to parse in detail the formats of headers, data, etc. But why each protocol is needed, how it differs from others, when it is used, you need to know.

IP protocol.

The Inernet Protocol delivers data packets from one network device to another. The IP protocol unites local networks into a single global network, ensuring the transfer of information packets between any network devices. Of the protocols presented in this tutorial, IP is at the lowest level. All other protocols use it.

The IP protocol works without establishing connections. It just tries to deliver the packet to the specified IP address.

IP treats each data packet as a separate independent unit, not related to other packets. It is impossible, using only the IP protocol, to transfer a significant amount of associated data. For example, on Ethernet networks, the maximum amount of data per IP packet is only 1500 bytes.

There are no mechanisms in IP to control the validity of the final data. Check codes are used only to protect the integrity of the header data. Those. IP does not guarantee that the data in the received packet will be correct.

If an error occurs during packet delivery and the packet is lost, then IP does not try to resend the packet. Those. IP does not guarantee that a packet will be delivered.

Briefly about the IP protocol, we can say that:

  • it delivers small (no more than 1500 bytes) individual data packets between IP addresses;
  • he does not guarantee that the delivered data will be correct;

TCP protocol.

Transmission Control Protocol is the main data transmission protocol of the Internet. It takes advantage of the ability of the IP protocol to carry information from one host to another. But unlike IP, it:

  • Allows you to transfer large amounts of information. Separating data into packets and “gluing” the data on the receiving side is provided by TCP.
  • Data is transferred with a pre-connection.
  • Performs data integrity control.
  • In case of data loss, initiates repeated requests for lost packets, eliminates duplication when receiving copies of one packet.

In fact, TCP removes all data delivery problems. If possible, he will deliver them. It is no coincidence that this is the main protocol for data transmission in networks. The terminology of TCP / IP networks is often used.

UDP protocol.

User Datagram Protokol is a simple protocol for transferring data without establishing a connection. Data is sent in one direction without checking the readiness of the receiver and without confirming the delivery. The data size of a packet can be up to 64KB, but in practice many networks only support a data size of 1500B.

The main advantage of this protocol is its prostate and high transmission speed. It is often used in applications critical to the speed of data delivery, such as video streams. In such tasks, it is preferable to lose a few packets than to wait for laggards.

UDP is characterized by:

  • it is a connectionless protocol;
  • it delivers small, individual data packets between IP addresses;
  • it does not guarantee that the data will be delivered at all;
  • it will not inform the sender whether the data has been delivered and will not retransmit the packet;
  • there is no ordering of packets, the order of delivery of messages is not defined.

HTTP protocol.

Most likely, I will write in more detail about this protocol in the next lessons. Now I will briefly say that this is the Hyper Text Transfer Protocol. It is used to retrieve information from websites. In this case, the web browser acts as a client, and the network device acts as a web server.

In the next lesson, we will put client-server technology into practice using an Ethernet network.

Benefits

  • It makes it possible, in most cases, to distribute the functions of a computing system among several independent computers in a network. This simplifies the maintenance of the computing system. In particular, the replacement, repair, upgrade, or relocation of a server does not affect customers.
  • All data is stored on a server, which is usually much more secure than most clients. It is easier to enforce authorization on the server so that only clients with appropriate access rights can access the data.
  • Allows you to combine different clients. Clients with different hardware platforms, operating systems, etc. can often use the resources of one server.

disadvantages

  • Server failure can render the entire computer network inoperative.
  • Support for the operation of this system requires a separate specialist - a system administrator.
  • High cost of equipment.

Layered client-server architecture - a kind of client-server architecture, in which the data processing function is moved to one or several separate servers. This allows you to separate the functions of storing, processing and presenting data for more efficient use of the capabilities of servers and clients.

Special cases of a layered architecture:

Dedicated Server Network

Dedicated Server Network (eng. Client / Server network) is a local area network (LAN) in which network devices are centralized and managed by one or more servers. Individual workstations or clients (such as PCs) must access network resources through the server (s).

Literature

Valery Korzhov Multilevel client-server systems. Open Systems Publishing House (June 17, 1997). Archived from the original on August 26, 2011. Retrieved January 31, 2010.


Wikimedia Foundation. 2010.

"Client-server" is a model of interaction between computers on a network.

Typically, computers in this configuration are not peers. Each of them has its own, different from the others, purpose, plays its own role.

Some computers on the network own and manage information and computing resources, such as processors, file system, postal service, print service, databases. Other computers have the ability to access these services using the services of the former. The computer that manages this or that resource is usually called the server of this resource, and the computer that wants to use it is called the client (Fig. 4.5).

A specific server is determined by the kind of resource that it owns. So, if the resource is databases, then we are talking about a database server, the purpose of which is to serve client requests related to data processing in databases; if the resource is a file system, then one speaks of a file server, or a file server, etc.

On a network, the same computer can act as both a client and a server. For example, in an information system that includes personal computers, a mainframe and a mini-computer, the latter can act both as a database server, serving requests from clients - personal computers, and as a client, sending requests to a mainframe.

The same principle applies to the interaction of programs. If one of them performs some functions, providing others with a corresponding set of services, then such a program acts as a server. The programs that use these services are commonly referred to as clients.

Data processing is based on the use of database technology and data banks. The information in the database is organized according to certain rules and is an integrated set of interrelated data. This technology provides an increase in the speed of their processing for large volumes. Data processing at the intramachine level is the process of performing a sequence of operations specified by an algorithm. Processing technology has come a long way.

Today, data processing is carried out by computers or their systems. The data is processed by the user's application programs. Of paramount importance in organizational management systems is the processing of data for the needs of users, and primarily for top-level users.

In the process of evolution of information technologies, there is a noticeable desire to simplify and reduce the cost of computers for users, their software and the processes performed on them. At the same time, users receive an increasingly wider and more complex service from computer systems and networks, which leads to the emergence of technologies called client-server.


Limiting the number of complex subscriber systems in the local network leads to the appearance of computers in the role of server and client. Implementation of client-server technologies may differ in the efficiency and cost of information and computing processes, as well as in the levels of software and hardware, in the mechanism of component connections, in the efficiency of access to information, its diversity, etc.

Receiving a varied and complex service organized in a server makes the user's work more productive and costs users less than the complex software and hardware equipment of many client computers. Client-server technology, as more powerful, has replaced file-server technology. It made it possible to combine the advantages of single-user systems (high level of dialogue support, user-friendly interface, low price) with the advantages of larger computer systems (integrity support, data protection, multitasking).

In the classical sense, a DBMS is a set of programs that allow you to create and maintain a database up to date. Functionally, a DBMS consists of three parts: a kernel (database), a language, and programming tools. The programming tool refers to the client interface, or external interface. They can include a data processor in a query language.

A language is a collection of procedural and non-procedural commands supported by a DBMS.

The most commonly used languages \u200b\u200bare SQL and QBE. The kernel performs all other functions that are included in the concept of "database processing".

The basic idea behind client-server technology is to host servers on powerful machines and client applications using the language on less powerful machines. This will use the resources of a more powerful server and less powerful client machines. I / O to the database is not based on physical data splitting, but on logical, i.e. the server does not send a complete copy of the database to clients, but only logically necessary portions, thereby reducing network traffic.

Network traffic is the flow of messages on the network. In client-server technology, client programs and their requests are stored separately from the DBMS. The server processes client requests, selects the necessary data from the database, sends it to clients over the network, updates the information, ensures the integrity and safety of the data.

The main advantages of client-server systems are as follows:

Low load on the network (the workstation sends a request to the database server to search for certain data, the server itself searches and returns only the query processing result, i.e. one or several records, over the network);

High reliability (DBMS based on client-server technology maintain transaction integrity and automatic failover);

Flexible setting of the level of user rights (some users can only be assigned to view data, others to view and edit, others will not see any data at all);

Support for large fields (supported data types, the size of which can be measured in hundreds of kilobytes and megabytes).

However, client-server systems also have disadvantages:

Difficulty in administration due to the territorial disunity and heterogeneity of computers in the workplace;

Insufficient degree of information protection from unauthorized actions;

A closed protocol for communication between clients and the server, specific to this information system.

To eliminate these shortcomings, the architecture of Intranet systems is used, which have concentrated and combined the best qualities of centralized systems and traditional client-server systems.

Client-server technology is connection method between a client (a user's computer) and a server (a powerful computer or equipment that provides data), in which they interact directly with each other.

What is client-server?

The general principles of data transfer between the components of a computer network are established by the network architecture. Client-server technology is a system in which information storage and processing are carried out on the server side, and the formation of a request and data receipt is provided to the client side. Unlike client-server technology, where data is extracted from files, in client-server networks, data is stored on the machine where the server application network database.

At the same time, client-server technologies provide for the presence special software - client and server. These programs interact using special network data transfer protocols. Typically, the client and server are installed on different computers, but sometimes they can be installed on the same machine.

The server software is configured to receive and process requests from the user, providing them with the result in the form of data or functions (email, chat or web browsing). The computer on which this program is installed must have high productivity and high technical parameters.

How the client-server architecture works

The software from the client machine sends a request to the server, where it is processed and the finished result is sent to the client. This technology works on the same principle as the database: query - processing - transferring the result.

The server is executing the following functions:

  • data storage;
  • processing a request from a client using procedures and triggers;
  • sending the result to the client.

Functions that are implemented client side:

  • generating and sending a request to the server;
  • receiving results and sending additional commands (requests for adding, deleting or updating information).

Advantages and disadvantages

The client-server architecture has the following advantages:

  • high speed of data processing;
  • the ability to quickly work with a large number of clients;
  • separation of the program code of server and client applications.

Multiple users can work at the same time with data due to transactions (a sequence of operations presented as a single block) and locks (isolation of data from editing by other users).

disadvantages client-server technology:

  • high requirements for hardware and software characteristics of server equipment due to the fact that data processing takes place on the server side;
  • the need for a system administrator who controls the uninterrupted operation of server equipment.

Layered client-server architecture

The multi-level client-server technology provides for the allocation of separate server equipment for data processing. Data storage, processing and output operations are performed on different servers. This distribution of responsibilities increases the efficiency of the network.

An example layered architecture is a three-tier technology. In such a network, in addition to the client and application server, there is an additional database server.

The following three levels:

  1. Lower. This link includes client software with a user interface and a system of interaction with the next level of data processing.
  2. Middle. Requests from client programs are processed by the application server, where operations are carried out to process and prepare information for transmission between the upper-level server and the client. It allows you to offload the data storage from unnecessary load and distribute requests from different users.
  3. Upper. It is an independent database server that stores all information. It receives the prepared request from the application server and provides it with the necessary information without directly interacting with the client applications.

Dedicated Server Network

A dedicated server architecture is a local area network in which all communicating devices are controlled by one or more servers. In this case, clients (workstations) send a request for resources through the server software. A dedicated server does not have a client side and only functions as a server for processing requests from clients and protecting data. In the presence of multiple servers, functions between them can be distributed with the definition for each individual responsibility.

Almost all models for organizing user interaction with a database are based on client-server technology. It is assumed that each such application differs in the way of distribution of functions: the client part is responsible for the targeted processing of data and the organization of interaction with the user, the server part provides data storage - processes requests and sends the results to the client for special processing. A typical architecture of client-server technology is shown in Fig. 4.1:

Fig. 4.1. Typical architecture of client-server technology

Some of the functions of the central computers were taken over by local computers. In this case, any software application is represented by three components: a presentation component that implements an interface with the user; an application component that provides the implementation of application functions; component of access to information resources (resource manager), performing information accumulation and data management.

Based on the distribution of these components between a workstation and a network server, the following models of the "client-server" architecture are distinguished:

· Model of access to remote data (Fig. 4.2). Only data is located on the server:

Fig. 4.2. Remote data access model

This model is characterized by low performance, since all information is processed on workstations; in addition, a low exchange rate is supported when transferring large amounts of information from the server to workstations;

Data management server model (fig. 4.3):

Fig. 4.3. Data Management Server Model

Features of this model: reduction of the amount of information transmitted over the network, since the selection of the necessary information elements is carried out on the server, and not on workstations; unification and a wide range of tools for creating applications; the lack of a clear distinction between the presentation component and the application component, which makes it difficult to improve the computing system. It is advisable to use in the case of processing moderate amounts of information, while the complexity of the applied component should be low,

· Model of a complex server (fig. 4.4):

Fig. 4.4. Complex server model

Advantages of the model: high performance, centralized administration, saving network resources. Such a server is optimal for large networks focused on processing large and increasing amounts of information over time;

· Three-tier architecture "client-server" (Fig. 4.5). It is used when complicating and increasing the resource intensity of the application component.

Fig. 4.5. Three-tier architecture

Several application functions can be implemented in the application server, each of which is designed as a separate service that provides some services to all programs. There can be several such servers, each of them is focused on providing a certain set of services. This architecture is based on further specialization of architecture components: the client is only concerned with organizing the interface with the user, the database server performs only standard data processing, to implement the data processing logic, the architecture provides a separate layer - a layer of business logic, it can be either a dedicated server (application server ), or hosted on the client as a library.

Within the client-server architecture, there are two basic concepts:

· "Thin" client. A powerful database server and a library of stored procedures are used to make calculations that implement the main logic of data processing directly on the server. The client application, accordingly, makes low demands on the hardware of the workstation;

· A "fat" client implements the main processing logic on the client, and the server is a pure database server, which ensures execution of only standard requests for data manipulation (as a rule, reading, writing, modifying data in relational database tables).

Networked IT

Email... The very first, this form of electronic messaging (e-mail) demonstrated the very possibility of almost instant communication through computer networks. Architecturally designed for the exchange of messages between two subscribers, it allowed groups of people to exchange information. Groups or mailing lists became such a modification. With e-mail software, you can create and attach e-mail messages. The attachment function is used to send documents of any type by mail, such as text documents, spreadsheets, multimedia files, database files, etc. Later developed text filtering software extended the capabilities of e-mail to help the user in structuring, directing, and filtering messages. The need for these services is due to the fact that the amount of mail is constantly growing, which is almost or not needed by the user (Spam). Filtering software can ensure that only personalized messages that are relevant to them are delivered to users, and can also help users find information that users need in their decision making process.

Newsgroups or newsgroups... Teleconferences are the next stage in the development of communication systems. Their features were, firstly, storing messages and providing interested parties with access to the entire exchange history, and secondly, various methods of thematic grouping of messages. Such conference systems enable a group of people working together, but geographically separated, to exchange opinions, ideas or information on-line when discussing any issue, overcoming temporal and spatial barriers. Today, there are many types of conferencing systems, including computer conferences (meetings held by e-mail), conference calls with the ability to connect mobile callers, conferences using desktop PCs, multimedia, teleconferencing and video conferencing.

Interactive communication (chats). With the development of telecommunications, an increasing number of users begin to work on the Internet in a permanent presence mode, therefore, a real-time communication service has appeared, when a subscriber receives a message within a short period of time after it was sent by an interlocutor.

The most common modern means of interactive communication are Web applications that support the following forms of organizing communication:

o Guest books. The first and simplest form. The simplest guestbook is a list of messages shown from the last to the first, each of which was left in it by some visitor.

o Forums... The first forums emerged as an enhancement to guestbooks and organized posts into branches - much like newsgroups. User posts in forums are grouped by topics, which are usually set by the first posts. All visitors can see the topic and post their message - in response to those already written. Topics are grouped into thematic forums, the system is managed by informal administrators and moderators. The most developed forums begin to have the first signs of social networks - long-term social ties of interest can be established between participants.

o Blogs (Web Log - Web-log, Web-protocol). In these services, each participant keeps his own journal - leaves records in chronological order. Post topics can be anything, the most common approach is blogging as your own diary. Other visitors can leave comments on these posts. In this case, the user, in addition to being able to keep his own journal, gets the opportunity to organize a listing view - a list of entries from "friends" journals, regulate access to entries, and look for interlocutors by interests. On the basis of such systems, communities of interest are created - journals that are kept collectively. In such a community, its member can freely post any message on the direction of the community's activities.

In general, all modern systems for ensuring the work of online communities have several common features:

· The vast majority of communities provide for user registration, i.e. an account must be created for each participant. When registering, the user indicates some information about himself for identification. Almost all systems require you to enter an email address and check its functionality by sending an email with an account activation code. If the address is incorrect, then only the system administrator can activate the entry. This approach guarantees, to a certain extent, the uniqueness of the participant and its identifiability.

· Work in the environment is carried out in sessions. Each session begins with the user entering their name and confirming their identity by entering a password. For convenience, the session of participation is usually hidden from the user by technical means, but, nevertheless, the user is identified constantly.

In addition to credentials, the user configures the environment - appearance, additional data about himself, indicates his interests, desired contacts, topics for communication, etc.

· Social networks and the services that support them have proved to be an extremely effective method of ensuring site traffic, feedback, they gradually became one of the means of filling the site's content with content that has real commercial and social value.

Based on the latter approach, a fairly large number of social Web services emerged and quickly gained popularity, collectively called Web 2.0 services. Some of these resources can be specified:

o Social bookmarks... Some websites allow users to share a list of bookmarks or popular websites with others. Such sites can also be used to find users with a common interest. Example: Delicious.

o Social directories reminiscent of social bookmarks, but focused on academic use, allowing users to work with a database of citations from scientific articles. Examples: Academic Search Premier, LexisNexis Academic University, CiteULike, Connotea.

o Social Libraries are applications that allow visitors to leave links to their collections, books, audio recordings available to others. Support for a system of recommendations and ratings is provided. Examples: discogs.com, IMDb.com.

o Multiplayer online games simulate virtual worlds with different scoring systems, levels, competition, winners and losers. Example: World of Warcraft.

o Multilingual social networks allow you to establish social ties between people speaking different languages. At the same time, special software is used that allows you to translate phrases from one language to another in real time. Examples: Dudu.

o Geosocial networks form social connections based on the user's geographic location. At the same time, various geolocation tools are used (for example, GPS or hybrid systems such as AlterGeo technology), which make it possible to determine the current location of a particular user and correlate his position in space with the location of various places and people around.

o Professional social networks are created for communication on professional topics, exchange of experience and information, search and offer of vacancies, development of business ties. Examples: Doctor at work, Professionals.ru, MyStarWay.com, LinkedIn, MarketingPeople, Viadeo.

o Service social networks allow users to unite online around their common interests, hobbies or for various reasons. For example, some sites provide services through which users can share personal information needed to find partners. Examples: LinkedIn, VKontakte.

o Commercial social media focused on supporting business transactions and building people's trust in brands based on taking into account their opinions about the product, thereby allowing consumers to participate in promoting the product and increasing their awareness.

Did you like the article? To share with friends: