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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Метки
css (1)html (1)ISTQB FL (6)IT (2)Java для тестировщиков (1)Jedi Point (23)JSON (1)kaizen (2)Pairwise Testing (1)QA (25)QualityLab (1)REST API (1)selenium (1)SOAP UI (1)softskills тестировщика (8)SQA Days-25 (1)Sql в тестировании (7)TestSuites (1)XML (1)xpath (1)Анна Палей (1)Исследовательское тестирование (4)История успеха (18)Курс тестирования для начинающих (26)Мнемоники в тестировании (1)Наталья Руколь (1)Нина Агеева (4)Обучение тестированию (21)ПОИНТ (60)Роман Буданов (3)Сессионное тестирование (1)ТЗ (1)Таблица решений (1)Тест-анализ (5)Тест-дизайн (8)Тест-кейс (2)Тест-стратегия (1)Тест-туры (1)Тестирование usability (6)Тестирование ПО (23)Тестирование игр (5)Тестирование мобильных приложений (10)Тест менеджмент (5)Чек-лист в тестировании по (5)Чит-лист в тестировании (2)автоматизация тестирования (2)автотесты (1)английский для тестировщиков (7)аудит проекта (10)баг (3)багнапродакшене (1)введение в тестирование (1)виды тестировния (2)войти в айти (6)выгорание (2)граничные значения (1)декомпозиция (1)инструменты тестирования по (6)интервью с выпускником (9)как надо тестировать (2)как стать тестировщиком (3)клиент-серверная архитектура (1)комбинаторика в тестировании (1)мануальное тестирование (1)метрики тестирования (3)начать карьеру в IT (11)начинающий тестировщик (16)негативное тестирование (2)ограничения (1)оптимизация QA-процессов (2)организация тестирования (1)персонажи (1)планирование тестирования (1)профессия тестировщик (3)работа в QA (2)резюме (1)ручное тестирование (1)сертификация ISTQB FL (5)скринкаст (1)смена работы (14)сопроводительное письмо (1)тест-кейс (1)тест-менеджмент (4)тестирование безопасности (1)тестирование без требований (1)тестирование веб (12)тестовая стратегия (1)удаленная работа (2)управление требованиями (6)фреймворк тестирования (1)школа тест-аналитика (2)школа тест-менеджера (5)
С 8.02 по 27.04, ОНЛАЙН Зарегистрироваться