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

Клиент-серверная архитектура 1С

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

История и предпосылки появления

Первоначально платформа 1С (начиная с версии 7.7) работала исключительно в файловом режиме, когда все данные хранились в одном файле на диске, а пользователи подключались к нему по сети. Этот подход имел существенные ограничения: низкая производительность при большом количестве пользователей (более 10–20), риск повреждения файла, отсутствие разграничения прав доступа на уровне СУБД и сложности с резервным копированием.

С выходом платформы 1С:Предприятие 8.0 (2003 год) была введена клиент-серверная архитектура, которая позволила перенести часть вычислительной нагрузки на сервер, а данные — в профессиональные СУБД (Microsoft SQL Server, PostgreSQL, IBM DB2). Это стало важным шагом для использования 1С в крупных корпоративных средах с сотнями и тысячами одновременных пользователей.

Основные компоненты архитектуры

Клиент-серверная архитектура 1С состоит из трёх ключевых уровней:

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

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

  • Толстый клиент — полноценное приложение, которое содержит в себе всю функциональность платформы, включая возможность выполнения кода на стороне клиента. Используется для работы с конфигурацией в режиме «Предприятие» и «Конфигуратор». Требует установки на компьютер пользователя.
  • Тонкий клиент — облегчённая версия клиента, которая передаёт большую часть вычислительной нагрузки на сервер. На стороне клиента выполняется только отображение форм и обработка событий ввода. Тонкий клиент может работать как через локальную сеть, так и через интернет (по протоколу HTTP/HTTPS). Он не требует установки полной платформы, но использует компоненты, доступные через браузер или отдельный установщик.

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

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

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

  • Приём и обработка запросов от клиентов.
  • Выполнение кода на серверном языке (встроенный язык 1С), который оптимизирован для работы с большими объёмами данных.
  • Управление транзакциями и блокировками.
  • Балансировка нагрузки между рабочими процессами (RProc — рабочие процессы).
  • Обеспечение отказоустойчивости (при наличии нескольких рабочих серверов).

Кластер серверов 1С может работать в режиме «Сервер 1С:Предприятия» (Windows) или «Сервер 1С:Предприятия (Linux)». В последних версиях платформы (8.3 и выше) активно используется сервер на базе Linux (например, под управлением Astra Linux, Red Hat, Ubuntu).

Система управления базами данных (СУБД)

СУБД отвечает за хранение, извлечение и модификацию данных. В клиент-серверном варианте 1С поддерживаются следующие СУБД:

  • Microsoft SQL Server — наиболее распространённая СУБД для Windows-среды.
  • PostgreSQL — свободная СУБД, активно используется в российских организациях, особенно в рамках импортозамещения. Поддерживается как в Windows, так и в Linux.
  • IBM DB2 — исторически поддерживалась, но в настоящее время используется редко.
  • Oracle Database — также поддерживалась, но в новых версиях платформы сертификация для Oracle была прекращена.

СУБД устанавливается на отдельном сервере (или на том же, что и кластер 1С, но для производительности рекомендуется разделение). Она обеспечивает целостность данных, резервное копирование, индексацию, а также выполнение сложных запросов на языке SQL.

Принцип работы

Взаимодействие между компонентами происходит следующим образом:

  1. Пользователь запускает клиентское приложение (толстый, тонкий или веб-клиент) и указывает адрес информационной базы.
  2. Клиент подключается к кластеру серверов 1С через сетевой протокол (TCP/IP для толстого и тонкого клиента, HTTP/HTTPS для веб-клиента).
  3. Сервер 1С аутентифицирует пользователя, загружает метаданные конфигурации и запускает сессию.
  4. При выполнении операций (ввод документа, формирование отчёта) клиент отправляет на сервер запросы. Сервер выполняет бизнес-логику, при необходимости обращается к СУБД для получения или изменения данных.
  5. СУБД обрабатывает SQL-запросы, возвращает результаты серверу 1С.
  6. Сервер 1С передаёт обработанные данные клиенту, который отображает их в интерфейсе.

Таким образом, клиент не имеет прямого доступа к СУБД — все операции с данными происходят через сервер 1С. Это повышает безопасность и позволяет централизованно управлять доступом.

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

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

  • Масштабируемость — возможность добавления новых серверов в кластер для увеличения производительности.
  • Многопользовательская работа — поддержка сотен и тысяч одновременных пользователей без потери производительности.
  • Централизованное администрирование — обновление конфигурации, управление пользователями, резервное копирование выполняются на сервере.
  • Безопасность — разграничение доступа на уровне СУБД и сервера 1С, шифрование трафика.
  • Отказоустойчивость — при выходе из строя одного сервера кластера нагрузка перераспределяется на другие.
  • Поддержка различных СУБД — возможность выбора под конкретные требования организации.

Недостатки

  • Сложность настройки и администрирования — требуется квалифицированный специалист (администратор 1С и СУБД).
  • Зависимость от сетевой инфраструктуры — при плохом качестве связи (высокие задержки, низкая пропускная способность) производительность падает.
  • Высокие требования к аппаратному обеспечению серверов — особенно к оперативной памяти и процессору.
  • Стоимость — лицензирование серверных компонентов 1С и СУБД (например, Microsoft SQL Server) может быть дорогим.
  • Сложность обновления — обновление платформы или конфигурации требует остановки сервера и тестирования.

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

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

Применение

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

  • Крупные предприятия (холдинги, заводы, торговые сети) с числом сотрудников от 100 до нескольких тысяч.
  • Государственные учреждения, где требуется строгий контроль доступа и аудит.
  • Организации, использующие 1С в режиме 24/7 (например, интернет-магазины, банки).
  • Проекты с территориально распределёнными офисами, где используется веб-клиент или тонкий клиент через интернет.

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

  • В платформе 1С:Предприятие 8.3 появилась возможность работы в режиме «Управляемые формы», который оптимизирован для тонкого и веб-клиента.
  • Для повышения производительности в кластере серверов используется технология «Рабочие процессы» (RProc), которые могут быть запущены на разных ядрах процессора.
  • В рамках импортозамещения в России активно внедряется сервер 1С на Linux и СУБД PostgreSQL. По состоянию на 2024 год PostgreSQL является рекомендованной СУБД для новых проектов в государственных организациях.
  • Клиент-серверная архитектура 1С поддерживает протокол HTTPS для безопасной передачи данных через интернет, что позволяет организовывать удалённую работу без использования VPN.

Источники

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

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

На главную BFOmetr →