Файл: Варианты архитектуры клиент - сервер.pdf

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

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

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

Добавлен: 04.04.2023

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

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

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

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

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

1.2. Двух- и трехуровневые системы архитектуры клиент-сервер

Системы с архитектурой клиент-сервер могут быть двух- или трехуровневыми.

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

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

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

· сервер приложения, в котором сосредоточены все бизнес-функции, правила и хранимые процедуры;

· сервер базы данных, он же менеджер ресурсов.

RDA- и DBS-модели опираются на двухуровневую систему разделения функций. В RDA-модели прикладные функции приданы программе-клиенту, в DBS-модели ответственность за их выполнение берет на себя ядро СУБД. В первом случае прикладной компонент сливается с компонентом представления, во-втором - интегрируется в компонент доступа к информационным ресурсам. Напротив, в AS-модели реализована классическая трехуровневая система разделения функций, где прикладной компонент выделен как важнейший элемент приложения, для его определения используются универсальные механизмы многозадачной операционной системы, и стандартизованы интерфейсы с двумя другими компонентами (компонентом представления и компонентом доступа к информационным ресурсам.)

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


Любая другая программа, которая пользуется ими, рассматривается как клиент приложения (Application Client - AC). Детали реализации прикладных функций в сервере приложений полностью скрыты от клиента приложения. AC обращается с запросом к конкретному сервису, но не к AS, то есть серверы приложений обезличены и служат лишь своего рода «рамкой» для оформления сервисов. Запросы, поступающий от AC, выстраиваются в очередь к AS-процессу, который извлекает и передает их для обработки службе в соответствии с приоритетами запросов.

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

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

Менеджеры транзакций.

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

В теоретической части курсовой работы была рассмотрена тема «Основные понятия архитектуры клиент-сервер».

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

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


2. Практическая часть.

2.1. Архитектура "файл-сервер"

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

Функции сервера: хранения данных и кода программы.

Функции клиента: обработка данных происходит исключительно на стороне клиента.

Конечно, основным достоинством данной архитектуры является простота организации. Проектировщики и разработчики информационной системы находятся в привычных и комфортных условиях IBM PC в среде MS-DOS, Windows или какого-либо облегченного варианта Windows Server. Имеются удобные и развитые средства разработки графического пользовательского интерфейса, простые в использовании средства разработки систем баз данных и/или СУБД.

Достоинства такой архитектуры:

· многопользовательский режим работы с данными;

· удобство централизованного управления доступом;

· низкая стоимость разработки;

· высокая скорость разработки;

· невысокая стоимость обновления и изменения ПО.

Недостатки:

· проблемы многопользовательской работы с данными: последовательный доступ, отсутствие гарантии целостности;

· низкая производительность (зависит от производительности сети, сервера, клиента);

· плохая возможность подключения новых клиентов;

· ненадежность системы.

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

2.3. Архитектура "клиент-сервер"

Клиент-сервер (Client-server) - вычислительная или сетевая архитектура, в которой задания или сетевая нагрузка распределены между поставщиками услуг (сервисов), называемых серверами, и заказчиками услуг, называемых клиентами. Нередко клиенты и серверы взаимодействуют через компьютерную сеть и могут быть как различными физическими устройствами, так и программным обеспечением.

Первоначально системы такого уровня базировались на классической двухуровневой клиент-серверной архитектуре (Two-tier architecture). Под клиент-серверным приложением в этом случае понимается информационная система, основанная на использовании серверов баз данных.


Преимуществами данной архитектуры являются:

· возможность, в большинстве случаев, распределить функции вычислительной системы между несколькими независимыми компьютерами в сети;

· все данные хранятся на сервере, который, как правило, защищен гораздо лучше большинства клиентов, а также на сервере проще обеспечить контроль полномочий, чтобы разрешать доступ к данным только клиентам с соответствующими правами доступа;

· поддержка многопользовательской работы;

· гарантия целостности данных.

Недостатки:

· неработоспособность сервера может сделать неработоспособной всю вычислительную сеть;

· администрирование данной системы требует квалифицированного профессионала;

· высокая стоимость оборудования;

· бизнес логика приложений осталась в клиентском ПО.

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

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

Также данный вид архитектуры называют архитектурой с "толстым" клиентом.

2.1. Многоуровневый "клиент-сервер".

Многоуровневая архитектура клиент-сервер (Multitier architecture) - разновидность архитектуры клиент-сервер, в которой функция обработки данных вынесена на один или несколько отдельных серверов. Это позволяет разделить функции хранения, обработки и представления данных для более эффективного использования возможностей серверов и клиентов.

Среди многоуровневой архитектуры клиент-сервер наиболее распространена трехуровневая архитектура (трехзвенная архитектура, three-tier), предполагающая наличие следующих компонентов приложения: клиентское приложение (обычно говорят "тонкий клиент" или терминал), подключенное к серверу приложений, который в свою очередь подключен к серверу базы данных.


Плюсами данной архитектуры являются:

· клиентское ПО не нуждается в администрировании;

· масштабируемость;

· конфигурируемость - изолированность уровней друг от друга позволяет быстро и простыми средствами переконфигурировать систему при возникновении сбоев или при плановом обслуживании на одном из уровней;

· высокая безопасность;

· высокая надежность;

· низкие требования к скорости канала (сети) между терминалами и сервером приложений;

· низкие требования к производительности и техническим характеристикам терминалов, как следствие снижение их стоимости.

Минусы:

· растет сложность серверной части и, как следствие, затраты на администрирование и обслуживание;

· более высокая сложность создания приложений;

· сложнее в разворачивании и администрировании;

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

· высокие требования к скорости канала (сети) между сервером базы данных и серверами приложений.

Таблица 1 - Результаты анализа моделей технологий «Файловый сервер» и «Клиент – сервер»

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

Таким образом, если предстоит работа с небольшими информационными системами, не требующими графического интерфейса с пользователем, можно выбрать FS - модель. Проблему графического интерфейса легко решает RDA-модель. DBS-модель является хорошим вариантом для СУБД. AS-модель является лучшим вариантом для создания больших информационных систем, а также в случае использования низкоскоростных каналов связи.

ЗАКЛЮЧЕНИЕ

В процессе курсовго исследования была достигнута цель работы «Варианты архитектуры клиент-сервер».

А так же решены следующие задачи:

1) Описана предметная область. Архитектура сети клиент-сервер.