Файл: Реализовать приложениесервер в среде MicrosoftVisualStudioна языкеVisualC#.odt

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

Категория: Не указан

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

Добавлен: 09.12.2023

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

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

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


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

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

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

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

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



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

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

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

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

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

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

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

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

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

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

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

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

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

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

1.2 Основные виды клиентских программ


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

«Тонкий» клиент

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

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

«Толстый» клиент

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


В последнее время все чаще используется еще один термин: «rich»-client. «Rich»-клиент своего рода компромисс между «толстым» и «тонким» клиентом. Как и «тонкий» клиент, «rich»-клиент также представляет графический интерфейс, описываемый уже средствами XML и включающий некоторую функциональность толстых клиентов (например интерфейс drag-and-drop, вкладки, множественные окна, выпадающие меню и т.п.). Прикладная логика «rich»-клиента также реализована на сервере. Данные отправляются в стандартном формате обмена, на основе того же XML (протоколы SOAP, XML-RPC) и интерпретируются клиентом.

Таким образом [13], технология «клиент-сервер» обладает значительными преимуществами по сравнению с файл-серверной технологией, главными из которых являются высокая производительность, безопасность и масштабируемость. Имеется несколько типов серверов, среди которых можно назвать веб-серверы, серверы баз данных, серверы приложений, почтовые серверы. Примерами клиентов являются браузеры, мобильные приложения, пользовательские программы для доступа к базе данных. В зависимости от сложности клиенты подразделяются на «толстые» - обладающие возможность производить обработку данных самостоятельно, и «тонкие», служащие только для доступа к данным.

Развитие современных технологий AJAX, JavaScript, JSON-RPC, WebSocket позволили сайтам передать часть нагрузки по обработке информации компьютеру пользователя. Браузер клиента связывается с главным сервером по API и получает данные, фильтрует, показывает их пользователю. Таким образом, тонким клиентом по отношению к главному серверу, хранящему все данные, становится оболочка сайта и управляющий JavaScript-код.

Рассмотрим примеры клиентских программ [12]:

Веб-браузер — прикладное программное обеспечение для просмотра веб-страниц, содержания веб-документов, компьютерных файлов и их каталогов; управления веб-приложениями; а также для решения других задач. Примеры браузеров – Google Chrome, Internet Explorer, Mozilla Firefox, Яндекс Браузер. Распространяются бесплатно. В глобальной сети браузеры используют для запроса, обработки, манипулирования и отображения содержания веб-сайтов. Многие современные браузеры также могут использоваться для обмена файлами с серверами FTP, а также для непосредственного просмотра содержания файлов многих графических форматов (gif, jpeg, png, svg), аудио-видео форматов (mp3, mpeg), текстовых форматов (pdf, djvu) и других файлов. Сегодня имеется множество браузеров, и конкуренция между ними побуждает разработчиков к постоянной работе над их улучшением и расширением функциональных возможностей. Со времени начала применения браузеров во Всемирной паутине в начале 1990-х годов, из простого средства просмотра текстовой информации браузер превратился в комплексное прикладное программное обеспечение для обработки данных и обеспечения интерфейса между информационными ресурсами и человеком.


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

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

Мессенджер – это программа-клиент для обмена сообщениями в реальном времени через Интернет. Могут передаваться текстовые сообщения, звуковые сигналы, изображения, видео, а также производиться такие действия, как совместное рисование или игры. Многие из таких программ-клиентов могут применяться для организации групповых текстовых чатов или видеоконференций. Мессенджеры не работают самостоятельно, необходимо подключение к серверу. Широкому кругу пользователей известно некоторое количество популярных сетей (и клиентов) обмена сообщениями, таких как IRC, Skype, ooVoo, AIM, ICQ, MSN, Yahoo!, Jitsi, XMPP. Каждая из этих сетей разработана отдельной группой разработчиков, имеет отдельные серверы и протоколы, отличается своими правилами и особенностями. Между различными сетями обычно нет прямой связи (только в XMPP существует понятие межсетевого транспорта), таким образом, пользователь сети Skype не может связаться с пользователем сети ICQ, однако ничто не мешает быть одновременно пользователем нескольких сетей.

FTP–клиент – компьютерная программа для упрощения доступа к FTP–серверу. FTP – сервер – это сервер, используемый для обмена файлами между компьютерами по локальной сети или сети Интернет.

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