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

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

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

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

Добавлен: 19.06.2023

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

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

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

Рис 4.Многоуровневая архитектура взаимодействия клиент-сервер

Типичный пример трехуровневой модели клиент-сервер. Если говорить в контексте систем управления базами данных, то первый уровень – это клиент, который позволяет нам писать различные SQL запросы к базе данных. Второй уровень – это движок СУБД, который интерпретирует запросы и реализует взаимодействие между клиентом и файловой системой, а третий уровень – это хранилище данных.

Если мы посмотрим на данную архитектуру с позиции сайта. То первый уровень можно считать браузером, с помощью которого посетитель заходит на сайт, второй уровень – это связка Apache + PHP, а третий уровень – это база данных. Если уж говорить совсем просто, то PHP больше ничего и не делает, кроме как, гоняет строки и базы данных на экран и обратно в базу данных. [2]

Преимущества и недостатки архитектуры клиент-сервер

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

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

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

2.3 Клиент серверные расчеты

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


Рис. 5 Клиент серверные расчеты

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

Дисковая подсистема.

Хотя RAID-10 обеспечивает приличные характеристики в соотношении цена/качество, иногда требуется более высокие показатели. Прироста производительности в данном случае можно добиться либо добавлением одного-двух дисков и построения массива 5-го уровня, либо, вообще отказаться от контроллера и обратить внимание в сторону SSD. Стоимость 200 гигабайтного диска, подходящего для использования в клиент-серверной 1С, на текущий момент составляет порядка 400$, однако позволяет более экономно подойти к вопросу электропитания и охлаждения. Правда, из-за весьма небольшого ресурса в 20000 циклов стирания/записи необходимо серьезно отнестись к вопросу резервного копирования данных. [4]

Оперативная память. Здесь все просто – чем ее больше, тем лучше. Начать можно с 16 Гб – по 8 Гб на сервер 1С и СУБД, и далее наращивать в зависимости от скорости работы и потребностей ПО.

Таким образом можно рассмотреть 2 варианта сервера под серверную часть 1С: один мы рассмотрели ранее, второй представлен в таблице:

Наименование

Цена за 1 ед., $

Кол-во

Цена, $

Серверная платформа ASUS TS110-E8-PI4, содержащая серверную материнскую плату

575

1

575

Процессор INTEL Xeon Processor E3-1220 v3 специально предназначенный для серверов

254

1

254

Память Kingston DDR-III DIMM 8Gb ECC с контролем четности

75

2

150

Жесткие диски 1 Tb SATA Seagate Constellation ES.3 3.5" 7200rpm 128Mb способные работать в режиме 24/7

102

1

102

SSD Intel DC S3700 200 Гб

400

1

400

Кулер, шлейфы, сборка

100

1

100

Итоговая сумма в 1581$ за сервер для размещения серверной части 1С оказалась даже ниже файл-серверного варианта. Однако стоит обратить на общий объем “быстрых” данных в 200Гб против 2Гб в предыдущем примере, хотя сборка имеет свои плюсы и большую скорость обмена данными, так необходимую СУБД.


2.4 Клиент-серверный режим работы 1С

Клиент-серверный вариант работы (Client-Server Operation Variant)

Один из альтернативных вариантов работы платформы 1С: Предприятие 8, является клиент – серверный.  «Клиент – сервер» выполнен на основе архитектуры 3ех уровней.

 Архитектура клиент- сервера делит  работающую систему на три части,   которые обусловленным образом взаимодействуют между собой

клиентское приложение

кластер - серверов 1С: Предприятия

сервер  баз данных.

Клиентское приложение любого пользователя,  работая с кластером серверов 1С: Предприятия 8 при необходимости обращается к базе данных на сервере.

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

Рис. 6. База данных 1 С.

Такие возможности помогут пропорционально разделить нагрузку между серверами.

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

Еще одно достоинство  трехуровневой архитектуры, это возможность свободно администрировать  и контролировать доступ всех пользователей к информации базы данных.

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

В данном случае  платформа 1С: Предприятие 8 для результативной выборки информации сама оперирует всеми базами данных:

Специальные механизмы запросов  направлены  на самую максимальную эксплуатацию   СУБД для выполнения  необходимых видов  работ связанных  с расчетами и оформлением отчетов

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


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

Клиентские приложения

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

Кластер серверов 8.2

Основным компонентом системы 1С:Предприятия 8, с помощью которого взаимодействуют пользователи  с системой баз данных при работе с клиент сервером, является кластер серверов.

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

Сервер баз данных

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

База Microsoft SQL Server

База PostgreSQL

База IBM DB2

База Oracle Database

Администрирование клиент-серверного варианта работы 8.2

В комплект платформы входит  специальная  утилита, которая позволяет администрировать     клиент-сервер    и управлять  администратору всеми подключенными пользователями и  информационными базами. [7]

Выполнение на сервере

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

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

Командный интерфейс  формируется аналогично на сервере,  и все отчеты  выводятся на клиенте.

При этом сам механизм платформы  направлен  на то чтобы объем данных запрошенных данных был минимальным, за счет сортировки данных на сервере. Обработанные данные же поступают с сервера после просмотра их пользователем(данные списков, таблицы, отчеты)

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

Запросы к базам данных

Запись всех данных

Проводка документов

Разные расчеты

Проведение  обработок

Формирование  готовых отчетов

Подготовка форм к показу.

На клиенте выполняется  следующее:

Передача и открытие форм


Показ форм

Получение пользователем сообщений, предупреждений, т.е. информирование

Проведение быстрых расчетов по простым  формулам (цена Х количество)

Операции с локальными файлами

Операции с торговым оборудованием.

Использование встроенного языка версии 8.2 на клиенте

Управлять всеми функциями  форм возможно как  на сервере, так и на клиенте. [11]

Клиент  поддерживает  работу встроенного  языка программирования. 

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

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

ЗАКЛЮЧЕНИЕ

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

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

Клиент-серверная архитектура состоит в простейшем случае из трех основных компонентов:

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

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

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

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