Добавлен: 02.04.2023
Просмотров: 217
Скачиваний: 2
Сервер
Компонент доступа к ресурсам
Компонент представления
Прикладной компонент
SQL
Рис.7. Модель удаленного доступа к данным (RDA -модель)
В файле (файлах) базы данных, размещаемом на сервере системы, находится также и системный каталог базы данных, в который помещаются в том числе и сведения о зарегистрированных клиентах, их полномочиях и т. п.
На клиентских установках инсталлируются отделенные программные части СУБД, реализующие интерфейсные и прикладные функции. Пользователь, входя в клиентскую часть системы, регистрируется через нее на сервере системы и начинает обработку данных. Прикладной компонент системы (библиотеки запросов, процедуры обработки данных) полностью размещается и выполняется на клиентской установке. При реализации своих функций прикладной компонент формирует необходимые SQL-инструкции, направляемые SQL-серверу. SQL-сервер, представляющий специальный программный компонент, ориентированный на интерпретацию SQL-инструкций и высокоскоростное выполнение низкоуровневых операций с данными, принимает и координирует SQL-инструкции от различных клиентов, выполняет их, проверяет и обеспечивает выполнение ограничений целостности данных и направляет клиентам результаты обработки SQL-инструкции, представляющие как известно наборы (таблицы) данных.
Таким образом, общение клиента с сервером происходит через SQL-инструкции, а с сервера на клиентские установки передаются только результаты обработки, т. е. наборы данных, которые могут быть существенно меньше по объему всей базы данных. В результате резко уменьшается загрузка сети, а сервер приобретает активную центральную функцию. Кроме того, ядро СУБД в виде SQL-сервера обеспечивает также традиционные и важные функции по обеспечению ограничений целостности и безопасности данных при совместной работе нескольких пользователей.
Другим, может быть неявным, достоинством RDA-модели является унификация интерфейса взаимодействия прикладных компонентов информационных систем с общими данными. Такое взаимодействие стандартизовано в рамках языка SQL уже упоминавшийся специальным протоколом ODBC (Open Database Connectivity - стандартный протокол доступа к данным на серверах баз данных SQL.), играющим важную роль в обеспечении интероперабельности, т. е. независимости от типа СУБД на клиентских установках в распределенных системах. Иначе говоря, специальный компонент ядра СУБД на сервере (так называемый драйвер ODBC) способен воспринимать, обрабатывать запросы и направлять результаты их обработки на клиентские установки, функционирующие под управлением реляционных СУБД других, не «родных» типов. Такая возможность существенно повышает гибкость в создании распределенных информационных систем на базе интеграции уже существующих в какой-либо организации локальных баз данных под управлением настольных или другого типа реляционных СУБД. Специальные драйверы ODBC могут обеспечить возможность использования настольной СУБД в качестве клиента SQL-сервера «тяжелой» многопользовательской клиент-серверной СУБД.
Так же в модели удаленного доступа к данным имеются свои недостатки. Один из них — это требования к клиентской вычислительной технике, ведь все прикладные программы обработки данных, со спецификой предметной области АИС, выполняются именно на них. Другой недостаток – это все та же нагрузка на сеть, зачастую это происходит за счет передачи наборов (таблиц) данных с сервера баз данных на клиенты, которые в свою очередь могу иметь внушительный объем.
Модель сервера базы данных
Ветвь развития модели удалённого доступа к данным является модель сервера базы данных. Механизм хранения процедур явило собой фундаментом для новой модели. Всё отличие этих моделей заключается в том, что все правила, все процедуры, описанные средствами языка SQL и события, определенные для конкретной предметной области АИС, хранятся непосредственно на сервере и там же выполняются. На рис.8. приведена DBS-модель.
Сервер
Компонент доступа к ресурсам
Компонент представления
Прикладной компонент
Вызов
API
Рис.8. Модель сервера базы данных (DBS-модель)
На клиентских установках в DBS-модели размещается только интерфейсный компонент (компонент представления) АИС, что существенно снижает требования к вычислительной установке клиента. Пользователь через интерфейс системы на клиентской установке направляет на сервер базы данных только лишь вызовы необходимых процедур, запросов и других функций по обработке данных. Все затратные операции по доступу и обработке данных выполняются на сервере и клиенту направляются лишь результаты обработки, а не наборы данных, как в RDA-модели. Этим обеспечивается существенное снижение трафика сети в DBS-модели по сравнению с RDA-моделью.
Все процедуры прикладных задач всех пользователей осуществляются на сервере. В следствии этого возрастает требования к производительности сервера - к объему дискового пространства, оперативной памяти и быстродействию. Это и есть основной недостаток модели сервера баз данных.
К достоинствам же DBS-модели, помимо разгрузки сети, относится и более активная роль сервера сети, размещение, хранение и выполнение на нем механизма событий, правил и процедур, возможность более адекватно и эффективно «настраивать» распределенную АИС на все нюансы предметной области системы. Также более надежно обеспечивается согласованность состояния и изменения данных, и, вследствие этого, повышается надежность хранения и обработки данных, эффективно координируется коллективная работа пользователей с общими данными.
Модель сервера приложений
Чтобы разнести требования к вычислительным ресурсам сервера в отношении быстродействия и памяти по разным вычислительным установкам, используется модель сервера приложений. Суть AS-модели заключается в переносе прикладного компонента АИС на специализированный в отношении повышенных ресурсов по быстродействию дополнительный сервер системы. Схема AS-модели приведена на рис.9.
Сервер
Компонент доступа к ресурсам
Компонент представления
SQL
Прикладной компонент
Вызов API
Рис.9. Модель сервера приложений (AS-модель)
Как и в DBS-модели, на клиентских установках располагается только интерфейсная часть системы, т.е. компонент представления. Однако вызовы функций обработки данных направляются на сервер приложений, где эти функции совместно выполняются для всех пользователей системы. За выполнением низкоуровневых операций по доступу и изменению данных сервер приложений, как в RDA-модели, обращается к SQL-серверу, направляя ему вызовы SQL-процедур, и получая, соответственно, от него наборы данных. Как известно, последовательная совокупность операций над данными (SQL-инструкций), имеющая отдельное смысловое значение, называется транзакцией. В этом отношении сервер приложений от клиентов системы управляет формированием транзакций, которые выполняет SQL-сервер. Поэтому программный компонент СУБД, инсталлируемый на сервере приложений, еще называют также монитором обработки транзакций (Transaction Processing Monitors — TRM), или просто монитором транзакций.
AS-модель, сохраняя сильные стороны DBS-модели, позволяет более оптимально построить вычислительную схему информационной системы, однако, как и в случае RDA-модели, повышает трафик сети.
В еще не устоявшейся до конца терминологии по моделям и технологиям «Клиент-сервер» RDA-модель характеризуют еще как модель с так называемыми «толстыми», а DBS-модель и AS-модель как модели, соответственно, с «тонкими» клиентами. По критерию звеньев системы RDA-модель и DBS-модель называют двухзвенными (двухуровневыми) системами, a AS-модель трехзвенной (трехуровневой) системой.
В практических случаях используются смешанные модели, когда простейшие прикладные функции и обеспечение ограничений целостности данных поддерживаются хранимыми на сервере процедурами (DBS-модель), а более сложные функции предметной области (так называемые «правила бизнеса») реализуются прикладными программами на клиентских установках (RDA-модель) или на сервере приложений (AS-модель).
Технология «клиент-сервера» в 1С
Для наглядного примера я решил взять систему программ «1С: Предприятие» 8.2 в которой один из альтернативных вариантов работы платформы, является клиент — серверный. «Клиент — сервер» выполнен на основе трехуровневой архитектуры.
Архитектура клиент-сервера делит работающую систему на три части, которые обусловленным образом взаимодействуют между собой
· клиентское приложение
· кластер — серверов «1С: Предприятия»
· сервер баз данных.
Клиентское приложение любого пользователя, работая с кластером серверов «1С: Предприятие» 8.2 при необходимости обращается к базе данных на сервере.
При этом совершенно не обязательно чтобы сервер базы данных и кластер серверов «1С: Предприятие» 8.2 находился на одном компьютере, это может быть и другой компьютер. Такие возможности помогут пропорционально разделить нагрузку между серверами.
Применение кластера серверов «1С: Предприятие» 8.2, это возможность сконцентрировать на нем осуществление объемных операций по обработке баз данных. Это могут быть выполнение объемных сложных запросов, и в этом случае программа пользователя получит только необходимую информацию в виде тематической выборки, а вся обработка будет происходить непосредственно на сервере. Такая возможность дает значительно облегчить работу, ведь увеличить мощность кластера намного легче, чем обновление программных систем целого ряда компьютеров.
Еще одно достоинство трехуровневой архитектуры, это возможность свободно администрировать и контролировать доступ всех пользователей к информации базы данных. И совершенно не обязательно пользователю вникать в расположение баз данных или конфигурации, весь доступ происходит через кластер серверов платформы «1С: Предприятие» 8.2. При вводе запроса достаточно указать название информационной базы и имя необходимого кластера, сообщив при этом пароль.
В данном случае платформа «1С: Предприятие» 8.2 для результативной выборки информации сама оперирует всеми базами данных:
· Специальные механизмы запросов направлены на самую максимальную эксплуатацию СУБД для выполнения необходимых видов работ, связанных с расчетами и оформлением отчетов;
· Возможность избежать огромного числа запросов к базе данных при большом объеме запрашиваемой информации. Действия упрощаются за счет существующих настроек отбора и сортировки данных, увеличивая при этом эффективность поиска.
Формирование клиент-серверной версии, и ее администрирование не требует специальных навыков. Создание баз данных выполняется вовремя запуска конфигуратора, то же самое и для файлового варианта.
Клиентские приложения.
Работа с клиентским приложением возможна через веб-сервер или напрямую с кластером. При подключении к кластеру толстый клиент и тонкий клиент непосредственно используют для передачи данных протокол TCP/IP. Если подключение осуществляется через веб-сервер тонкий клиент и веб-клиент используют протокол HTTP или HTTPS.
Кластер серверов
Основным компонентом системы «1С: Предприятие» 8.2, с помощью которого взаимодействуют пользователи с системой баз данных при работе с клиент сервером, является кластер серверов.
Существование кластера делает возможной бесперебойную, отказоустойчивую, работу значительного числа пользователей с большими информационными базами.
Сервер баз данных
В качестве сервера баз данных используются:
· База Microsoft SQL Server
· База PostgreSQL
· База IBM DB2
· База Oracle Database
Администрирование клиент-серверного варианта работы 8.2
В комплект платформы входит специальная утилита, которая позволяет администрировать клиент-сервер и управлять администратору всеми подключенными пользователями и информационными базами.
Выполнение на сервере
Вся работа с необходимыми объектами, чтение баз данных и запись осуществляется непосредственно на сервере. Все функции командного интерфейса и определенных форм выполняются тоже на сервере.
Подготовка всевозможных форм, запись произведенных изменений и их расположение все эти функции, это задача сервера. Клиент отображает уже готовые формы, которые могут заполняться пользователем, вызов сервера осуществляется через поле ввод.
Командный интерфейс формируется аналогично на сервере, и все отчеты выводятся на клиенте
При этом сам механизм платформы направлен на то чтобы объем данных запрошенных данных был минимальным, за счет сортировки данных на сервере. Обработанные данные же поступают с сервера после просмотра их пользователем (данные списков, таблицы, отчеты)
На сервере выполняются следующее:
· Запросы к базам данных
· Запись всех данных
· Проводка документов
· Разные расчеты
· Проведение обработок
· Формирование готовых отчетов
· Подготовка форм к показу.
На клиенте выполняется следующее:
· Передача и открытие форм
· Показ форм
· Получение пользователем сообщений, предупреждений, т. е. информирование
· Проведение быстрых расчетов по простым формулам (цена Х количество)
· Операции с локальными файлами