Компоненты и схема клиент-серверной архитектуры для чайников

Всем привет! Давайте поговорим с вами про «подкапотное» устройство веб-продуктов, а если проще – клиент-серверную (или трехзвенную) архитектуру.

Из названия понятно, что есть клиент и сервер. Клиент – это не живой человек. В нашем случае – это ваш браузер (Chrome, Opera, Safari), если мы говорим про web, и программа на вашем компьютере, если говорим про desktop.

А сервер – это некое хранилище нужной (или не очень) информации и внутреннее устройство приложения. Сюда за информацией обращается клиент.

А еще есть база данных – что-то вроде упорядоченных полок в библиотеке, куда обращается сервер, получивший запрос от клиента. Сложно? Давайте упростим и рассмотрим бытовой пример.  

Вы пришли в магазин с определённым списком продуктов (запросом). В данном случае клиентом будете вы. Вам нужно купить помидоры, огурцы, банку растительного масла.

Продавец будет у нас сервером, то есть он будет ваш запрос обрабатывать и отвечать вам. 

Вот вы пришли, сделали к серверу запрос (взвесьте мне кило того, кило другого и достаньте воо-он ту банку масла с самой верхней полки).

Сервер (продавец) ваш запрос обрабатывает, выполняет, дает вам помидоры, огурцы и масло. Продуктовые прилавки или полки в нашем случае – это база, в ней хранится информация (продукты). Именно туда обращается сервер (продавец), чтобы выполнить ваш запрос. 

Сервер (продавец) может общаться с несколькими клиентами и обрабатывать несколько запросов. Кроме того, серверы (продавцы) могут еще и между собой общаться и обмениваться информацией. 

Другой пример – уже про нашу с вами сферу. Пользователь интернет-магазина решил купить новый телефон. Окей: он открывает интернет-браузер Google Chrome (клиент), там открывает нужный сайт магазина, находит нужную ему модель телефона и кликает по кнопке «Добавить в корзину». На этом моменте сервер получает от клиента запрос на телефон, обращается к базе: «База, дорогая, а у нас есть в наличии этот вот телефон, который хочет пользователь?». 

На SQL это обращение выглядит примерно так: Select brand, model, stock from mobiles where brand = ‘Нужный нам бренд телефона’ and model = ‘Нужная модель телефона’ and stock = ‘1’. 

База проверяет информацию и выдает ответ на сервер: «Да, такой вот товар такой вот модели есть на складе, можно покупать», сервер передает информацию на клиент о том, что по товару все в порядке, кнопка «Добавить в корзину» превращается в надпись «В корзине», и товар попадает в корзину пользователя.  

Вместо итогов

Клиент – это программа, с которой работает пользователь, это может быть ваш интернет-браузер или десктоп-программа, установленная на ваш локальный компьютер или ноутбук.

Сервер – удаленная машина или мощный компьютер, на котором хранится вся логика, код, некое хранилище информации.

База данных – что-то вроде библиотеки данных, упорядоченных по таблицам. 

Надеюсь, после прочтения этой статьи вы стали понимать «подкапотную» структуру веб-приложений и словами «трехзвенная архитектура» вас теперь не напугать! 

Чтобы поскорее перейти от обучения к работе, приходите на наш курс ПОИНТ!

Интервью с выпускниками ПОИНТ, получившими оффер, можно почитать здесь:

Сергей Кушниров в 35 лет решился сменить профессию: раньше он работал на улице в любых погодных условиях, а образование получил еще в 2006 году. После выгорания на работе в 2020 Сергей выбрал курс «Первый Онлайн ИНститут Тестировщиков» (ПОИНТ) и не прогадал… Читать интервью с Сергеем Кушнировым

Ядвига по образованию редактор, работала офис-менеджером. На одном из воркшопов услышала о тестировании ПО и решила пройти курс «Первый Онлайн ИНститут Тестировщиков». Вскоре после его окончания она получила оффер… Читать интервью с Ядвигой

Комментарии

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Метки
css (1)html (1)ISTQB FL (9)IT (2)Java для тестировщиков (1)Jedi Point (32)JSON (1)kaizen (2)Pairwise Testing (1)QA (25)REST API (1)selenium (1)SOAP UI (1)softskills тестировщика (9)SQA Days-25 (1)SQL в тестировании (7)TestSuites (1)XML (1)xpath (1)Анна Палей (1)Исследовательское тестирование (4)История успеха (21)Курс тестирования для начинающих (47)Мнемоники в тестировании (1)Наталья Руколь (3)Нина Агеева (6)Обучение тестированию (24)ПОИНТ (79)Роман Буданов (5)Сессионное тестирование (1)ТЗ (1)Таблица решений (1)Тест-анализ (5)Тест-дизайн (8)Тест-кейс (2)Тест-стратегия (1)Тест-туры (1)Тестирование usability (8)Тестирование ПО (44)Тестирование игр (5)Тестирование мобильных приложений (18)Тест менеджмент (6)Чек-лист в тестировании по (6)Чит-лист в тестировании (3)автоматизация тестирования (3)автотесты (1)английский для тестировщиков (12)аудит проекта (13)баг (3)багнапродакшене (1)введение в тестирование (2)виды тестирования (4)войти в айти (15)выгорание (2)граничные значения (1)гуманитарии в тестировании (1)декомпозиция (1)инструменты тестирования по (6)интервью с выпускником (25)как надо тестировать (3)как стать тестировщиком (6)клиент-серверная архитектура (1)комбинаторика в тестировании (1)мануальное тестирование (1)метрики тестирования (5)начать карьеру в IT (27)начинающий тестировщик (40)негативное тестирование (2)ограничения (1)оптимизация QA-процессов (4)организация тестирования (1)персонажи (1)планирование тестирования (1)профессия тестировщик (10)работа в QA (2)расписание (6)резюме (1)релокация (3)ручное тестирование (1)сертификация ISTQB FL (7)скринкаст (1)смена работы (28)создание и управление командой тестирования (4)сопроводительное письмо (1)тайм-менеджмент (1)тест-кейс (1)тест-менеджмент (10)тестирование безопасности (1)тестирование без требований (5)тестирование веб (24)тестовая стратегия (1)удаленная работа (5)управление требованиями (6)фреймворк тестирования (1)школа тест-аналитика (2)школа тест-менеджера (10)юзабилити (3)
С 23.08 по 10.11, ОНЛАЙН Зарегистрироваться