Клиент-серверная 1С. Структура
Вопросы и отзывы показывают, что многие коллеги слабо представляют себе устройство клиент-серверной 1С и взаимодействие между ее компонентами.
Начнем с сервера, он так и называется Сервер 1С:Предприятие и может работать как под Windows, так и в Linux. Рабочая инсталляция сервера называется Кластер серверов 1С, даже если экземпляр сервера один.
Впоследствии, для увеличения производительности, мы можем добавлять в кластер дополнительные рабочие сервера, и менеджер кластера будет распределять между ними нагрузку.
Также мы можем выносить на отдельные рабочие сервера дополнительные функции, например, сервер лицензирования.
Вся информация, с которой работает пользователь, а также код конфигурации (прикладного решения) хранятся в СУБД, в качестве которых чаще всего используется MS SQL или PostgreSQL.
Сразу хочется обратить внимание на то, что с СУБД взаимодействует исключительно сервер, клиенты доступа к серверу СУБД не имеют и напрямую в БД не обращаются. Более того, это прямо запрещено лицензионным соглашением 1С.
Вся информация из одной информационной базы 1С, включая конфигурацию, загруженные в нее отчеты, обработки и расширения хранится в одной базе данных СУБД. Т.е. вы можете выполнять полноценное копирование средствами СУБД и затем восстанавливать ИБ подобным образом.
Однако если вы лицензируете СУБД по количеству пользователей, то вам потребуется количество лицензий по числу реальных клиентских подключений.
Теперь перейдем к клиентам. Толстый клиент является устаревшим и современными конфигурациями не используется.
Его неприятной особенностью является то, что он все данные обрабатывает самостоятельно и сервер в этом случае будет для него просто посредником, который извлекает данные из СУБД, передает их клиенту и получив назад снова помещает в БД.
Для работы в таком режиме требуются широкие каналы и мощная рабочая станция, на которой запущен толстый клиент.
Сейчас в режиме толстого клиента работает только конфигуратор, но в эксплуатации еще могут быть устаревшие конфигурации на обычных формах, которые не умеют работать в ином режиме.
Основной вариант работы для современных конфигураций – это тонкий клиент. В этом случае задачи по извлечению и обработке данных ложатся на сервер, а клиент принимает только ввод пользователя и показывает ему результаты вычислений.
В дополнение к этому тонкий клиент самостоятельно обрабатывает введенные данные и выполняет простейшие вычисления, ради которых нет смысла обращаться к серверу. Например, пользователь изменил колонку цена, после чего тонкий клиент сам пересчитает колонку сумма.
Но любые действия по получению данных из СУБД и помещению их туда выполняет сервер, равно как и все основные тяжелые вычисления.
Благодаря этому тонкий клиент отлично работает даже на медленных каналах, включая мобильный интернет.
Он может подключаться к кластеру серверов как непосредственно, так и через веб-сервер. В серверном режиме веб-сервер просто проксирует запросы от тонкого клиента к кластеру серверов и непосредственных вычислений не производит.
Такой режим удобен для публикации баз наружу, в этом случае достаточно одного порта, который можно защитить SSL сертификатом и дополнительной парольной защитой.
Ну и наконец веб-клиент, работает в браузере и, по сути, мало чем отличается от тонкого клиента. Но в этом случае клиентом кластера серверов становится модуль веб-сервера и вся клиентская нагрузка ложиться на него, но она как правило невелика и особых проблем не составляет.
Единственной проблемой может стать выделение оперативной памяти, потому что после отключения веб-клиента его сеанс, а следовательно, и выделенная ему память, сохраняются в течении 20 минут.
Также веб-клиенту присущ ряд ограничений, а также у него своя схема лицензирования, поэтому использовать веб-клиент следует только тогда, когда использовать тонкий клиент невозможно.
Поэтому, проектируя соверменные схемы работы с 1С всегда исходите из использования тонкого клиента.
Post #5649
2.45K

- 👍 34
- ❤ 8
- 🥱 2
- 🤝 1