Главная страница
Навигация по странице:

  • Рисунок 1.1 - Двухзвенная клиент-серверная архитектура

  • Рисунок 1.2 - Трехзвенная клиент-серверная архитектура

  • Загрузчик. Диплом_Сайтиев_Release. Реализовать приложениесервер в среде MicrosoftVisualStudioна языкеVisualC#


    Скачать 378.04 Kb.
    НазваниеРеализовать приложениесервер в среде MicrosoftVisualStudioна языкеVisualC#
    АнкорЗагрузчик
    Дата28.04.2023
    Размер378.04 Kb.
    Формат файлаodt
    Имя файлаДиплом_Сайтиев_Release.odt
    ТипДокументы
    #1096048
    страница2 из 10
    1   2   3   4   5   6   7   8   9   10

    1. ТЕОРЕТИЧЕСКИЕ ОСНОВЫ КЛИЕНТСКИХ ПРОГРАММ

    1.1 Понятие и назначение клиентских программ


    Понятие «клиентская программа» возникло в связи с появлением технологии «клиент-сервер». Для того, чтобы дать определение понятию «клиентская программа», необходимо рассмотреть эту технологию [7].

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

    Технологии «клиент-сервер» была разработана в 80-х годах прошлого века и стала основной технологией глобальной сети Интернет.

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

    Протоколы — это стандарты, определяющие формы представления и способы пересылки сообщений, процедуры их интерпретации, правила совместной работы различного оборудования в сетях. Различают два типа протоколов в Интернет: базовые - протоколы физической пересылки сообщений между компьютерами (протоколы IP, TCP) и прикладные, отвечающие за передачу файлов (FTP), гипертекстовых сообщений (HTTP), электронной почты, протоколы передачи живого звука и другие.

    Преимуществами клиент-серверной технологии являются [9]:

    - снижение нагрузки на клиентскую часть;

    - высокая скорость обработки информации;

    - безопасность данных и защита от несанкционированного доступа;

    - отсутствие необходимости в системах хранения данных;

    - передача по сети только запросов и ответов;

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

    - обеспечение пользователей качественным интерфейсом.

    Благодаря этим преимуществам технология «клиент-сервер» получила большое распространение.

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

    Можно выделить три уровня функций, решаемые вычислительной сетью архитектуры «клиент-сервер» [10]:

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

    - прикладные функции, характерные для данной предметной области;

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

    Выполнение этих функций в основном обеспечивается следующими программными средствами:

    - компонент представления отвечает за пользовательский интерфейс;

    - прикладной компонент реализует алгоритм решения конкретной задачи;

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

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

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

    - сервер терминалов — распределенное представление данных;

    - файл-сервер — доступ к удаленной базе данных и файловым ресурсам;

    - сервер БД — удаленное представление данных;

    - сервер приложений — удаленное приложение.

    Двухзвенная архитектура показана на рис. 1.1.



    Рисунок 1.1 - Двухзвенная клиент-серверная архитектура

    Как правило, третьим звеном в трехзвенной архитектуре становится сервер приложений, т.е. компоненты распределяются следующим образом (рис. 1.2)

    Представление данных — на стороне клиента.

    Прикладной компонент — на выделенном сервере приложений (как вариант, выполняющем функции промежуточного ПО).

    Управление ресурсами — на сервере БД, который и представляет запрашиваемые данные.



    Рисунок 1.2 - Трехзвенная клиент-серверная архитектура

    Двухзвенная архитектура проще, так как все запросы обслуживаются одним сервером, но именно из-за этого она менее надежна и предъявляет повышенные требования к производительности сервера. Трехзвенная архитектура сложнее, но благодаря тому, что функции распределены между серверами второго и третьего уровня, эта архитектура представляет [12]:

    Высокую степень гибкости и масштабируемости.

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

    Высокую производительность (т.к. задачи распределены между серверами).

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

    Таким образом, клиентская программа [13] – это программа, с которой непосредственно взаимодействует пользователь, посылающая запросы к базе данных, находящейся на сервере, и получающая ответы от сервера. В зависимости от типа клиент может выполнять или не выполнять обработку информации. Важную роль имеет интерфейс клиентской программы (пользовательский интерфейс), который включает [28]:

    - средства отображения информации;

    - средства взаимодействия программа-пользователь;

    - устройства и технологии ввода данных;

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

    - поддержку принятия решений в конкретной предметной области;

    - порядок использования программы и документацию на неё.

    Другими словами, интерфейс пользователя –это совокупность экранных форм, которые видит пользователь, а также все программные компоненты, которые способны оказывать влияние на взаимодействие пользователя с программным обеспечением.
    1   2   3   4   5   6   7   8   9   10


    написать администратору сайта