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

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

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

Архитектура

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

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

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

Сервер «1С:Предприятия»

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

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

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

  • Microsoft SQL Server — наиболее распространённая СУБД в корпоративной среде.
  • PostgreSQL — свободная СУБД, получившая широкое распространение в России, особенно после ухода Microsoft с рынка.
  • IBM Db2 — ранее поддерживалась, но в современных версиях платформы её использование ограничено.

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

История

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

Переход на клиент-серверную архитектуру был обусловлен ростом популярности 1С в крупных компаниях, где требовалась одновременная работа сотен сотрудников. Первоначально поддерживался только Microsoft SQL Server. В версии 8.1 (2006 год) была добавлена поддержка PostgreSQL, что позволило снизить стоимость лицензирования. В последующих версиях (8.2, 8.3) архитектура была оптимизирована: появился кластер серверов, улучшена работа с блокировками и транзакциями.

Отличия от файлового варианта

Основные различия между файловым и клиент-серверным вариантами:

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

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

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

Недостатки

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

Применение

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

  • Крупные промышленные предприятия (учёт производства, склад, финансы).
  • Холдинги и сети розничной торговли (централизованный учёт, обмен данными между филиалами).
  • Государственные учреждения (бюджетный учёт, расчёт зарплаты).
  • Компании с территориально распределённой структурой (использование веб-клиента для удалённого доступа).

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

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

Источники

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