вторник, 20 октября 2015 г.

Клиент-сервер в картинках

О клиент-серверной архитектуре в картинках

Когда-то я планировала записать курс по SQL для начинающих. И даже частично записала! Буквально 1,5 занятия. Потом перераспределили ресурсы и теперь могу порекомендовать интересующимся курс Абдюшева Павла — Select без слез и Join для самых маленькихSmile :) 

У меня особая подача материала — кому-то это нравится, кому-то нет. Я люблю книги в стиле Романа Савина и серии Head First O`Really «Изучаем что-то-там». Все доступно объясняется, буквально на пальцах.

Стремлюсь делать также Smile :)
Чтобы ввести начинающих в курс дела и пояснить, зачем же им нужна база и где она в архитектуре, записала небольшой кусочек видео (11 минут). Ну а теперь выкладываю в открытый доступ — не пропадать же добру? Наслаждайтесь =)

А что там в видео то?


Наша цель — понять, что есмь «клиент-серверная архитектура» и где там появляется человек?

Цель — понять, что есть что на картинке

Давайте рассмотрим на примере Васи. Он хочет купить машину, но увы... У него нет денег! Sad :(

Куда пойдет Вася со своей бедой?

Вася решает взять кредит и приходит в банк. Он попадает к операционистке Кате. Катя и рада бы раздавать деньги направо и налево, но вдруг у Васи плохая кредитная история? Заграбастает бабло и не вернет. А KPI у Кати понизится. Нужно поднять историю клиента и проверить его добропорядочность!

Нельзя давать деньги кому попало! 

Катя открывает свою программу. Это может быть desktop-приложение или вкладка в браузере, не важно. Та часть, с которой работает реальный пользователь. в архитектуре носит гордое название «клиент».


Когда Катя ввела туда ФИО Васи и нажала «проверить», началась магия программирования. Катя не в курсе, но то, что она ввела в клиент, отправилось на сервер.


Сервер в свою очередь запросил данные из базы данных, хранилища информации.


Полученные данные он передал обратно на клиент, а тот отрисовал Кате историю Иванова.


А дальше уже можно решать — давать деньги или нет! А если давать, то на каких условиях.
Все счастливы и довольны, магия свершилась! Smile :)

Но зачем тут это все?

Сервер — по сути тот же клиент. Это компьютер, на котором развернута программа. Почему не у Кати на компе? Операционисток может быть много, покупать всем дорогущие машины — слишком растратно.

Поэтому тратим много на крутую железяку-сервер, а сотрудникам покупаем оборудование поскромнее.

В базе данных хранится информация. Можно хранить и самим, изобретая собственные велосипеды и костыли. Можно и свой ворд с блокнотом написать, но зачем, когда об этом уже позаботились другие?

А где пользователь то?

Выяснили, что такое клиент и сервер, как они общаются и что есть что в картинке с архитектурой. Но где пользователь то? Пользователи бывают разные — простые и вероломные.




Мы должны учесть их всех, поэтому тестировщик вклинивается везде. Дабы предотвратить потерю данных! И предоставить информацию о том, как ведет себя система.

Как-то так. Удачи в изучении! Smile :)

4 комментария:

  1. А сервер это не ПО ли случаем?
    По отношению к серверу баз данных, сервер приложений кем выступает?
    А, и да, может улучшить статью описание n-tier архитектур.
    Т.к. 3-tier, это бесспорно, клиент-сервер, но не только это есть клиент-сервер. :)

    ОтветитьУдалить
    Ответы
    1. Не только :)
      Но это и не всеобъемлющая лекция, а так, на пальцах показать, ху из ху. Дальше уже надо гуглить и самим изучать)

      Удалить
  2. хороший пример, все ясно и понятно)

    ОтветитьУдалить