О чем эта статья
Эта статья является продолжением цикла статей «Первые шаги в 1С». В ней рассматриваются общая схема работы системы «1С:Предприятие 8» в клиент-серверном и в файловом варианте работы, а также приведена классификация различных клиентских приложений.
Материал статьи детально раскроет ответы на следующие вопросы:
- В чем различие между файловым и клиент-серверным режимом работы? Когда и какой режим нужно использовать?
- Как определить, в каком режиме работает система?
- Какие СУБД поддерживаются в клиент-серверном режиме?
- Как выполнить переход из файлового режима в клиент-серверный?
- Толстый, тонкий и веб-клиент – что это и когда какой использовать?
Применимость
В статье рассматривается платформа 8.2.19.83. Но не стоит пугаться, ведь всё, о чем будет говориться ниже, актуально и для текущих версий платформы 8.3 (10 редакции).
Архитектура приложений 1С
Итак, начальные знания о том, что такое программы 1С, получены. И, вероятно, получен первый «боевой» опыт. Теперь в дальнейших своих познаниях можно двигаться более систематизировано и досконально. В этой статье мы более подробно рассмотрим режимы работы с информационной базой (файловый и клиент-серверный), остановимся на особенностях этих режимов.
Прежде всего, еще раз отметим, что при файловом режиме работы, вся информационная база (конфигурация, вводимые данные, движения по регистрам, списки и настройки пользователей) хранится в одном файле (1Cv8.1CD).
Преимущество данного режима – можно работать сразу же, без дополнительных средств. Недостаток – предназначен для небольшого количества пользователей. Для того, чтобы работать в клиент-серверном режиме нужны дополнительные вложения.
При файловом режиме работы с базой сам файл хранится на некотором общедоступном ресурсе. Компьютер, на котором хранится файл, условно называется файловым сервером, а по сути лишь предоставляет дисковое пространство пользователям локальной сети.
Не смотря на то, что типового сервера в этом случае нет, тем не менее происходит имитация клиент-серверного режима работы. То есть, программируя в файловой базе, все равно следует придерживаться клиент-серверного механизма разработки.
Иными словами, какой-то программный код может и должен исполняться на клиенте, а какой-то на сервере. Преимущество такой разработки – простота перехода на клиент-серверный режим работы.
Особенности:
- файл 1Cv8.1CD – файл со специальной структурой, состоящий из таблиц. Причем размер одной таблицы не может превышать 4 Гб (для версий 8.3.7 и ниже). Начиная с версии 8.3.8 размер одной таблицы при определенных настройках размера страницы файла не может превышать 6 Гб;
- ограничение количества пользователей (чаще всего, до 10). Параллельное проведение документов невозможно;
- низкая безопасность. Любой пользователь 1С может скопировать файл с базой и вынести;
- при работе с платформой версии ниже 8.3 затруднено автоматическое выполнение регламентных заданий (нужно гарантировать, что определенный пользователь всегда находится в программе).
Клиент-серверный вариант работы предназначен для большого количества пользователей (десятки и сотни), при этом используется СУБД и кластер серверов 1С, которые обеспечивают необходимую производительность и стабильность работы.
Клиент-серверный вариант в большинстве операций обеспечивает большую скорость работы, чем файловый.
В данном случае работа осуществляется по трехзвенной архитектуре: на нижнем уровне находятся клиентские приложения, которые обращаются к кластеру серверов 1С (кластер серверов имеет механизм кэширования).
Обрабатывая запрос клиента, кластер серверов в определенных случаях может дать ответ сразу. Следует отметить, что в кластере серверов есть менеджер кластера, который и принимает запросы от клиентов.
В кластере могут располагаться также несколько дополнительных серверов, к одному из которых (в случае необходимости и в зависимости от нагрузки) менеджер кластера переадресует запрос пользователя.
Затем рабочий сервер-кластер обращается к СУБД для получения необходимых данных. После обработки запроса СУБД возвращает массив данных рабочему серверу для дальнейшей передачи подготовленных данных на клиентское приложение.
Особенности:
- при добавлении новых рабочих серверов кластера увеличивается производительность системы;
- существует возможность резервирования серверов.
Типы поддерживаемых СУБД 1С:Предприятие 8.3:
- MS SQL;
- IBM DB2;
- Postgre SQL;
- Oracle.
Переход с файлового режима работы на клиент-серверный осуществляется выгрузкой информационной базы в файловом режиме в упакованный файл с расширением dt и последовательной его загрузкой в информационную базу, созданную на сервере.
При этом не исключено, что может потребоваться адаптация некоторых алгоритмов (настройка управляемых блокировок, оптимизация запросов).
Текущий режим работы можно уточнить как из Конфигуратора, так и в Пользовательском режиме:
В платформе 1С:Предприятие 8.3 могут запускаться следующие клиентские приложения:
- Толстый клиент (для которого требуются широкополосные каналы связи). В этом режиме возможна разработка и отладка прикладного решения (запуск Конфигуратора). В толстом клиенте можно выполнять обращение к базе данных, делать какие-то вычисления. Этот режим также использовался при переходе с версии 8.1. В нем запускался пользовательский режим (обычное приложение). Продолжает использоваться при необходимости запуска некоторых старых внешних обработок, а также в некоторых конфигурациях (для которых переход с версии 8.1 полностью не завершен).
- Тонкий клиент. В этом режиме осуществляется работа пользователей. Работа тонкого клиента возможна по собственному протоколу передачи данных и протоколу https (в последнем случае необходимо, чтобы был настроен WEB-сервер). Невозможна работа разработчика.
- Web-клиент. Внешнее приложение, которое реализуется с помощью браузеров. Установка клиента не требуется (должен быть настроен WEB-сервер).
Ниже представлена архитектура приложений для файлового варианта работы.
Толстый клиент по собственному протоколу передачи данных напрямую обращается к информационной базе и получает ответ.
Web-клиент обращается сначала к Web-серверу, который, при необходимости, запрашивает нужные данные из файловой базы. После чего следует ответ. При этом используется протокол https.
Тонкий клиент может обращаться как напрямую по собственному протоколу передачи данных, так и через Web-сервер с использованием протокола https.
Ниже представлена архитектура приложений для клиент-серверного варианта работы.
При использовании клиент-серверного варианта работы вместо файловой базы данных используется СУБД и Кластер серверов 1С. В составе кластера серверов отмечаются: менеджер сервера и рабочие сервера.
После обращения клиента к Кластеру серверов 1С может последовать либо сразу ответ клиенту, либо обращение к СУБД.
Web-клиент также использует протокол https. Тонкий клиент использует либо собственный протокол передачи данных, либо протокол https, если обращение идет через Web-сервер. Толстый клиент, естественно, использует собственный протокол передачи данных.
Заключение
Данной статьей мы завершаем наш небольшой цикл «Первые шаги в 1С». Надеемся, представленная информация была для вас полезной и актуальной.
Также напомним: если вы хотите расширить свои знания по сопровождению и администрированию конфигураций на базе платформы «1С:Предприятие 8», то эту задачу можно решить с помощью нашего курса Администрирование систем на 1C: развертывание, управление пользователями, настройка и поддержка 1С:Предприятия 8, проверенного временем!
И в заключение – если вам понравился наш материал, то возможно, вас заинтересует другой, уже более емкий, цикл статей для начинающих разработчиков на платформе «1С:Предприятие 8».
PDF-версия статьи для участников группы ВКонтакте
Мы ведем группу ВКонтакте – http://vk.com/kursypo1c.
Если Вы еще не вступили в группу – сделайте это сейчас и в блоке ниже (на этой странице) появятся ссылка на скачивание материалов.
Статья в PDF-формате
Вы можете скачать эту статью в формате PDF по следующей ссылке:
Ссылка доступна для зарегистрированных пользователей)
Ссылка доступна для зарегистрированных пользователей)
Ссылка доступна для зарегистрированных пользователей)
Ссылка доступна для зарегистрированных пользователей)
Статья познавательная, на картинке демонстрирующей работу работу клиент-серверного режима работы можно было показать чуть детальнее, разделив “Кластер серверов 1С” на “менеджер кластеров” и “рабочие сервера”. Хотя это не принципиально – в статье про это написано.
Добрый день, спасибо, замечание учтем.
Для новичков – полезно.
“…дополнительная СУБД, которая и определяет показатели надежности системы.”
Лучше сказать, что увеличивает. Определяет — слишком многое.
“Клиент-серверный вариант работы …, при этом используется дополнительная СУБД” – на рисунке для клиент-серверного варианта нет СУБД, а есть файл 1Cv8.1CD
Ирина, доброго дня!
Спасибо! Оба замечания сегодня исправим.
ps. Ваше письмо в саппорте вижу – отвечу в ближайшее время.