Автономный сервер в 1С

 

В версии технологической платформы 8.3.14 была реализована новая возможность, а точнее новое приложение, которое позволяет организовать работу клиентских приложений с информационной базой по протоколу HTTP — автономный сервер. В этой статье я попробую рассказать, что это за новое приложение и как его можно использовать.

Общая информация

Итак, автономный сервер — это серверное приложение, которое обеспечивает работу клиентских приложений (тонкий клиент, веб-клиент, мобильный клиент) с информационной базой. Автономный сервер взаимодействует с клиентами по протоколу HTTP и обеспечивает те же возможности, что и кластер серверов за исключением средств администрирования и управления. Кроме этого автономный сервер содержит встроенный веб-сервер, что позволяет публиковать базу данных, без использования сторонних веб-серверов.

Разумеется, автономный сервер имеет некоторые ограничения. В частности он НЕ поддерживает следующие возможности:

  • Обслуживание нескольких информационных баз одним автономным сервером;
  • Работу нескольких автономных серверов с одной информационной базой;
  • Изменение параметров автономного сервера во время его (автономного сервера) работы;
  • Работу с информационной базой, используя толстый клиент;
  • Работу с информационной базой в режиме Конфигуратора;
  • Работу с информационной базой с использованием внешнего соединения (COM-соединение);
  • Управление автономным сервером с помощью сервера ras;
  • Для автономного сервера отсутствуют графические инструменты управления (аналог консоли кластера);
  • Динамическое обновление конфигурации базы данных;
  • Использование фоновой реструктуризации;
  • Управление сервером с помощью COM-объекта V83.ComConnector;
  • Работу по протоколу HTTPS. Возможно использование протокола HTTPS при использовании промежуточного веб-сервера между автономным сервером и клиентским приложением;
  • Отладка по протоколу TCP/IP;
  • Использование аутентификации операционной системы.

Запуск автономного сервера

Автономный сервер устанавливается вместе с кластером серверов 1С и имеет такие же системные требования. После установки в каталоге bin появятся два файла:

  • ibsrv.exe — сам автономный сервер;
  • ibcmd.exe — утилита администрирования.

Оба приложения имеют справочную систему, которую можно вызвать стандартным, для утилит командной строки, способом:

Команда "help" автономного сервера
Команда «help» автономного сервера

Автономный сервер может быть запущен как обычное приложение и как сервис (демон) операционной системы, при этом сам автономный сервер не умеет регистрировать себя в качестве сервиса, для этого нужно воспользоваться средствами ОС.

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

Конфигурационный файл создается специальной командой или вручную (подробнее ниже). Для запуска автономного сервера с учетом конфигурационного файла, необходимо указать расположение этого файла.

Запуск сервера для работы с файловой базой в самом простом случае выглядит так:

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

Автономный сервер в 1С
Запуск автономного сервера 1С

После этого к базу можно посмотреть например через браузер:

Автономный сервер в 1С
База на автономном сервере
 

Отладка на автономном сервере

Отладка с использованием автономного сервера возможно только по протоколу 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), указать адрес сервера отладки и имя информационной базы (может потребоваться перезапуск). В моем случае это выглядит так:

Настройка отладки для автономного сервера 1С
Настройка отладки для автономного сервера 1С

В самом клиентском приложении также нужно указать сервер отладки (меню Сервис — Параметры…), например так:

Настройка клиентского приложения
Настройка клиентского приложения

После всего можно будет подключить предмет отладки через соответствующее меню (Главное меню — Отладка — Подключение…)

Конфигурационные файлы

Конфигурационный файл можно создать вручную, а можно при помощи утилиты администрирования 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

Результат:

Работа с ibcmd
Работа с ibcmd

На этом все, надеюсь эта статья была Вам интересна.

Если Вы нашли ошибку или неточность, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Оценка статьи:
УжасноПлохоНеплохоХорошоОтлично (оценок: 7, средняя оценка: 3,29 из 5)
Загрузка...

Понравилась статья? Поделиться с друзьями:
Комментарии: 5
  1. irmaseo.ru

    Очень интересная статья

  2. Александр

    А как на этом автономном сервере публиковать http-сервисы?

  3. Роман Рыбин

    Ну хорошо, а если сервер баз данных —db-server= на нестандартном порту?

    1. Владислав

      Кури ibsrv.exe help
      ibsrv -p 8080

  4. Александр

    А как запустить АС с конфигурационным файлом?

Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!:

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам: