Файл: Общетеоретический сектор (Распознавание ПК сервера и владельца).pdf

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

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

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

Добавлен: 27.06.2023

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

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

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

Преимущества такого способа:

-возможно централизованное администрирование прикладных функций,

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

Недостаток - ограниченность средств создание хранимых процедур по сравнению с языками общего назначения (C и Pascal). На практике обычно используется смешанный способ: простейшие прикладные функции выполняются хранимыми процедурами на сервере; более сложные прикладные функции реализуются на клиенте непосредственно в прикладной программе;

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

В продуктах практически всех компаний сервер получает от владельца текст оператора на языке SQL. Сервер производит компиляцию полученного оператора. Далее (если компиляция завершилась успешно) происходит выполнение оператора.

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

Это подводит к идее поддержки локального кэша общей БД на стороне каждого владельца. Фактически, Положение локального кэширования БД является частным случаем Положении реплицированных баз данных. Как и в общем случае, для поддержки локального кэша БД ПО рабочим станциям должно содержать компонент управления базами данных – упрощенный вариант ПК сервера баз данных, который, например, может не обеспечивать многопользовательский режим способа.


Отдельной проблемой является обеспечение согласованности (когерентности) кэшей и общей БД. Здесь возможны различные решения – от автоматической поддержки согласованности за счет средств базового программного обеспечения управления базами данных до полного перекладывания этой задачи на прикладной степень.

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

- возможность, в множестве случаев, распределить функции вычислительной программные детали между несколькими независимыми ПК в локальной сети;

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

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

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

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

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

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

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

Данный вид архитектуры называют еще архитектурой с "толстым" пользователем. Здесь логика представления данных и бизнес-логика размещаются на клиенте, который (скажем, в случае, когда сервером является СУБД) общается с логикой сохранения и накопления данных на сервере, используя язык структурированных запросов SQL. Однако необходимость установки "толстых клиентов", требующих значительного количества специальных библиотек и специальной настройки окружения, на большое количество пользовательских ПК с различными операционными средами, как правило, вызывает массу проблем.


Как альтернатива возникла также двухзвенная архитектурная система "с тонким пользователем". При этом в идеале пакет программ-клиент реализует лишь графический интерфейс владельца (GUI) и передает/принимает запросы, а вся бизнес-логика решается сервером. В идеале пользователем является просто интернет-браузер, который имеется в стандартной операционной среде любого пользовательского ПК и не требует специальной настройки, установки специализированного ПО и т.п. К сожалению, такая схема тоже не свободна от недостатков, хотя бы уже потому, что серверу иногда приходится брать на себя несвойственные для него функции воплощении бизнес логики приложения (например, серверу СУБД приходится выполнять расчеты).

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

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

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

Схематически такую архитектурную системную часть можно представить, как показано на рис 2.2.3.1.

Рис. 2.2.3.1. Представление многоуровневой архитектуры "клиент-сервер"

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


группировка, подсчет значений) с информациями, уже загруженными на терминал.

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

ориентированная СУБД. Если третий степень представляет собой базу данных вместе с хранимыми процедурами, триггерами и схемой, описывающей программа в терминах реляционной виды, то второй степень строится как программный интерфейс, связывающий клиентские компоненты с прикладной логикой БД.

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

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

Минусами данной архитектуры являются: растет трудность серверной части и, как следствие, затраты на администрирование и обслуживание; более значительная трудность создания программных средств; сложнее в разворачивании и администрировании; высокие востребования к производительности серверов программных средств и ПК сервера БД, а, значит, и значительная стоимость серверного оборудования; высокие востребования к скорости канала (локальной сети) между сервером БД и ПК серверами программных средств.

Начало процессу развития корпоративного программного обеспечения в многозвенной архитектурной системному средству было положено еще в рамках технологии "клиент- сервер". В них наряду с клиентской секторную приложения и сервером баз данных появились серверы программных средств (Application Servers).


В идеале: пакет программ-клиент реализует GUI, передает запросы серверу программных средств и принимает от него ответ, сервер программных средств реализует бизнес-логику и обращается с запросами к серверу "третьего уровня" (например, серверу БД за информациями), сервер третьего уровня обслуживает запросы ПК сервера программных средств. Пакет программ-клиент, таким образом, может быть "тонкой".

Преимущества такой архитектуры очевидны: изменения на каждом из звеньев можно осуществлять независимо; снижаются нагрузки на сеть, поскольку звенья не обмениваются между собой большими объемами данных; обеспечивается масштабирование и простая модернизация оборудования и программного обеспечения, поддерживающего каждое из звеньев, в том числе обновление серверного парка и терминального оборудования, СУБД и т.д.; приложения могут создаваться на стандартных языках третьего или четвертого поколения (Java, C/C++).

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

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

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