Технологии «Клиент-сервер»

В технологиях «Клиент-сервер» отступают от одного из главных принципов создания и функционирования распределен­ных систем — отсутствия центральной установки. Поэто­му можно выделить две основные идеи, лежащие в основе кли­ент-серверных технологий:

  • общие для всех пользователей данные на одном или не­скольких серверах;
  • много пользователей (клиентов) на различных вычисли­тельных установках, совместно (параллельно и одновременно) обрабатывающих общие данные.

Иначе говоря, системы, основанные на технологиях «Кли­ент-сервер», распределены  только в отношении пользователей, поэтому часто их не относят к «настоящим» распределенным системам, а считают отдельным, уже упоминавшимся классом многопользовательских систем.

Важное значение в технологиях «Клиент-сервер» имеют понятия сервера и клиента.

Под сервером в широком смысле понимается любая сис­тема, процесс, компьютер, владеющие каким-либо вычисли­тельным ресурсом (памятью, временем, производительностью процессора и т. д.).

Клиентом называется также любая система, процесс, ком­пьютер, пользователь, запрашивающие у сервера какой-либо ресурс, пользующиеся каким-либо ресурсом или обслуживаемые сервером иным способом.

В своем развитии системы «Клиент-сервер» прошли не­сколько этапов, в ходе которых сформировались различные модели систем «Клиент-сервер». Их реализация и, следователь­но, правильное понимание основаны на разделении структу­ры СУБД па три компонента:

  • компонент представления, реализующий функции вво­да и отображения данных, называемый иногда еще просто как интерфейс пользователя (см. рис. 2.1);
  • прикладной компонент, включающий набор запросов, событий, правил, процедур и других вычислительных функций, реализующий предназначение автоматизированной информа­ционной системы в конкретной предметной области;
  • компонент доступа к данным, реализующий функции хранения, извлечения, физического обновления и изменения данных (машина данных).

Исходя из особенностей реализации и распределения (рас­положения) в системе этих трех компонентов различают четы­ре модели технологий «Клиент-сервер»^:

модель файлового сервера (File Server — FS); Один из компьютеров сети выделяется и определяется файловым сер­вером, т. е. общим хранилищем любых данных.

модель удаленного доступа к данным (Remote Data Access — RDA); В RDA-модели компонент доступа к данным в СУБД полностью отделен от двух других компонентов (компонента представления и при­кладного компонента) и размещается на сервере системы. Ком­понент доступа к данным реализуется в виде самостоятельной программной части СУБД, называемой SQL-сервером, и инстал­лируется на вычислительной установке сервера системы. В файле (файлах) базы данных, размещаемом на сервере системы, находится также и системный каталог базы данных, в который помещаются в том числе и сведения о зарегистриро­ванных клиентах, их полномочиях и т. п. На клиентских установках инсталлируются отделенные программные части СУБД, реализующие интерфейсные и при­кладные функции.

модель сервера базы данных (DataBase Server — DBS); Ее сердцевиной является рассмотренный ранее механизм хра­нимых процедур. В отличие от RDA-модели, определенные для конкретной предметной области АИС события, правила и про­цедуры, описанные средствами языка SQL, хранятся вместе с данными на сервере системы и на нем же выполняются. Иначе говоря, прикладной компонент полностью размещается и вы­полняется на сервере системы. На клиентских установках в DBS-модели размещается только интерфейсный компонент (компонент представления) АИС, что существенно снижает требования к вычислитель­ной установке клиента.

модель сервера приложений (Application Server — AS). Суть AS-модели заключается в переносе прикладно­го компонента АИС на специализированный в отношении по­вышенных ресурсов по быстродействию дополнительный сервер системы. Как и в DBS-модели, на клиентских установках распола­гается только интерфейсная часть системы, т. е. компонент представления. Однако вызовы функций обработки данных на­правляются на сервер приложений, где эти функции совместно выполняются для всех пользователей системы.