Файл: Описание функционирования приложения.pdf

ВУЗ: Не указан

Категория: Курсовая работа

Дисциплина: Не указана

Добавлен: 04.04.2023

Просмотров: 187

Скачиваний: 1

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

Введение

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

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

Объектом исследования является система управления базами данных.

Предметом исследования являются архитектуры системы «клиент-сервер».

Целью курсовой работы является исследование архитектуры «Клиент-сервер».

Поставленная цель определила решение следующих задач, таких как:

  • исследовать особенности и принципы архитектуры «клиент-сервер»;
  • рассмотреть модели «тонкого» и «толстого» клиента;
  • рассмотреть многоуровневую архитектуру «клиент-сервер»;
  • проанализировать клиент-серверное приложение для защищенной передачи сообщений.

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

Глава 1. Теоретические аспекты архитектуры «клиент-сервер»

1.1. Особенности и принципы архитектуры «клиент-сервер»

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

Клиент – это первый процесс, который отправляет запрос второму процессу, то есть серверу.

Сервер – это второй процесс, который получает запрос, выполняет его и отправляет ответ клиенту.


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

Рисунок 1 – Архитектура «клиент-сервер»

Типичные варианты разделения функций между клиентом и сервером (рисунок 2):

- распределенная база данных;

- распределенное представление;

- сервер базы данных (удаленное представление);

- распределенная функция;

- удаленный доступ к данным.

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

Сервер выполняет следующие функции:

  • хранение данных;
  • обработка запроса от клиента с помощью процедур и триггеров;
  • отправка результата клиенту.

Функции, которые реализуются клиентской частью:

  • формирование и отправка запроса к серверу;
  • получение результатов и отправка дополнительных команд (запросов на добавление, удаление или обновление информации).

Рисунок 2 – Варианты разделения функций между клиентом и сервером

Наиболее распространенными является модель удаленного доступа к данным и модель сервера базы данных (удаленного представления).

Моделью удаленного доступа к данным (RDA) реализуются функции представления информации и логика прикладной обработки с помощью совмещенных программ, которые выполняются на клиенте. Функция управления данными реализуется через среду передачи при помощи операторов языка SQL или вызова функций специальной библиотеки API (интерфейс прикладного программирования).

Основным достоинством RDA-модели является большое количество готовых СУБД с SQL-интерфейсами и инструментальных средств, которые обеспечивают быстрое создание клиентских программ.

К недостаткам RDA-модели относится достаточно высокая загрузка системы передачи данных, т.к. вся логика сосредотачивается в приложении, а данные, которые обрабатываются, располагаются на удаленном узле. Также построенные на основе RDA-модели системы являются неудобными в разработке, модификации и сопровождении.

В модели сервера БД (DBS) функции клиента ограничены функциями представления информации, а прикладные функции обеспечивает приложение, которое находится на сервере. Такая модель более технологична, чем модель RDA, и реализуется в СУБД Oracle, Sybase и Ingress. Приложения при этом реализуются как хранимые процедуры.


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

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

Модель распределенного представления представлена мощным сервером, а клиенты практически отсутствуют. К функциям клиента относится простое отображение информации на мониторе и связь с сервером с помощью локальной сети. Модель распределенного представления реализуется в СУБД, которые поддерживают работу X-терминалов. Хост-машина (основной компьютер) должна быть достаточно мощной для возможности обслуживания нескольких Х-терминалов. У X-терминала должен быть достаточно быстрый процессор и большой объем оперативной памяти вследствие отсутствия дисковых накопителей.

Достоинством данной модели является простота управления доступом к системе и обслуживания, а также невысокая стоимость.

Недостатки модели: при невысокой надежности сервера система является уязвимой, а также высокие требования к производительности сервера при большом количестве клиентов.

1.2. Модели «тонкого» и «толстого» клиента

Клиент-серверная архитектура может быть классифицирована на две модели на основе функциональности клиента –

Модель «тонкого» клиента.

В модели «тонкого» клиента вся обработка приложений и управление данными осуществляется сервером. Клиент просто отвечает за запуск программного обеспечения для презентации.

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

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

Основным недостатком является то, что он создает большую нагрузку на обработку как на сервере, так и в сети.

Модель «толстого» клиента.


В модели «толстого» клиента сервер отвечает только за управление данными. Программное обеспечение на клиенте реализует логику приложения и взаимодействия с пользователем системы.

  • Наиболее подходит для новых систем C / S, где возможности клиентской системы известны заранее
  • Более сложная, чем модель «тонкого» клиента, особенно для управления. Новые версии приложения должны быть установлены на всех клиентах.

Наиболее подходит для новых систем C/S, где возможности клиентской системы известны заранее

Более сложная, чем модель тонкого клиента, особенно для управления. Новые версии приложения должны быть установлены на всех клиентах.

Рисунок 3 – Модели «клиент-серверной» архитектуры

1.3. Многоуровневая архитектура «клиент-сервер»

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

Рисунок 4 – Трехуровневая архитектура «клиент-сервер»

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

Рисунок 5 – Состав трехуровневой архитектуры

Уровень презентации.

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


Уровень приложения (бизнес-логика, уровень логики или средний уровень).

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

Уровень данных.

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

Преимущества:

  • Лучшая производительность, чем у тонкого клиента, и проще в управлении, чем у толстого клиента.
  • Улучшает возможность повторного использования и масштабируемости – по мере увеличения требований могут быть добавлены дополнительные серверы.
  • Обеспечивает многопоточную поддержку, а также уменьшает сетевой трафик.
  • Обеспечивает ремонтопригодность и гибкость

Лучшая производительность, чем у тонкого клиента, и проще в управлении, чем у толстого клиента.

Улучшает возможность повторного использования и масштабируемости – по мере увеличения требований могут быть добавлены дополнительные серверы.

Обеспечивает многопоточную поддержку, а также уменьшает сетевой трафик.

Обеспечивает ремонтопригодность и гибкость

Недостатки:

  • Неудовлетворительная тестируемость из-за отсутствия инструментов тестирования.
  • Более критичная надежность и доступность сервера.
  • Неудовлетворительная тестируемость из-за отсутствия инструментов тестирования.
  • Более критичная надежность и доступность сервера.

Глава 2. Клиент-серверное приложение для защищенной передачи сообщений

2.1 Концепция приложения

Клиент-серверная архитектура приложения подразумевает наличие у предприятия собственного сервера. Такое решение имеет ряд преимуществ: