Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Шпора ПРИС для Тани.docx
Скачиваний:
25
Добавлен:
09.12.2018
Размер:
183.51 Кб
Скачать
  1. Архитектура клиент-сервер. Основные правила архитектуры клиент-сервер. Модели распределений.

Архитектура системы – представление о совокупности функциональных компонентов системы и их взаимосвязях.

Наиболее популярна в настоящее время архитектура клиент-сервер, когда множество машин-клиентов осуществляют доступ к одному серверу баз данных. В таких системах, которые можно определить как системы типа много-клиентов/один-сервер, проблемы управления базой данных решаются относительно просто, поскольку вся она хранится на одном сервере.

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

Архитектура клиент-сервер включает в себя три основных компонента:

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

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

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

Компоненты клиента

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

  • Компоненты программного обеспечения

  • Операционная система с возможностью многозадачной обработки информации;

  • развитый графический интерфейс пользователя (GUI). Для создания интерфейсных прикладных программ используются языки программирования 3-го и 4-го поколений.

  • коммуникационные возможности. Связка оборудование плюс операционная система должна обеспечить возможность связи с несколькими сетевыми операционными системами.

Компоненты сервера

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

Характеристика серверного оборудования зависит от уровня предоставляемого сервиса:

  • файловые сервисы. Файловый сервер предназначен для хранения файлов общего использования;

  • сервер приложений позволяет с рабочих станций запускать сетевые приложения, записанные на сервере;

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

  • сервисы факсимильной связи. Факс-сервер хранит, получает и рассылает факсимильные сообщения;

  • сервисы передачи данных. Позволяют клиентским ПК подключаться к серверу передачи данных, чтобы получить доступ к другим компьютерам или сервисам, к которым клиент не может подключиться непосредственно. Например, к электронным доскам объявлений, к удаленной локальной сети и т.д.

  • сервисы баз данных. Клиенту необходимо иметь только интерфейсную программу для получения доступа к серверу базы данных. Клиент посылает SQL-запросы на сервер. Сервер получает SQL-код, проверяет его, выполняет, а клиенту отсылает только результат;

  • сервисы транзакций; Сервер транзакций содержит код транзакции базы данных или процедуры, которые манипулируют информацией в БД. Интерфейсная программа на клиентском ПК посылает запрос на сервер транзакций для выполнения специфической процедуры, хранящейся на сервере БД. При этом по сети не передается никакой SQL-код. Сервер транзакций снижает нагрузку сети и обеспечивает лучшую производительность.

  • другие сервисы, включая обслуживание устройств CD-ROM, видео, резервное копирование и т.д.

Правила архитектуры клиент-сервер

Для корректного взаимодействия компонентов клиент-серверной архитектуры между собой требуется их соответствие некоторым основным правилам. Эти правила должны в равной степени выполнять и клиенты, и серверы, и ППО.

Слайд. Основные правила архитектуры клиент-сервер:

  • независимость от оборудования. Требует, чтобы процессы клиента, сервера и ППО могли выполняться на различных аппаратных платформах (IBM, DEC, Apple и др.) без какого-либо изменения функциональных возможностей;

  • независимость от программного обеспечения:

    • операционной системы,

    • сетевой системы,

    • приложений

Требует, чтобы процессы клиента, сервера и ППО поддерживали несколько операционных системи (Windows, OS/2, Linux, Unix), различные сетевые протоколы (TCP/IP, IPX) и различные приложения (таблицы, базы данных, электронную почту и т.д.).

  • открытый доступ к сервисам. Все клиенты в системе должны иметь неограниченный доступ ко всем сервисам, предоставляемым внутри сети. И эти сервисы не должны зависеть от расположения клиента или сервера;

  • распределение процессов:

    • автономность процессов,

    • максимальное использование локальных ресурсов,

    • масштабируемость и гибкость,

    • способность к взаимодействию и интегрируемость

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

Поэтому основными задачами презентационной логики являются:

  • формирование экранных изображений;

  • чтение и запись в экранные формы информации;

  • управление экраном;

  • обработка движений мыши и нажатие клавиш клавиатуры.

Бизнес-логика, или логика собственно приложений (Business processing Logic), – это часть кода приложения, которая определяет собственно алгоритмы решения конкретных задач приложения. Обычно этот код пишется с использованием различных языков программирования, таких как С, C++, Cobol, SmallTalk, Visual-Basic.

Логика обработки данных (Data manipulation Logic) – это часть кода приложения, которая связана с обработкой данных внутри приложения. Данными управляет собственно СУБД (DBMS). Для обеспечения доступа к данным используются язык запросов и средства манипулирования данными стандартного языка SQL

Обычно операторы языка SQL встраиваются в языки 3-го или 4-го поколения (3GL, 4GL), которые используются для написания кода приложения.

Процессор управления данными (Database Manager System Processing) – это собственно СУБД, которая обеспечивает хранение и управление базами данных. В идеале функции СУБД должны быть скрыты от бизнес-логики приложения, однако для рассмотрения архитектуры приложения нам надо их выделить в отдельную часть приложения.

В централизованной архитектуре (Host-based processing) эти части приложения располагаются в единой среде и комбинируются внутри одной исполняемой программы.

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

В зависимости от характера распределения можно выделить следующие модели распределений:

  • распределенная презентация или распределенное представление (Distribution presentation DP);

  • удаленная презентация или удаленное представление (Remote Presentation, RP);

  • распределенная бизнес-логика (Remote business logic, RBL);

  • распределенное управление данными (Distributed data management, DDM);

  • удаленное управление данными (Remote data management, RDМ,).