Системная архитектура клиент-сервер

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

Клиентская часть системы по мере необходимости обращается по сети к серверной части. В развитых системах сетевое обращение серверной части может и не понадобиться при условии, что система может предугадывать потребности пользователя и в клиентской части содержаться данные, которые необходимы для выполнения запроса пользователя. Интерфейс серверной части определен и фиксирован, поэтому возможно создание новых клиентских частей существующей системы. Основной проблемой систем, основанных на архитектуре клиент-сервер, является то, что в соответствии с «Концепцией открытых систем» от них требуется мобильность в как можно более широком классе аппаратно-программных решений. Попытки создания систем, поддерживающих все возможные протоколы, приводят к перегрузке систем сетевыми деталями в ущерб их функциональности. Еще более сложный аспект этой проблемы связан с возможностью использования разных представлений данных в разных узлах неоднородной локальной сети. На разных компьютерах может существовать различная адресация, представление чисел, кодировка символов и т.д. Это особенно существенно для серверов высокого уровня, в том числе и серверов баз данных.

Общим решение проблемы мобильности систем, основанным на архитектуре клиент-сервер, является опора на программные пакеты, реализующие удаленный вызов процедур (Remote Procedure Call).

При использовании таких средств обращение к сервису в удаленном узле выглядит как обычный вызов процедуры. Средства RPC, в которых содержится вся информация от специфики аппаратуры локальной сети и сетевых протоколов, переводят вызов процедур в последовательность сетевых взаимодействий, тем самым специфики сетевой среды и протоколов от программиста, занимающегося разработкой прикладных программ.

При вызове удаленной процедуры средства RPC производят преобразования форматов данных клиента в промежуточные машинонезависимые форматы, а затем в форматы данных серверов. При передаче конкретных параметров производятся конкретные преобразования. Если система реализована на основе стандартного пакета RPC,она может быть перенесена в любую открытую среду.


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



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