Архитектура приложений «1С:Предприятие 8» (бесплатная статья по Программированию в 1С)

О чем эта статья

Эта статья является продолжением цикла статей «Первые шаги в 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-сервер).

Ниже представлена архитектура приложений для файлового варианта работы.

Архитектура приложений 1С для файлового варианта работы

Толстый клиент по собственному протоколу передачи данных напрямую обращается к информационной базе и получает ответ.

Web-клиент обращается сначала к Web-серверу, который, при необходимости, запрашивает нужные данные из файловой базы. После чего следует ответ. При этом используется протокол https.

Тонкий клиент может обращаться как напрямую по собственному протоколу передачи данных, так и через Web-сервер с использованием протокола https.

Ниже представлена архитектура приложений для клиент-серверного варианта работы.

Архитектура приложений 1С для клиент-серверного варианта работы

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

После обращения клиента к Кластеру серверов 1С может последовать либо сразу ответ клиенту, либо обращение к СУБД.

Web-клиент также использует протокол https. Тонкий клиент использует либо собственный протокол передачи данных, либо протокол https, если обращение идет через Web-сервер. Толстый клиент, естественно, использует собственный протокол передачи данных.

Заключение

Данной статьей мы завершаем наш небольшой цикл «Первые шаги в 1С». Надеемся, представленная информация была для вас полезной и актуальной.

Также напомним: если вы хотите расширить свои знания по сопровождению и администрированию конфигураций на базе платформы «1С:Предприятие 8», то эту задачу можно решить с помощью нашего курса Администрирование систем на 1C: развертывание, управление пользователями, настройка и поддержка 1С:Предприятия 8, проверенного временем!

И в заключение – если вам понравился наш материал, то возможно, вас заинтересует другой, уже более емкий, цикл статей для начинающих разработчиков на платформе «1С:Предприятие 8».

PDF-версия статьи для участников группы ВКонтакте

Мы ведем группу ВКонтакте – http://vk.com/kursypo1c.

Если Вы еще не вступили в группу – сделайте это сейчас и в блоке ниже (на этой странице) появятся ссылка на скачивание материалов.


Статья по программированию - в PDF-формате

Статья в PDF-формате

Вы можете скачать эту статью в формате PDF по следующей ссылке:
Ссылка доступна для зарегистрированных пользователей)

Ссылка доступна для зарегистрированных пользователей)
Ссылка доступна для зарегистрированных пользователей)
Ссылка доступна для зарегистрированных пользователей)

Если Вы уже участник группы – нужно просто повторно авторизоваться в ВКонтакте, чтобы скрипт Вас узнал. В случае проблем решение стандартное: очистить кеш браузера или подписаться через другой браузер.

4 комментариев к “Архитектура приложений «1С:Предприятие 8» (бесплатная статья по Программированию в 1С)

  1. Escander сказал:

    Статья познавательная, на картинке демонстрирующей работу работу клиент-серверного режима работы можно было показать чуть детальнее, разделив “Кластер серверов 1С” на “менеджер кластеров” и “рабочие сервера”. Хотя это не принципиально – в статье про это написано.

    • Ольга Трикоз сказал:

      Добрый день, спасибо, замечание учтем.

  2. progr-2008 сказал:

    Для новичков – полезно.

    “…дополнительная СУБД, которая и определяет показатели надежности системы.”
    Лучше сказать, что увеличивает. Определяет — слишком многое.

    “Клиент-серверный вариант работы …, при этом используется дополнительная СУБД” – на рисунке для клиент-серверного варианта нет СУБД, а есть файл 1Cv8.1CD

    • Евгений Гилев (Мастер-тренер) сказал:

      Ирина, доброго дня!

      Спасибо! Оба замечания сегодня исправим.

      ps. Ваше письмо в саппорте вижу – отвечу в ближайшее время.

Комментарии закрыты

Мы используем файлы cookies, чтобы сделать сайт удобнее.
Продолжая просмотр сайта, Вы соглашаетесь с их использованием.
Подробнее