Добавлен: 27.06.2023
Просмотров: 72
Скачиваний: 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-х ее составляющих полностью выполняется на ином компьютере, и связь между компонентами на разных компьютерах осуществляется через ту или иную сетевую среду посредством отправки запросов на получение какого либо ресурса.
Так как архитектура файл-сервер является частным случаем технологии клиент-сервер, в ней обязательно есть клиент и сервер. Соответственно, выделяют клиентскую и серверную стороны приложения. Клиентская сторона приложения функционирует на рабочем месте пользователя, в роли которого в чаще всего выступает персональный компьютер. Сервер функционирует на специализированном комплексе, включающем в себя мощные аппаратные средства, требуемый набор стандартного программного обеспечения, систему управления базами данных(СУБД) и естественно структуры данных.