Открыть сервис

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

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

Архитектура и компоненты

Клиент-серверная архитектура «1С:Предприятие» состоит из трёх основных уровней, что соответствует модели «клиент — сервер приложенийсервер баз данных»:

  1. Клиентское приложение (тонкий или толстый клиент). Отвечает за отображение интерфейса, ввод данных и отправку запросов. Не выполняет сложных вычислений, связанных с бизнес-логикой, а лишь визуализирует результаты.
  2. Кластер серверов «1С:Предприятия» (сервер приложений). Основной вычислительный узел. На нём исполняется программный код модулей (алгоритмы, отчёты, проведение документов), управляется сеансами пользователей, блокировками данных и распределяется нагрузка. Кластер может состоять из одного или нескольких физических или виртуальных серверов (рабочих процессов).
  3. Сервер баз данных (СУБД). Хранит и обрабатывает данные конфигурации (справочники, документы, регистры). В качестве СУБД могут использоваться Microsoft SQL Server, PostgreSQL (в том числе сборки от «1С»), IBM Db2, Oracle Database.

Взаимодействие между уровнями осуществляется через сетевые протоколы: клиент общается с кластером по протоколу TCP/IP (порт 1540 по умолчанию), а кластер — с СУБД через нативный драйвер или ODBC.

История и развитие

До версии платформы 7.7 «1С:Предприятие» работала преимущественно в файловом режиме. С ростом объёмов данных и числа пользователей (более 5–10 человек) файловый режим стал демонстрировать проблемы с производительностью и надёжностью: блокировки на уровне файла, риск повреждения базы при сбое сети, отсутствие централизованного администрирования.

В конце 1990-х — начале 2000-х годов «1С» начала внедрение клиент-серверной архитектуры. Первой версией, официально поддерживающей такой режим, стала платформа 8.0 (выпущена в 2003 году). Она предлагала архитектуру на основе COM-соединений и собственную СУБД. Позднее, с версией 8.1 (2006 год), была введена трёхуровневая схема с выделенным сервером приложений и поддержкой промышленных СУБД (SQL Server, Oracle). Версия 8.2 (2009 год) принесла тонкий клиент и веб-клиент, что позволило работать через браузер. В версии 8.3 (2013 год) была добавлена поддержка PostgreSQL, а также улучшены механизмы масштабирования и отказоустойчивости.

Классификация клиентов

В зависимости от способа подключения и функциональности различают несколько типов клиентских приложений:

  • Толстый клиент (Fat Client). Устанавливается на компьютер пользователя, содержит исполняемые файлы платформы и может работать как в файловом, так и в клиент-серверном режиме. Требует установки и обновления на каждом рабочем месте.
  • Тонкий клиент (Thin Client). Устанавливается локально, но не содержит средств администрирования и разработки (конфигуратора). Предназначен только для работы с интерфейсом и отправки запросов. Занимает меньше места и проще в обновлении.
  • Веб-клиент. Работает в окне веб-браузера (Internet Explorer, Mozilla Firefox, Google Chrome, Яндекс.Браузер). Не требует установки на компьютер — достаточно адреса сервера. Функциональность ограничена по сравнению с толстым клиентом (например, недоступен режим «1С:Предприятие» в полном объёме для разработки). Поддерживается начиная с версии 8.2.

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

Преимущества

  • Масштабируемость. Возможность обслуживать десятки и сотни одновременно работающих пользователей без критического падения производительности за счёт распределения нагрузки между рабочими процессами кластера.
  • Централизованное администрирование. Обновление конфигурации, управление правами доступа, резервное копирование и мониторинг выполняются на сервере, а не на каждом клиенте.
  • Надёжность. Данные хранятся в промышленной СУБД, что снижает риск повреждения базы. Кластер может быть настроен на отказоустойчивость (например, использование нескольких серверов приложений и репликация базы данных).
  • Безопасность. Доступ к данным контролируется на уровне сервера; клиенты не имеют прямого доступа к файлам базы.
  • Поддержка тонкого и веб-клиента. Снижаются требования к аппаратному обеспечению рабочих мест и упрощается развёртывание.

Недостатки

  • Сложность развёртывания. Требуется квалифицированный администратор для настройки серверов, СУБД, сетевого оборудования и лицензирования.
  • Стоимость. Необходимы лицензии на сервер «1С:Предприятия» (дополнительно к клиентским), а также на СУБД (например, Microsoft SQL Server). Использование PostgreSQL снижает затраты, но требует настройки.
  • Зависимость от сети. При обрыве связи или высокой задержке работа пользователя становится невозможной или крайне медленной.
  • Ресурсоёмкость серверов. Кластер и СУБД требуют выделенных мощностей (процессор, оперативная память, дисковая подсистема), особенно при большом числе пользователей.

Сравнение с файловым режимом

ХарактеристикаФайловый режимКлиент-серверный режим
Максимальное число пользователей5–10 (рекомендуется)100+ (теоретически не ограничено)
Хранение данныхФайл базы (1CD) на файловом сервере или локальноСУБД (SQL Server, PostgreSQL и др.)
БлокировкиНа уровне файла (блокируется вся база)На уровне записей (блокируются только изменяемые строки)
АдминистрированиеДецентрализованное (на каждом ПК)Централизованное (на сервере)
Требования к сетиВысокие (постоянный доступ к файлу)Умеренные (только обмен запросами)
Стоимость лицензированияТолько клиентские лицензииКлиентские + серверные + СУБД
Восстановление после сбояСложное (риск повреждения файла)Относительно простое (бэкапы СУБД)

Применение

Клиент-серверный режим является стандартом для средних и крупных предприятий, где одновременно работают более 10–15 пользователей. Он используется в типовых конфигурациях «1С:ERP Управление предприятием», «1С:Бухгалтерия», «1С:Зарплата и управление персоналом», «1С:Управление торговлей» и отраслевых решениях. Также он обязателен при использовании механизмов, требующих серверной обработки, таких как:

  • фоновые задания (регламентные операции, обмен данными);
  • распределённые информационные базы (РИБ);
  • работа через веб-клиент;
  • интеграция с внешними системами через HTTP-сервисы.

Интересные факты

  • В кластере «1С:Предприятия» используется собственная технология балансировки нагрузки между рабочими процессами (rphost). При сбое одного процесса его сеансы автоматически перераспределяются на другие процессы кластера.
  • «1С» предоставляет сертифицированную сборку PostgreSQL (Postgres Pro Enterprise, Postgres Standard), оптимизированную для работы с платформой, что позволяет снизить затраты на СУБД.
  • В версии 8.3 появилась возможность работы в режиме «Управляемые формы» на тонком клиенте, что значительно уменьшило объём передаваемых данных по сети.

Источники

  • Документация платформы «1С:Предприятие 8.3» (Руководство администратора, Архитектура клиент-серверного варианта).
  • Официальный сайт фирмы «1С» — раздел «Технологии» (описание клиент-серверного режима).
  • Статья «Сравнение файлового и клиент-серверного режимов работы 1С» (ИТС-журнал, 2020).
  • Книга «1С:Предприятие 8.3. Практическое пособие разработчика» (М. Г. Радченко, Е. Ю. Хрусталёва, 2021).

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →