Архитектура Клиент-Сервер для босса.

Данная статья предназначена для владельцев, руководителей и менеджеров фирм, для которых вопрос автоматизации их бизнеса занял один из наивысших приоритетов. Итак вы приняли решение, что автоматизировать ваше предприятие не только нужно, но и жизненно необходимо, и перед вами стала проблем выбора конкретного программного обеспечения. При ознакомлении с материалами, описывающими ту или иную учетную или бухгалтерскую программу, вы наверно часто сталкивались с фразой – «система построена на клиент-серверной платформе», ну или еще с чем то в этом духе, и наверняка хотели бы в общих чертах уловить суть данной технологии. В рамках данной статьи я попытаюсь изложить суть данной архитектуры, не используя узкоспециализированную терминологию и не вдаваясь в технические детали. Однако для начала с минимальным набором терминов все-таки пройдется ознакомиться. Итак, начнем.
База данных – это хранилище для вашей информации. Причем информация хранится в четко структурированном виде, а извлечение и изменение ее производится посредством специального программного обеспечения, которое работает, подчиняясь четким правилам.
СУБД или система управления базами данных – как раз то самое промежуточное программное обеспечение, которое в состоянии обеспечить доступ людям и другим программам на извлечение и изменение вашей информации, хранящейся в базе данных. Яркими представителями подобного рода программ являются: MS SQL Server, Oracle, Informix, DB2. И это далеко не весь список.
Язык SQL. Единственное, что следует знать человеку далекому от информационных технологий, это то, что это язык, на который программист переводит ваши пожелания системе управления базами данных (СУБД). И насколько точен этот перевод, настолько качественно СУБД сможет удовлетворить ваши запросы на получение информации. Аббревиатура SQL в переводе с английского, так и означает - язык структурированных запросов.
Теперь, когда вы ознакомлены с минимальным набором необходимой терминологии можно приступить и к описанию самой клиент-серверной архитектуры. Я сделаю это на простейшем примере из реальной жизни. Пусть имеется некий абстрактный офис (или магазин, не столь это важно) с установленной локальной компьютерной сетью, где имеется один компьютер на котором хранятся данные компании и установлена СУБД, а остальные служат рабочими местами менеджеров на которых установлена какая-то учетная система. Вступление несколько устрашающее, но на самом деле все далеко не так сложно как может показаться на первый взгляд. Итак вернемся к примеру. Некий менеджер решает получить информацию о продажах из учетной системы, устанавливает критерии поиска и нажимает кнопку - «Старт». И тут разворачивается целое театральное действо, которое способно раскрыть природу клиент-серверной архитектуры.
Действующие лица драмы:

  • Клиент – курьер по доставке нужных и полезных документов. Роль исполняет система учета.
  • Строгий, но справедливый босс. Исполняется менеджером, пославшим запрос на формирование отчета.
  • Сервер СУБД – работник архива. Исполняется системой управления базами данных.

Места действия:

  • Офис строгого, но справедливого босса. В качестве декораций выступает компьютер менеджера.
  • Архив. В качестве декорации используется компьютер сервера. Хотя ради справедливости надо отметить, что архив может располагаться в одном здании с офисом.

Наконец само действо. Строгий, но справедливый босс захотел получить в свое распоряжения папки с очень важными документами из архива. Он зовет клиента и дает ему распоряжение принести ему эти документы. Клиент без промедления (поскольку босс занятой человек и не любит ждать), бежит в архив. Примчавшись в архив, клиент просит мудрого архивариуса - cервера поторопиться и предает ему суть запроса строгого босса в доступной для архивариуса форме (на языке SQL). Сервер, покопавшись в ящиках шкафов, передает клиенту нужные документы, предварительно приведя их в надлежащий вид (например, отсортировав в хронологическом порядке). Тот в свою очередь стремглав несется в кабинет шефа и аккуратно раскладывает папки с информацией на его столе. Обратите внимание, что клиент никакой другой работой, кроме передачи распоряжений серверу и доставки подготовленной архивариусом информации не занимается.
Вот такая вот незамысловатая, на первый взгляд, архитектура. Конечно, все на самом деле не так примитивно и никто никуда не бегает, но для нетехнического работника этой информации вполне достаточно. Важно запомнить следующую цепочку пользователь запрашивает информацию у клиента, клиент в свою очередь перенаправляет запрос серверу на понятном для него языке, сервер извлекает данные, при необходимости обрабатывает их, и передает их обратно клиенту, а клиент их преобразует в доступный для пользователя вид. На этом краткий обзор данной весьма полезной архитектуры можно закончить.

Андрей Коткин,
Программист баз данных ООО «ТСофт»


При перепечатке или размещении материалов данной статьи на других сайтах указание имени автора и ссылки на ресурс первоисточник (http://www.tsoft.com.ua) является обязательным условием.