Автономный сервер 1с что такое
Перейти к содержимому

Автономный сервер 1с что такое

  • автор:

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

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

Например, для организации доступа к базе по протоколу HTTP не требуется разворачивать отдельный веб-сервер, так как автономный сервер самостоятельно обеспечивает такую возможность. Он также может работать с файловой базой, в частности, позволяет запускать до трех клиентских сеансов с информационной базой без лицензии на сервер.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

На самом деле самый простой вариант будет запуск автономного сервера вообще без параметров, в этом случае сервер поищет файловую базу в каталоге данных по умолчанию.

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

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.

УжасноПлохоНеплохоХорошо Отлично(оценок: 5, средняя оценка: 4,20 из 5)

1С BACKEND ДЛЯ WEB? ДА ВЫ СМЕЕТЕСЬ.

1с веб

Всем привет! С вами Низамов Илья! И сегодня я хотел поговорить о производительности 1С в качестве backend.

Кто-то делает сайты на 1С, кто-то ведет обмены через http сервисы, особенно актуально для мобильных приложений 1С. И понять заранее сколько одновременных пользователей потянет 1С зачастую невозможно. Если же проект коммерческий и подразумевает значительное расширение в будущем, то логичнее будет протестировать его сразу.

В этом нам поможет нагрузочный тест Apache benchmark. Я проведу тестирование http сервиса 1С на популярном web сервере для 1С, Apache версии 2.4, с настройками по умолчанию, так сказать из коробки. Потом сделаю тест http сервиса 1С при работе через автономный сервер. Сравним все это с доступом к обычному сайту и http сервису, написанному на node.js.

Все тесты проводятся на локальном компьютере, в реальных проектах, я бы рекомендовал тестировать на реальном оборудовании и интернет каналах.

Тест входит в стандартную установку Apache. Ниже приведу команды тестирования.

Тест Apache локальный сайт

У меня стоит достаточно простой локальный сайт, без php, просто html страничка.

Начнем с команды
ab -c 100 -n 10000 http://post24/

Тест создаст 100 конкурентных запросов и выполнит 10 000 GET запросов к нашему сайту.

По результату, на моем компьютере удалось выполнить максимум 260 параллельных запросов.

Тест HTTP сервиса 1С Apache

HTTP сервис 1С тоже простой и на GET запрос отдает JSON.

Команда:
ab -c 100 -n 10000 http://localhost/httpsrv/hs/ex/product

По результату, на моем компьютере удалось выполнить максимум 260 параллельных запросов.

Как мне кажется, тут проблема именно в настройках самого web сервера Apache.

Тест HTTP сервиса 1С автономный сервер

Запускаем автономный сервер 1С
“C:\Program Files\1cv8\8.3.16.1148\bin\ibsrv” –db-path=”Z:\1S\03 Обучение\HTTPTEST\Server” –name=serv1 –address=10.10.1.10

И опять тестируем
ab -c 100 -n 10000 http://10.10.1.10:8314/hs/ex/product

Автономный сервер выдержал 15 000 параллельных запросов и за тест было произведено 30 000 get запросов.

Тест HTTP сервиса на Node.js

Ниже код http сервиса на node.js, работать данный сервис будет на 3000 порту. Запускается сервис командой
node z:\www\testnode\test.js

Тестируем командой:
ab -c 100 -n 10000 http://localhost:3000/

На моем компьютере, данный сервис так же выдержал максимально 15 000 параллельных соединений и 30 000 запросов.

Так как результаты схожи с автономным сервером 1С, то возможно тут уже ограничения моей операционной системы.

Как запустить 1С для обучения и авто-тестирования – официально и без лицензий

Сегодня будем решать две однотипные проблемы, которые появились у слушателей курса по тестированию:

  • Я начинаю учиться на курсе по 1С – где ее взять?
  • Я хочу запустить автоматическое тестирование – где взять отдельную лицензию?

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

Для тестирования и вовсе отпадает в силу главного ограничения: Количество одновременно запущенных сеансов информационной базы ограничено одним сеансом.

А для тестов нужно как минимум 2 сеанса: 1-й – для менеджера тестирования и 2-й – для клиента тестирования. В некоторых ситуациях даже больше двух.

И далее мы смотрим на ситуацию глазам QA-инженера, которому не нужно что-то кодировать, но нужно как-то запускать свои 2 сессии для тестировани.

При этом будущий QA-инженер понимает, что

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

Хотя есть еще вариант – поставить эту учебную версию платформы, обучиться, через пару месяцев сдать экзамен, и тогда купить лицензию со скидкой 90% для разработчика 1С, как это описано здесь. Но это, как бы сказать… Не быстро как-то…

А что, если можно установить обычную версию 1С, которой будет достаточно для обучения и экспериментов с тестированием, не нарушая политики лицензирования 1С?

Что потребуется для установки

Рассмотрим ситуацию, когда Вы работаете в компании, где уже используется конфигурация 1С, и Вы хотите начать писать тесты.

Вам потребуются только две вещи:

  • Платформа 8.3.20 (не ниже)
  • База данных (не выгрузка базы в dt, а именно файловая база)

Платформу можно взять у IT-отдела или скачать с сайта ИТС. А в качестве базы данных можно взять демо-базу конфигурации, которая используется у Вас в компании.

Если у вас недостаточно мощный компьютер, то развернуть на нем конфигурацию типа 1С:ERP УП будет довольно сложно. Но для этих целей можно попросить у IT-отдела демо конфигурацию «Управляемое приложение», которая доступна для скачивания на сайте ИТС рядом со ссылками на платформу.

Установка платформы

Давайте теперь разберемся с тем, как устанавливать платформу. Обязательное требование – версия платформы не ниже 8.3.20, это важно, иначе может отличаться синтаксис.

Платформу Вы получите в виде архива, который надо распаковать и запустить файл setup.exe.

И нажимаем Далее:

Тут надо выбрать только две опции 1С:Предприятие – Тонкий клиент и Сервер 1С:Предприятие 8, и жмем Далее.

И снимаем флажок с установки сервера:

Потом нажимаем Далее, и затем будет еще одно окно с настройкой лицензий – там снимаем верхний флажок, так как нам не нужно устанавливать драйвер защиты.

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

Что именно нам нужно от платформы – так это автономный сервер. Это технология сейчас находится в бета версии, но нам для обучения ее будет вполне достаточно, так как автономный сервер позволяет запускать до трех клиентских сеансов без лицензии.

А этого нам, будущим QA-инженерам, будет достаточно, так как для написания тестов нам достаточно и двух сессий – одна в режиме TestManager, другая – TestClient.

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

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

Подключение базы данных

Следующий этап – это подключение базы.

Где взять базу для тестирования – решать вам (я писал об этом выше), я же буду показывать на примере конфигурации IRP (которую без проблем можно использовать для обучения):

Переходим по ссылке https://github.com/IRPTeam/IRP , и скачиваем демо базу:

Распаковываем желательно по короткому пути, чтобы не было пробелов, кириллицы, спецсимволов и прочего (в теории – это не должно влиять, но опыт подсказывает другое):

Обратите внимание на то, что это не файл выгрузки базы данных с расширением .dt, а это именно файловая база 1Cv8.1CD.

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

Для этого идем в папку, где установлена 1С, и находим файл ibsrv. Кликаем по нему правой кнопкой мыши и отправляем ярлык на рабочий стол:

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

То есть в конце строки ставим пробел и дописываем:

Если в пути есть пробелы, то путь базы нужно взять в кавычки.

Сохраняем изменения и запускаем этот ярлык. После этого должно появиться вот такое черное окно:

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

А теперь давайте проверим, что у нас все работает. Для этого просто откроем базу в браузере по адресу http://localhost:8314. Если все прошло хорошо, то нас встретит окно ввода логина:

И мы сможем попасть в базу:

В базе уже есть данные, с которыми можно писать простые тесты и обучаться.

Подключаем базу в список баз

И последний этап – это подключить базу в режиме тест менеджера и проверить, что все работает. Запускаем ярлык 1С, нажимаем Добавить, выбираем опцию Добавить существующую базу, и указываем путь к базе:

Нажимаем Далее и не забываем указать ключ /TestManager:

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

Спасибо компании 1С за интересный инструмент!

Подведем итог

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

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

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

Поэтому не упускайте шанс запустить 1С официально без лицензий, а то вдруг 1С уберет эту функциональность (хотя, вряд ли).

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

Ваш адрес email не будет опубликован. Обязательные поля помечены *