Файл: Технология «Клиент - Сервер».pdf

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

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

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

Добавлен: 25.06.2023

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

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

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

Достоинства смешанных систем:

  • Часть бизнес-логики может быть реализована в клиентской части.
  • Эффективность работы клиентов меньше зависит от сетевого трафика.
  • Серверный код такой как хранимые процедуры SQL сервера, может быть одновременно доступен многим клиентам, что снижает накладные затраты при выполнении однотипных запросов.

Недостатки смешанных систем:

  • Модернизация приложения требует распространения новых версий клиентской части среди широкой аудитории [[32]].
  • Бизнес-логика распределена между сервером и клиентом.

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

  • Сервер базы данных.
  • Клиентское приложение.
  • Кластер серверов 1С: Предприятие.

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

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

1С:Предприятие использует возможности СУБД для эффективной выборки информации, а именно механизм запросов ориентирован на максимальное использование системами управления базами данных для выполнения расчётов и составления отчётов. Просмотр же больших динамических списков обеспечивается и без выполнения большого количества обращений к базе данных. А пользователю в свою очередь предоставляются возможности эффективной сортировки, поиска и отбора.


Администрирование «клиент-серверного» варианта и его развёртыванием выполняется достаточно просто - создание базы данных производится непосредственно в процессе запуска конфигуратора как в случае с файловым вариантом [[34]].

Клиентские приложения. Работа в клиент-серверном варианте возможна как через веб-сервер, так и напрямую с кластером. При этом в случае непосредственного подключения к кластеру тонкий и толстый клиент используют протокол TCP/IP, а в случае подключении через веб-сервер тонкий клиент и веб-клиент используют протокол HTTP или HTTPS.

2.3. Кластер серверов

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

В качестве сервера баз данных могут использоваться:

  • Microsoft SQL Server.
  • Oracle Database.
  • IBM DB2.
  • PostgreSQL.

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

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

На сервере выполняются:

  • Запросы к базе данных.
  • Выполнение обработок.
  • Проведение документов.
  • Формирование отчётов.
  • Подготовка форм к отображению.
  • Различные расчёты.

На клиенте выполняется:


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

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

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

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

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

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

Примером тонкого клиента может служить компьютер с браузером, использующийся для работы с веб-приложениями. Кроме общего случая, следует выделить аппаратный тонкий клиент - Windows-терминал - специализированное устройство, принципиально отличное от персонального компьютера. Аппаратный тонкий клиент не содержит жёсткого диска, а использует специализированную локальную операционную систему, одной из задач которой является организовать сессию с терминальным сервером для работы пользователя. Аппаратный тонкий клиент не имеет в своём составе подвижных деталей, выполняется в специализированных корпусах с полностью пассивным охлаждением [[39]].


Для расширения функциональности тонкого клиента прибегают к его модернизации или «утолщению», например, добавляют возможность автономной работы, сохраняя главное отличие - работу в сессии с терминальным сервером. Когда в таком клиенте появляются подвижные детали и возможности автономной работы, он перестаёт быть тонким клиентом в чистом виде, а становится универсальным клиентом. Тонкий клиент в большинстве случаев обладает минимальной аппаратной конфигурацией, вместо жесткого диска для загрузки локальной специализированной операционной системы используется «DiskOnModule» -модуль с разъёмом IDE, микросхемой и флэш-памятью имитирующий логику обычного жёсткого диска. В BIOS он определяется как обычный жёсткий диск, только размер его обычно в несколько меньше. Бывают так же и конфигурации системы в которых тонкий клиент загружает операционную систему по сети напрямую с сервера [[40]].

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

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

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

Преимуществом трехуровневой архитектуры является:

  • Между сервером приложения и клиентской программой передаётся лишь минимально необходимый поток данных - аргументы вызываемых функций и возвращаемые от них значения. Это теоретический предел эффективности использования линий связи, даже работа с ANSI-терминалами, не говоря уже об использование протокола http, требует большей нагрузки на сеть.
  • Дешёвый трафик между сервером приложений и системой управления базой данных. Трафик между сервером приложений и СУБД может быть огромным, однако это всегда трафик локальной сети, а их пропускная способность достаточно дешева и велика. В крайнем случае всегда можно запустить сервер приложений и СУБД на одной машине, что автоматически сведёт передаваемый сетевой трафик к нулю.
  • Меньшая нагрузка на «Тонкий клиент».
  • Сервер приложения ИС может быть запущен в одном или нескольких экземплярах на одном или нескольких компьютерах, что позволяет использовать вычислительные мощности организации столь эффективно и безопасно как этого пожелает администратор ИС.
  • Снижение нагрузки на сервер данных по сравнению с 2,5слойной схемой, а значит и увеличение скорости работы системы в целом.
  • Дешевле наращивать функциональность и обновлять ПО.

К недостаткам архитектуры можно отнести более высокие расходы на обслуживание и администрирование серверной части, а также высокие требования к клиентским вычислительным установкам, так как прикладные программы обработки данных, определяемые спецификой предметной области информационной системы, выполняются на них. Другим недостатком является все же существенный трафик сети, обусловленный тем, что с сервера базы данных клиентам направляются наборы (таблицы) данных, которые в определенных случаях могут занимать достаточно внушительный объем [[41]]. Масштабируемость систем, выполненных по трёхуровневой архитектуре очень высока, и одна и та же система может работать как на одном отдельно стоящем компьютере, выполняя на нем программы СУБД, сервера приложений и клиентской части, так и в сети, состоящей из десятков и даже тысяч машин [[42]].

ЗАКЛЮЧЕНИЕ

Архитектура клиент-сервер — это не только архитектура, это - новая парадигма, пришедшая на смену устаревшим концепциям. Суть ее заключается в том, что клиент (исполняемый модуль) запрашивает те или иные сервисы в соответствии с определенным протоколом обмена данными. При этом, в отличие от ситуации с файловым сервером, нет необходимости в использовании прямых путей операционной системы: клиент их "не знает", ему "известны" лишь имя источника данных и другие специальные сведения, используемые для авторизации клиента на сервере. Сервер, который физически может находиться на том же компьютере, а может - на другом конце земного шара, обрабатывает запрос клиента и, произведя соответствующие манипуляции с данными, передает клиенту запрашиваемую порцию данных.

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

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

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