Файл: Технология «клиент-сервер» (Клиент — сервер).pdf

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

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

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

Добавлен: 27.06.2023

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

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

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

Введение

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

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

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

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

2. Клиент — сервер

2.1 Основные понятия

2.1.1 Определения.

Архитектура информационной системы - концепция, определяющая модель, структуру, выполняемые функции и взаимосвязь компонентов информационной системы. [3]

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

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

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


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

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

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

Сетевая модель OSI –  (базовая эталонная модель взаимодействия открытых систем, англ. Open Systems Interconnection Basic Reference Model) — абстрактная сетевая модель для коммуникаций и разработки сетевых протоколов.

2.1.2 История возникновения архитектуры «клиент-сервер»

Появление архитектуры связано, в первую очередь, с широким распространением компьютерных сетей. Именно тогда стала актуальной задача доступа к удаленным ресурсам (данные, вычислительные ресурсы).

Технологии клиент – сервер начала свое возрождение вначале 1980-х годах. Развитие этой системы сразу пошло по трем направлениям:

  • Базы данных. В 1982 году в одной молодой компании, специализирующейся в области СУБД, решили отделить базы данных от приложений, которые их используют. Это была компания Britton-Lee, которую основали Боб Эпштейн, Паула Хауторн и Майк Убелл. Их целью было создание автономного аппаратно-программного сервера баз данных, получившего название Intelligent Database Machine (IDM).

Реализация оказалось неудачна.

Но идею не забыли. В скором времени тот же Эпштейн уже значился в числе основателей другой компании, разрабатывающей программные продукты. Это была уже компания Sybase, сделавшая клиент-серверные технологии более практичными и популярными.

Успех принесло чисто программное решение!!!

  • Вычислительные ресурсы. В 1983 году двое ученых из исследовательского центра Xerox в Пало-Альто (PARC), Эндрю Биррелл и Брюс Джей Нельсон, придумали удаленный вызов процедур (Remote Procedure Call, RPC), т. е. механизм, используя который, один компьютер в сети может «попросить» другой компьютер выполнить часть его вычислительной работы.

В настоящее время стандартное решение для всех сетевых операционных систем (семейство Unix, Windows, MAC OS и т.д.)


Пример. 2006. Дыра в системе RPC Windows XP – вирус Lovesan (Mblaster)

  • Удаленный доступ к файлам. В 1984 году Билл Джой из компании Sun Microsystems возглавил разработку сетевой файловой системы NFS (Network File System), использующей RPC для того, чтобы дать возможность компьютерам обращаться к файлам, размещенным на других компьютерах в той же сети.
  • Добрые люди поставьте троечку)

Однако все это были частные решения. Реальное распространение архитектуры "клиент-сервер" стало возможным благодаря развитию и широкому внедрению в практику концепции открытых систем.

2.1.3 Концепция открытых систем

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

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

Основу составила модель OSI (Open System Interconnection), принятая ISO в 1974 г. Переход к этой модели на практике оказался весьма длительным.

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

  • Свойство мобильности означает сравнительную простоту переноса програмной системы в широком спектре аппаратно-программных средств, соответствующих стандартам (независимость от аппаратуры и ОС).
  • Интероперабельность означает возможность КОМПЛЕКСИРОВАНИЯ новых программных систем на основе использования готовых компонентов, выпускаемых различными производителями, со стандартными интерфейсами.

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

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

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

На аппаратном уровне большинство проблем было решено примерно к середине 1990-х годов – с массовым внедрением сети Internet.

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

В области СПО - стандартизованная на уровне сетевых интерфейсов операционная система.

Сейчас такой системой являются, практически, все современные версии ОС семейства UNIX, Windows и др. Фирмам-поставщикам различных вариантов ОС UNIX и Windows в результате длительной работы удалось придти к соглашению об основных стандартах этой операционной системы. Сейчас все распространенные версии операционных систем в основном совместимы по части интерфейсов, предоставляемых прикладным (а в большинстве случаев и системным) программистам.

2.2 Клиент-серверная архитектура в БД.

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

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

В файл-серверной системе данные хранятся на файловом сервере (к примеру, Novell NetWare или Windows NT Server), а их обработка производится на рабочих станциях, на которых, как правило, функционирует одна из, так называемых, "настольных СУБД" - Access, FoxPro, Paradox и т.п.


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

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

Прикладная программа

Клиентские

компьютеры

База данных

Файловый сервер

Прикладная программа

2.3 Файл-серверная архитектура.

Архитектура клиент-сервер в системах управления предприятием связано с делением любых прикладных программ на три основных компонента или уровня. Такие как:

  • представление (визуализация) данных;
  • прикладная логика;
  • управление базой данных.
  • Зато сам xD

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

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

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