Файл: Технология «клиент-сервер» (Теоретические аспекты технологии «Клиент – сервер»).pdf
Добавлен: 15.05.2023
Просмотров: 197
Скачиваний: 3
Введение
На начальном этапе развития компьютерной техники каждая отдельная электронно-вычислительная машина (ЭВМ) представляла собой изолированное хранилище информации.
Пользователи распределенных компьютеров не имели возможности совместно использовать общую информацию. Данное обстоятельство в значительной степени уменьшало выгоду, которую можно было получить, переведя организацию на использование ЭВМ. Для решения данной проблемы, по предоставлению нескольким пользователям доступа к общей информации, было предложено использование многотерминальных ЭВМ. На указанных ЭВМ устанавливались системы общего пользования, например, "Примус" или TSO для больших машин фирмы IBM. Но использование многотерминальных машин привело в свою очередь, к новым проблемам таким как:
- недостаточная вычислительная мощность центральной ЭМВ;
- привязка к операционной системе, установленной на центральной ЭВМ, что вынуждало программистов разрабатывать ПО для конкретной операционной системы;
- стоимость вычислительной машины, позволяющей выполнять поставленные задачи;
Несмотря на перечисленные недостатки архитектуры, мощная центральная ЭВМ с несколькими терминалами продолжает использоваться для решения локальных задач, требующих большой вычислительной мощности.
Одновременно с многотерминальными ЭВМ развивались персональные компьютеры (ПК). ПК обладают множеством преимуществ перед многотерминальными ЭВМ:
- простота эксплуатации;
- широкое распространите по всему Миру;
- низкая стоимость;
- разнообразие прикладного программного обеспечения для работы с текстом, графикой, видео и т.д.;
Но у ПК также присутствуют недостатки, которые выражаются в невысокой вычислительной мощности и необходимости приобретения дополнительных программно-аппаратных средств для устранения изолированности между распределенными ПК.
Растущее с каждым годом количество ПК выявило необходимость пользователей в доступе к более чем одному компьютеру. Для решения этой задачи ПК начали объединять в локальные сети, устанавливая на них специализированные операционные системы. Данная технология получила название: файл-сервер.
Однако введение данной архитектуры предоставления доступа к информации выявил свои недостатки:
- невозможность частичной трансляции файлов, передача возможна только целого элемента;
- трудности с обеспечением конфиденциальности доступа;
- высокая нагрузка на сеть, что приводило к сбою в работе ПК и искажению передаваемых файлов;
Проанализировав применяемые архитектуры, было решено совместить преимущества персональных компьютеров и мощных центральных ЭВМ.
Такой подход к реализации общего доступа к информации в ПК соединенным с центральной ЭВМ, устанавливается специально программное обеспечение, которое предоставляет этому компьютеру возможность работы в режиме терминала. Таким образом, мы имеем архитектуру, включающую в себя мощную центральную ЭВМ предоставляющую доступ к хранимой информации отдельному персональному компьютеру.
Целью курсовой работы является изучение технологии «Клиент-сервер». Работа состоит из введения, 2 глав, заключения и списка литературы.
Глава 1 Теоретические аспекты технологии «Клиент – сервер»
1.1 Архитектура клиент-сервер
Для решения указанных выше проблем и реализации решения задачи по обеспечению постоянного доступа к информации с распределенных персональных компьютеров стало применение архитектуры, получившей название «клиент-сервер».
В указанной архитектуре входящие в сеть компьютеры делились на две группы: клиенты и серверы.
Компьютер, имеющий роль сервера, представлял из себя ЭВМ с большой оперативной памятью и имел увеличенную емкость дискового пространства. На данном компьютере подразумевается хранение базы данных и выполнение сложных вычислительных операций требующих соответствующих ресурсов.[1]
Компьютер клиент должен выполнять первичную обработку данных при вводе запросов, форматирование данных, а также окончательную обработку данных при выводе на монитор.
Клиент-серверная архитектура имеет преимущества перед указанными ранее архитектурами:
- каждый тип компьютера имеет свое назначение;
- на «клиентах» устанавливаются знакомые пользователям ПК пакеты обработки информации;
- «клиент» позволяет выполнять быструю первичную обработку вводимой информации;
- пользователям компьютеров «клиентов», предоставляется возможность выбора программного обеспечения для ввода и вывода информации;
- в качестве компьютеров-клиентов могут одновременно использоваться компьютеры разных типов с различными операционными системам;
- данная архитектура предоставляет возможность реализовать распределенную обработку, так как часть работы исполняется на компьютере-клиенте, а часть на компьютере-сервере;
Указанные выше достоинства позволяют оптимизировать работу клиента и сервера, снизить нагрузку сервера и увеличить число клиентов, одновременно работающих с конкретным сервером.
1.2 СУБД в архитектуре клиент сервер
Чаще всего архитектура клиент-сервер применяется для приложений, разработанных с использованием систем управления базами данных (СУБД).
При таком варианте реализации на сервере размещается ядро СУБД и выполняются наиболее сложные операции по вводу, хранению и первичной обработке данных.
В качестве примера приведем реляционную базу данных, в которой на сервере исполняются такие ресурсоемкие операции, как сортировка данных в таблице, выполнение сложных запросов, соединение таблиц. Указанное централизованное хранение базы данных позволяет облегчить работы по администрированию БД, так как они выполняются локально на серверах.
Рассматриваемая нами архитектура клиент-сервер предоставляет возможность ускорить работу приложений, уменьшая объем информации, передаваемой по сети. Это становиться возможным при условии того, что от клиента к серверу будет передаваться запрос на обработку данных, которые представляет из себя небольшое предложение на языке запросов, например SQL.[2]
Выполнение запроса осуществляется на сервере и обратно клиенту передаются только те данные, которые удовлетворяют критериям запроса. Если выполнения операций вставки, удаления, модификации данных или корректировки структуры базы данных, не имеют успеха, то обратно клиенту по сети передается лишь сообщение об неспешности выполнения операции. Программы, установленные на компьютерах-серверах, разрабатываются так, чтобы максимально использовать возможности конкретной вычислительной платформы и обеспечить максимальную производительность как можно большего числа одновременно работающих пользователей.
Дальнейшим развитием архитектуры клиент-сервер явилось использование в сети не одного, а нескольких серверов баз данных. Это позволило перейти от работы с локальной БД к работе с распределенной БД. Причем работа с распределенной БД "прозрачна" для пользователя, т.е. он работает с ней так же, как с локальной БД, не задумываясь о том, на каком сервере лежат его данные. Пользователь обращается к одному из серверов, тот, не найдя у себя нужных данных, автоматически обращается к другим серверам.
Многосерверная архитектура сегодня представляется очень перспективной. Она позволяет заменить одну мощную центральную машину на несколько менее мощных и, следовательно, более дешевых, и еще больше распараллелить обработку данных. Кроме того, такая архитектура повышает надежность системы, поскольку при выходе из строя одного из серверов все приложения, работающие с данными других серверов, могут продолжать работу. При выходе из строя части локальной или глобальной сети система может попытаться найти альтернативный путь к нужному серверу (по другим ветвям сети). Кроме того, на локальных серверах могут храниться данные, наиболее часто используемые в данном узле, что позволяет свести к минимуму передачу данных по сети от сервера к серверу.
Конечно, реализация распределенной базы данных очень сложна. Требуется обеспечить надежность работы, целостность и непротиворечивость данных в узлах, перекодировку данных при передаче по сети, быстродействие в многопользовательском режиме работы, мощные средства администрирования. Поэтому для создания приложений с распределенной БД и распределенной обработкой используются специальные распределенные СУБД . Наиболее известными из них являются Informix, Ingres, InterBase, Oracle, Sybase. Самые мощные из них, например, Oracle , позволяют одновременно использовать в одном приложении, работающем на сети, различные типы компьютеров, операционных систем, сетевых протоколов и СУБД.
Переход от БД на одном центральном сервере к распределенной БД той же фирмы, размещенной на нескольких серверах под единой ОС, называется горизонтальным масштабированием (поскольку один компьютер заменяется на несколько компьютеров примерно такой же суммарной мощности). Такие СУБД, как Oracle, обеспечивающие полную переносимость своих приложений на компьютеры любого типа, позволяют выполнять и "вертикальное масштабирование". При этом пользователь может заменить компьютер-сервер одного типа, на компьютер-сервер другого типа (более мощный). Приложение после такой замены продолжает успешно функционировать.
В последнее время архитектура клиент-сервер получила дальнейшее развитие. Появилась архитектура, называемая равный к равному (peer to peer). Она реализована, например, в СУБД InterBase фирмы Borland и в СУБД Oracle7. При этой архитектуре все узлы сети являются равноправными, т.е. они являются и клиентами и серверами одновременно. Из любого узла сети можно запросить и обновить данные, хранящиеся на любом другом компьютере сети. При таком подходе деление компьютеров на серверы и клиенты становится условным, однако, поскольку программы-серверы требуют достаточно больших вычислительных ресурсов, архитектура равный к равному требует установки в узлах компьютеров с большой оперативной и дисковой памятью.
Очевидно, на сегодняшний день наиболее реально организовать работу с распределенной БД гетерогенной структуры, в которой часть узлов является и серверами и клиентами, а часть выступает только в роли клиентов. Следует заметить, что поскольку сервер БД обеспечивает одновременную работу с данными нескольких пользователей, он должен работать в многозадачной или многопользовательской операционной системе (например, OS/2, NetWare, Unix, VMS, MVS, VM, Windows NT).
Какими же соображениями следует руководствоваться при выборе компьютера для сервера? В первую очередь следует обратить внимание на быстродействие, стоимость и надежность компьютера. Так для задач, предъявляющих высокие требования по надежности работы могут использоваться особо надежные (Fault Tolerant) машины, машины и операционные системы, выполняющие дублирование записи на диски (mirroring), многопроцессорные машины, продолжающие работу при выходе из строя нескольких процессоров (High availibility).[3]
Для приложений с небольшим количеством одновременно работающих пользователей (несколько десятков) и не очень большой БД в качестве машины сервера можно использовать компьютеры с Pentium или 486 процессором. Для более мощных приложений широко используются компьютеры фирм DEC, HP, Sun, RISC/6000. Очень перспективна в качестве сервера многопроцессорная машина фирмы Sequent. Она имеет достаточно низкую цену, высокое быстродействие и надежность. Причем быстродействие может легко повышаться за счет увеличения числа процессоров (от 2 до 30).
1.3 Применение технологии клиент-сервер в банковской сфере
Современные банковские системы имеют состав аппаратных средств, в которой входят:
-средства вычислительной техники (ВТ);
-оборудование локальных вычислительных сетей (ЛВС);
-средства телекоммуникации и связи;
-оборудование, автоматизирующее различные банковские услуги: автоматы-кассиры и т.д.
-средства, автоматизирующие работу с денежной наличностью (для полсчета и подтверждения подлинности купюр и другие).
Важнейшими факторами, влияющими на функциональные возможности и эффективную работу банковских систем, являются состав технических средств, их архитектура и набор базового (системного) ПО, на основе которого строится прикладная часть системы.[4]