ЛР4_1С_83_тонкий_и_WEB-клиент (1031817), страница 3
Текст из файла (страница 3)
Изменения данных сеанса, выполненные за время одного вызова сервера, хранятся в рабочем процессе и передаются менеджеру кластера только при возврате управления клиенту, как штатного, так и в результате программного исключения.
Изменения данных сеанса не сохраняются в менеджере кластера, если:
-
● в процессе вызова сервера аварийно завершился рабочий процесс;
-
● при возврате управления клиенту произошла ошибка передачи данных.
Соединение является средством доступа сеансов к кластеру серверов «1С:Предприятия», содержит ограниченное множество данных соединения, не отождествляется с активным пользователем. Также соединения используются для взаимодействия процессов кластера.
Для обращения клиента к кластеру сеанс назначается соединению. Все время, пока клиент не выполняет обращений к кластеру, сеанс может быть не назначен никакому соединению.
Разные варианты использования «1С:Предприятия» по-разному работают с сеансами и соединениями.
-
● Конфигуратор и толстый клиент:
-
● при старте: устанавливает соединение, начинает сеанс и назначает его соединению;
-
● при завершении: отменяет назначение сеанса соединению, заканчивает сеанс и разрывает соединение.
-
● Одно обращение к Web-сервису и одно выполнение фонового или регламентного задания:
-
● в начале обращения: выбирает соединение из пула, создает сеанс и назначает его соединению;
-
● в конце обращения: отменяет назначение сеанса соединению, заканчивает сеанс и возвращает соединение в пул.
-
● Тонкий клиент и веб-клиент начинают сеанс при старте и заканчивают сеанс при завершении:
-
● в начале обращения к кластеру выбирается соединение из пула, и ему назначается сеанс данного клиента.
-
● в конце обращения к кластеру назначение сеанса соединению отменяется, и соединение возвращается в пул.
Информация о сеансах отражается:
-
● в журнале регистрации,
-
● консоли кластера,
-
● средствах программного администрирования,
-
● технологическом журнале,
-
● глобальном контексте.
Администратор кластера может получить список существующих сеансов как для всего кластера, так и в разрезе информационных баз. Для этого утилита администрирования кластера и средства программного администрирования имеют соответствующие возможности.
Администратор кластера может закончить сеанс принудительно при помощи утилиты администрирования кластера и средств программного администрирования. При этом работа активного пользователя завершится аварийно. Если удаляется сеанс, назначенный соединению, то происходит разрыв этого соединения.
Администратор кластера с помощью утилиты администрирования и средств программного администрирования может установить блокировку установки сеансов, которая не позволяет начинать новые сеансы, но при этом не препятствует работе существующих сеансов.
1.4.1. Виды соединений
Можно выделить два вида соединений:
-
● соединения с информационной базой,
-
● служебные соединения с рабочими процессами кластера.
1.4.1.1. Соединения с информационной базой
Соединения с информационной базой имеют следующие отличительные особенности:
-
● соединение выполняется с конкретной информационной базой кластера;
-
● в таком соединении может выполняться код на встроенном языке;
-
● соединение может переустанавливаться с течением времени;
-
● соединение может быть разорвано принудительно командой консоли кластера или средствами встроенного языка;
-
● наличие соединений с информационной базой у рабочего процесса кластера препятствует остановке и запуску этого рабочего процесса.
Возможны следующие виды соединений с информационной базой:
-
● Толстый клиент,
-
● Тонкий клиент,
-
● Конфигуратор,
-
● Модуль расширения веб-сервера,
-
● COM-соединение,
-
● Фоновое задание.
Толстый клиент
Представляет собой соединение толстого клиента с информационной базой. Это соединение предназначено для модификации данных информационной базы и выполнения другой функциональности, предоставляемой конфигурацией информационной базы.
Соединение Толстый клиент создается в результате интерактивного запуска толстого клиента в режиме 1С:Предприятие или в результате подключения к информационной базе с использованием технологии Automation Client/Server, например:
// Создать Automation сервер 1С:Предприятия
AutomationCервер = Новый COMОбъект("V83.Application");
// Установить соединение с информационной базой
// TestBase в кластере 1541 центрального сервера TestSrv
AutomationCервер.Connect("Srvr="TestSrv";Ref="TestBase");
Тонкий клиент
Представляет собой соединение тонкого клиента с информационной базой. Это соединение предназначено для модификации данных информационной базы и выполнения другой функциональности, предоставляемой конфигурацией информационной базы.
Соединение Тонкий клиент создается в результате интерактивного запуска тонкого клиента или в результате подключения к информационной базе с использованием технологии Automation Client/Server, например:
// Создать Automation сервер 1С:Предприятия
AutomationCервер = Новый COMОбъект("V83С.Application");
// Установить соединение с информационной базой
// TestBase в кластере 1541 центрального сервера TestSrv
AutomationCервер.Connect("Srvr="TestSrv";Ref="TestBase");
Конфигуратор
Представляет собой соединение конфигуратора с информационной базой. Это соединение предназначено для создания и модификации конфигурации информационной базы и для выполнения административных и регламентных действий.
Модуль расширения веб-сервера
Представляет собой соединение веб-сервера с рабочим процессом сервера. Это соединение предназначено для работы веб-клиента, Web-сервисов, а также тонкого клиента (по протоколу HTTP).
Соединение создается в момент обращения к Web-сервису или при обращении веб-клиента или тонкого клиента (по протоколу HTTP) к серверу «1С:Предприятия». Соединение существует до перезапуска веб-сервера или до тех пор, пока соединение находится в пуле соединений модулей расширений веб-сервера (пока не закончится время жизни соединения в пуле, или пока данное соединение не будет вытеснено из пула другими соединениями).
Подробнее о Web-сервисах см. книгу «1С:Предприятие 8.3. Руководство разработчика».
COM-соединение
Представляет собой соединение процесса, использующего функциональность внешнего соединения «1С:Предприятия», с информационной базой. Это соединение предназначено для модификации данных информационной базы и выполнения другой функциональности, предоставляемой конфигурацией информационной базы.
COM-соединение создается в результате подключения к информационной базе с использованием технологии COM, например:
// Создать Automation сервер 1С:Предприятия
COMСоединитель = Новый COMОбъект("V83.COMConnector");
// Установить соединение с информационной базой
// TestBase в кластере 1541 центрального сервера TestSrv
СоединениеСИнформационнойБазой = COMСоединитель.Connect("Srvr="TestSrv";Ref="TestBase");
Фоновое задание
Представляет собой соединение рабочего процесса кластера с информационной базой. Это соединение предназначено для выполнения кода процедуры фонового задания.
Соединение фонового задания создается в результате запуска фонового задания на выполнение или в результате фонового исполнения отчета. Запуск фонового задания может выполняться системой «1С:Предприятие» в результате автоматического запуска регламентного задания (регламентное задание порождает соответствующее фоновое задание) или разработчиком, средствами встроенного языка, например:
// Выполнить фоновое задание, описанное в процедуре
// ОбновлениеИндексаПолнотекстовогоПоиска
// общего модуля РегламентныеПроцедуры
ФоновоеЗадание = ФоновыеЗадания.Выполнить("РегламентныеПроцедуры.ОбновлениеИндексаПолнотекстовогоПоиска");
Соединение фонового задания существует до тех пор, пока существует контекст исполняемой процедуры фонового задания. После того как процедура выполнена или отчет сформирован, соединение фонового задания закрывается.
Подробнее о фоновых заданиях и фоновом исполнении отчетов см. книгу «1С:Предприятие 8.3. Руководство разработчика».
1.4.1.2. Служебные соединения
Служебные соединения имеют следующие отличительные особенности:
-
● соединение выполняется с рабочим процессом и не ассоциируется с конкретной информационной базой;
-
● в служебных соединениях код на встроенном языке не выполняется;
-
● соединение не может быть разорвано принудительно, оно создается и завершается системой;
-
● наличие служебных соединений не препятствует остановке и запуску рабочих процессов кластера серверов.
Возможны следующие виды служебных соединений:
-
● Планировщик заданий,
-
● Отладчик,
-
● Консоль кластера,
-
● Сервер администрирования,
-
● COM-администратор,
-
● Системное фоновое задание.
Планировщик заданий
Представляет собой соединение планировщика заданий с рабочим процессом. Это соединение предназначено для управления работой фоновых заданий, в том числе для запуска регламентных заданий по расписанию. Данное соединение также используется для других случаев обращения менеджера кластера (rmngr) к рабочему процессу (rphost), например, при получении списка сеансов.
Соединение планировщика заданий создается при первом запуске фонового задания. Оно может порождать соединение фонового задания с информационной базой в том же рабочем процессе кластера серверов. После завершения соединения фонового задания соединение планировщика заданий не завершается, а существует до тех пор, пока рабочий процесс кластера не будет выключен или удален.
Подробнее о фоновых заданиях см. книгу «1С:Предприятие 8.3. Руководство разработчика».
Отладчик
Представляет собой соединение отладчика с рабочим процессом кластера, находящимся в режиме отладки. Это соединение предназначено для управления ходом отладки и поиском предметов отладки, имеющихся в настоящий момент.
Соединение отладчика создается при подключении предмета отладки или при поиске предметов отладки. Существует до тех пор, пока предмет отладки не будет отключен или не завершит свою работу.
Подробнее об отладчике см. книгу «1С:Предприятие 8.3. Руководство разработчика».
Консоль кластера
Представляет собой соединение консоли кластера серверов (mmc, см. здесь) с рабочим процессом. Это соединение предназначено для администрирования информационных баз кластера серверов.
Соединение консоли кластера создается в момент обращения к данным рабочего процесса (например, при получении параметров информационной базы, при получении подробного списка соединений информационной базы и пр.).
Сервер администрирования
Представляет собой соединение сервера удаленного администрирования кластера серверов с рабочим процессом. Это соединение предназначено для администрирования информационных баз кластера серверов.
Соединение удаленного администрирования создается в момент обращения к данным рабочего процесса (например, при получении параметров информационной базы, при получении подробного списка соединений информационной базы и пр.).
COM-администратор
Представляет собой соединение с рабочим процессом сервера с использованием технологии COM. Это соединение предназначено для администрирования информационных баз кластера серверов.
Соединение COM-администратора создается при подключении к выбранному рабочему процессу с использованием технологии COM, например:
// Создать COMСоединитель 1С:Предприятия
COMСоединитель = Новый COMОбъект("V83.COMConnector");
// Установить соединение с рабочим процессом 1562