В версии технологической платформы 8.3.14 была реализована новая возможность, а точнее новое приложение, которое позволяет организовать работу клиентских приложений с информационной базой по протоколу HTTP — автономный сервер. В этой статье я попробую рассказать, что это за новое приложение и как его можно использовать.
Общая информация
Итак, автономный сервер — это серверное приложение, которое обеспечивает работу клиентских приложений (тонкий клиент, веб-клиент, мобильный клиент) с информационной базой. Автономный сервер взаимодействует с клиентами по протоколу HTTP и обеспечивает те же возможности, что и кластер серверов за исключением средств администрирования и управления. Кроме этого автономный сервер содержит встроенный веб-сервер, что позволяет публиковать базу данных, без использования сторонних веб-серверов.
Разумеется, автономный сервер имеет некоторые ограничения. В частности он НЕ поддерживает следующие возможности:
- Обслуживание нескольких информационных баз одним автономным сервером;
- Работу нескольких автономных серверов с одной информационной базой;
- Изменение параметров автономного сервера во время его (автономного сервера) работы;
- Работу с информационной базой, используя толстый клиент;
- Работу с информационной базой в режиме Конфигуратора;
- Работу с информационной базой с использованием внешнего соединения (COM-соединение);
- Управление автономным сервером с помощью сервера ras;
- Для автономного сервера отсутствуют графические инструменты управления (аналог консоли кластера);
- Динамическое обновление конфигурации базы данных;
- Использование фоновой реструктуризации;
- Управление сервером с помощью COM-объекта V83.ComConnector;
- Работу по протоколу HTTPS. Возможно использование протокола HTTPS при использовании промежуточного веб-сервера между автономным сервером и клиентским приложением;
- Отладка по протоколу TCP/IP;
- Использование аутентификации операционной системы.
Запуск автономного сервера
Автономный сервер устанавливается вместе с кластером серверов 1С и имеет такие же системные требования. После установки в каталоге bin появятся два файла:
- ibsrv.exe — сам автономный сервер;
- ibcmd.exe — утилита администрирования.
Оба приложения имеют справочную систему, которую можно вызвать стандартным, для утилит командной строки, способом:
Автономный сервер может быть запущен как обычное приложение и как сервис (демон) операционной системы, при этом сам автономный сервер не умеет регистрировать себя в качестве сервиса, для этого нужно воспользоваться средствами ОС.
Параметры для запуска автономного сервера можно указать прямо в командной строке или в специальном конфигурационном файле. При этом командная строка имеет больший приоритет. Если какой-то параметр не указан ни в командной строке ни в конфигурационном файле, то будет использовано значение по умолчанию.
Конфигурационный файл создается специальной командой или вручную (подробнее ниже). Для запуска автономного сервера с учетом конфигурационного файла, необходимо указать расположение этого файла.
Запуск сервера для работы с файловой базой в самом простом случае выглядит так:
ibsrv --db-path="c:\path-to-the-base"
На самом деле самый простой вариант будет запуск автономного сервера вообще без параметров, в этом случае сервер поищет файловую базу в каталоге данных по умолчанию.
Запуск сервера для работы с клиент-серверным вариантом базы в самом простом случае выглядит так:
ibsrv --dbms=db-type --db-server=server-name --db-user=pass --db-pwd=pass --db-name=db-name
После этого к базу можно посмотреть например через браузер:
Отладка на автономном сервере
Отладка с использованием автономного сервера возможно только по протоколу HTTP. Сама схема отладки выглядит достаточно изощренно (я с трудом представляю себе практическое использование данной функциональности):
- Запустить сервер отладки, например так (см. Отладка по протоколу HTTP):
dbgs -a 192.168.0.11 -p 4000
- Запустить автономный сервер с указанием сервера отладки и имени информационной базы, например так:
ibsrv.exe --dbms=mssqlserver --db-server=192.168.0.15 --db-user=sa --db-pwd=Z123456z --db-name=test01 --name=test03 --debug=192.168.0.11:4000
- Запустить конфигуратор с базой в которую загружена точно такая же конфигурация как и в отлаживаемой базе.
Далее, в запущенном конфигураторе, следует открыть диалог параметров отладки (Главное меню — Сервис — Параметры — Отладка). В диалоге нужно выбрать протокол отладки (HTTP), указать адрес сервера отладки и имя информационной базы (может потребоваться перезапуск). В моем случае это выглядит так:
В самом клиентском приложении также нужно указать сервер отладки (меню Сервис — Параметры…), например так:
После всего можно будет подключить предмет отладки через соответствующее меню (Главное меню — Отладка — Подключение…)
Конфигурационные файлы
Конфигурационный файл можно создать вручную, а можно при помощи утилиты администрирования ibcmd. Например:
ibcmd.exe server config init --dbms=mssqlserver --db-server=192.168.0.15 --db-user=sa --db-pwd=Z123456z --db-name=test01 --name=test03 --base=webAccess
В данном случае текст конфигурационного файла будет выведен прямо в консоль:
Что бы записать все это в файл на диске можно воспользоваться специальным параметром --out
:
ibcmd.exe server config init --dbms=mssqlserver --db-server=192.168.0.15 --db-user=sa --db-pwd=Z123456z --db-name=test01 --name=test03 --base=webAccess --out=C:\test.conf
Или стандартными средствами:
ibcmd.exe server config init --dbms=mssqlserver --db-server=192.168.0.15 --db-user=sa --db-pwd=Z123456z --db-name=test01 --name=test03 --base=webAccess > C:\test.conf
Кроме этого утилита ibcmd позволяет выполнять различные операции — создавать базы и загружать в них конфигурации и выгрузки. Для примера загрузим выгрузку (dt) в базу на MSSQL сервере:
ibcmd.exe infobase restore --dbms=mssqlserver --db-server=192.168.0.15 --db-user=sa --db-pwd=Z123456z --db-name=test01 C:\1Cv8.dt
Результат:
На этом все, надеюсь эта статья была Вам интересна.
Загрузка...
Очень интересная статья
А как на этом автономном сервере публиковать http-сервисы?
Ну хорошо, а если сервер баз данных —db-server= на нестандартном порту?
Кури ibsrv.exe help
ibsrv -p 8080
А как запустить АС с конфигурационным файлом?