Файл: Технология клиент-сервер (динамика создания и изменения клиент-серверной технологии).pdf

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

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

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

Добавлен: 22.04.2023

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

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

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

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

Конечно, для решения этой проблемы можно использовать еще один класс настольных приложений. Это специализированные системы управления базами данных для персональных ЭВМ, так называемые “настольные” СУБД. Они лучше приспособлены для работы с большими объемами структурированной информации, ее поиска, сортировки, осуществления выборок, подготовки отчетов. [4]

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

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

Можно, конечно, использовать персональные компьютеры для автоматизации локальных задач, для которых достаточно отдельного рабочего места. Однако, большинство задач не являются изолированными друг от друга, поскольку в системе управления предприятием всегда существует тесные связи между отдельными звеньями, горизонтальные и вертикальные. Каждый сотрудник обменивается той или иной информацией с сотрудниками своего подразделения, с другими подразделениями, с руководством и с подчиненными. [5]

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


По мере увеличения числа ПЭВМ и повышения квалификации пользователей, на предприятии все сильней осознается потребность в быстром, надежном и удобном способе оперативного обмена большими объемами данных между компьютерами, а главное, между пользователями. Это позволил бы, как минимум, передавать информацию между отдельными рабочими местами, а как максимум,решать задачи более высокого уровня, объединяя отдельные автоматизированные места в интегрированные комплексы. И, естественно, спрос породил предложение - были созданы локальные вычислительные сети и архитектура файл-сервер. [1]

Локальные вычислительные сети и архитектура файл-сервер

Локальные вычислительные сети (ЛВС) предназначены для объединения отдельных вычислительных устройств. Они включают в себя ту или иную среду (чаще всего, проводную), обеспечивающую высокую скорость передачи данных, приемопередающие устройства, осуществляющие связь между компьютером и средой, а также набор протоколов, определяющих порядок взаимодействия в сети.

Расстояние между устройствами в локальных сетях, как правило, составляет десятки-сотни метров, то есть, эти технологии применяются в пределах одного здания. ЛВС обеспечивают высокую скорость информационного обмена, но само понятие “высокой скорости” сильно изменилось. Если в начале девяностых высокой считалась скорость в 1 мегабит в секунду, то сейчас обычным считается 100 мегабит в секунду, а на подходе и 1000 мегабит/с (1 гигабит/с), что в тысячу раз больше. [1]

Чаще всего, когда в организации появляется хотя бы несколько компьютеров, возникает потребность наладить оперативный обмен информацией между ними. Поэтому вскоре после появления персональных компьютеров для их объединения были созданы локальные вычислительные сети. [5]

Этому способствовали два фактора. Во-первых, количество ПЭВМ во многих организациях и на предприятиях стало значительным, и задача высокопроизводительного оперативного обмена информацией между рабочими стала особенно актуальной. [3]

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

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


Одноранговая сеть позволяет решить проблемы передачи файлов между отдельными персональными компьютерами, а также разделения дефицитных ресурсов между несколькими пользователями. Однако, она не может быть использована для создания приложений, в которых необходим одновременный доступ к данным с нескольких ПЭВМ. Кроме того, надежность и производительность подобной сети крайне ограничена. [2]

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

1.3 Архитектура файл-сервер

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

Файловый сервер - это комплекс аппаратных и программных средств, обеспечивающий совместный доступ к файловым ресурсам (а также к принтерам) через локальную сеть многим пользователям одновременно. Как правило, при построении файлового сервера используется специализированная аппаратура (с большим объемом оперативной памяти, быстродействующими и более надежными внешними устройствами). Файловый сервер функционирует под управлением специализированного программного обеспечения - сетевой операционной системы. В качестве стандарта де-факто на промышленных предприятиях применяется серверная операционная система Netware фирмы Novell. [2]

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

И наконец, для нормального функционирования файл-серверных приложений, естественно, необходима собственно локальная сеть, соединяющая между собой клиент и сервер. Работоспособность файл-серверного приложения напрямую зависит от надежности и производительности локальной сети. [4]


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

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

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

На определенном этапе развития информационной системы предприятия архитектура файл-сервер является наиболее естественной. Она позволяет создать на предприятии автоматизированные комплексы масштаба отдела. Эти комплексы состоят из рабочих мест. Данные задач хранятся на сервере, как набор файлов, к которым осуществляется доступ со всех рабочих мест отдела. В архитектуре файл-сервер можно частично автоматизировать и обмен данными между различными отделами посредством передачи файлов. [2]


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

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

1.4 Архитектура клиент-сервер

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

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

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

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