Распределенная модель вычислений (Клиент-сервер. Трехзвенная (многозвенная) архитектура)

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

Новое понимание действительности привело к возникновению новых технологий, новых подходов к хранению и обработке данных. А в чем, собственно, проблема, чем архитектура «клиент-сервер» плоха для организации такой деятельности, как описано выше в примере?

Один из основных моментов – снижение затрат на организацию рабочих мест пользователей. Так, для полноценной работы в Интернет не требуется каких-то запредельных мощностей. Требуется лишь возможность установки операционной системы и Web-браузера. Заметьте, что когда Вы запрашиваете информацию о книге (выполняете запросы к базе данных Интернет-магазина), на Ваш компьютер не ложиться практически никакой нагрузки.

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

Для разрешения описанных выше проблем появилось некоторое развитие архитектуры «клиент-сервер». На настоящий момент это развитие представляет собой так называемую трехзвенную (в некоторых случаях многозвенную) архитектуру (N-tier или multi-tier). Рассмотрев архитектуру «клиент-сервер», можно заключить, что она является 2-звенной: первое звено – клиентское приложение, второе звено – сервер БД + сама БД.

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

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

Итак, в результате работа построена следующим образом:

· База данных в виде набора файлов находится на жестком диске специально выделенного компьютера (сервера сети).

· СУБД располагается также на сервере сети.

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

· Существует множество клиентских компьютеров, на каждом из которых установлен т.н. «тонкий клиент» – клиентское приложение, реализующее интерфейс пользователя.

· На каждом из клиентских компьютеров пользователи имеют возможность запустить приложение – тонкий клиент. Используя пре-доставляемый приложением пользовательский интерфейс, он инициирует обращение к ПО делового анализа, расположенному на сервере приложений.

· Сервер приложений анализирует требования пользователя и формирует запросы к БД. Для общения используется специальный язык запросов SQL, т.е. по сети от сервера приложений к серверу БД передается лишь текст запроса.

· СУБД инкапсулирует внутри себя все сведения о физической структуре БД, расположенной на сервере.

· СУБД инициирует обращения к данным, находящимся на сервере, в результате которых результат выполнения запроса копируется на сервер приложений.

· Сервер приложений возвращает результат в клиентское приложение (пользователю).

· Приложение, используя пользовательский интерфейс, отображает результат выполнения запросов.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: