HTTP-сервисы OneScript. Каркасная конфигурация 2.0






В статье описана новая версия конфигурации для создания web-приложений на основе http-сервисов OneScript в среде 1С:Предприятие.

Введение

Настоящая конфигурация является обновленной версией каркасной конфигурации, описанной в этой публикации и также, как и предыдущая версия, предназначена для создания и отладки web-приложений на основе механизма http-сервисов, в среде 1С:Предприятие, с последующим их выполнением в OneScript.

Конфигурация  никоим образом не претендует на то, чтобы стать “убийцей” или заменой каких-либо распространенных web-фреймворков etc. J и предназначена исключительно для расширения возможностей информационных систем, созданных на платформе 1С:Предприятие, в тех случаях, когда использование платформы по каким-либо причинам неудобно или невозможно.

К возможным сферам применения таких web-приложений можно отнести горизонтальное масштабирование частей информационной системы, посредством выполнения “тяжелых” функций, слабо связанных с информационной базой, средой выполнения OneScript, которая не требует лицезий и может быть развернута на множестве серверов. Другой сферой применения может быть создание различных сервисов,  которые будут являться неким промежуточным звеном, между конечными пользователями или другими системами с платформой 1С:Предприятие.

Системные требования

Компьютер под управлением ОС Windows 7 или более поздней версии.

На компьютере должен быть установлен .NET Framework версии не ниже 4.5.2.

На компьютере должна быть установлена платформа 1С:Предприятие, версии не ниже 8.3.6.1977

Новые функции

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

Новые объекты конфигурации

В отличии от предыдущей версии, где для разработки могли быть использованы только общие модули, в настоящей версии, для разработки и выполнения в OneScript стали доступны нижеследующие объекты конфигурации 1С:Предприятие:

Таким образом, теперь вы можете использовать эти объекты для создания web-приложений.

Улучшена поддержка работы с СУБД

Основой для работы с СУБД, как и в предыдущей версии, является библиотека OneScript SQL. В новой версии есть надстройка, позволяющая работать с библиотекой как с набором обработок, что позволяет сделать код работы с СУБД полностью переносимым. Также появился инструмент, позволяющий писать и отлаживать запросы к СУБД из среды 1С:Предприятие.

Подробное описание этих механизмов и работы с ними находится в этой статье.

Дополнительные настройки

В связи с появлением новых объектов, а также с целью улучшения удобства использования, в окне настроек появились новые опции:

Код языка (1) – Поскольку в 1С:Предприятие возможно создание различных версий макетов для разных языков, данный параметр указывает, какие версии макетов будут использоваться для создания web-приложения.

Пул приложений (2) – Поскольку в ОС Windows работа приложения возможна в классическом и интегрировааном пуле, данный параметр указывает, какой тип пула будет использовать приложение. Данный параметр влияет на генерацию файла web.config.

Папки компонентов (3), (4), (5), (6) – Данные параметры служат для настройки имен папок, в которых будут расположены соответственно общие модули, общие макеты, перечисления и обработки.

Изменения в методике создания приложений

В предыдущей версии конфигурации имелись нижеследующие предопределенные объекты:

ПлатформаOneScript – макет, содержащий исполняемые файлы и библиотеки платформы OneScript.

web_config – макет, содержащий тело файла web.config

web_config_linux – макет, содержащий тело файла web.config для Linux.

БиблиотекиOneScript – макет, содержащий исполняемые (*.dll) файлы библиотек, не относящихся к платформе OneScript.

ПрочиеФайлы – макет, содержащий все остальные файлы, не относящиеся к общим модулям, http-сервисам, платформе, библиотекам или конфигурационным файлам web.config.

Таким образом, внедрение новой библиотеки или обновление, влекло за собой пересборку вышеуказанных макетов, что  естественным образом могло привести к ошибкам.

Для упрощения задач по внедрению и изменению компонентов вашего web-приложения, в конфигурации имеется несколько предопределенных подсистем:

ИсполняемыеФайлыWebПриложения – данная подсистема содержит макеты с zip-архивами, которые содержат исполняемые файлы или dll, которые необходимы для работы web-приложения. Фактически, совокупность этих макетов является аналогом макета БиблиотекиOneScript в предыдущей версии. В процессе создания приложения, производится выгрузка и распаковка содержимого всех макетов.

В качестве примера, на рисунке ниже, показан состав этой подсистемы в каркасной конфигурации.

ПрочиеФайлыWebПриложения – данная подсистема содержит макеты, аналогично макету ПрочиеФайлы, предыдущей версии. Распаковка и выгрузка производится аналогично макетам исполняемых файлов.

СекцияAppSettingsФайлаWebConfig – данная подсистема содержит макеты, содержащие ключи секции appSettings, файла web.config. В процессе создания web-прилоджения, содержимое этих макетов формирует секцию appSettings, файла web.config.

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

СекцияConnectionStringsФайлаWebConfig – служит для формирования секции connectionSrtrings, аналогично секции appSettings.

ИнформацияОКомпонентахWebПриложения – содержит макеты типа ТекстовыйДокумент, в которых разработчик может указать версию библиотеки, описание или какую-либо другую справочную информацию. Просмотреть информацию об установленных компонентах и библиотеках, можно выбрав пункт Информация о компонентах, на вкладке Инструменты.

Конечно создание макетов с описанием компонентов не является обязательным, однако это удобно.

ОбъектыКонфигурацииWebПриложения – данная подсистема содержит объекты конфигурации, которые будут выполняться в среде OneScript. Использование данной подсистемы не обязательно, однако желательно, чтобы избежать путаницы с выгрузкой объектов в web-приложение.

Таким образом, внедрение новых библиотек и фрагментов кода, а также их обновление может быть осуществлено сравнением/объединением с фильтрацией по подсистемам.

В качестве примера, на рисунке ниже приведен состав подсистемы БиблиотекаSqlDataProcessor.

Заключение

Надеюсь, что  с этим наверное уже можно как-то работать J. В общем – пробуйте, создавайте распределенные системы, решайте бизнес-задачи J.

P.S.

Если есть интересные идеи – можем попробовать реализовать их вместе.

История версий

Версия 2.0.5.

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

Ошибку можно исправить, закомментировав строки 660 и 663 в общем модуле ФункцииHTTPСервисыOneScript:

 

 

Версия 2.0.4.

Исправлена ошибка, вызывающая исключительную ситуацию, при выполнении запроса типа Команда в форме справочника ЗапросыСУБД.

Исправлена ошибка: общий макет ПрочиеФайлы не включен в подсистему ПрочиеФайлыWebПриложения.

Исправлена ошибка: Переменные в модуле объекта обработки ТипыСУБД имеют неверный тип данных. Данная ошибка влияет на работу с СУБД в среде 1С:Предприятие.

Исправлена ошибка: Функция Обработки.ПараметрыСоединенияСУБД.ПолучитьТипСУБД возвращает неправильный тип данных. Данная ошибка влияет на работу с СУБД в среде 1С:Предприятие.

6 Comments

  1. Steelvan

    «…Если есть интересные идеи – можем попробовать реализовать их вместе… »

    Вы представляете себя лично или некую компанию ?

    Reply
  2. blackhole321

    (1)Давайте попробуем.

    Вы представляете себя лично или некую компанию ?

    Себя лично

    Reply
  3. Steelvan

    Приоритетная цель какая ?

    Зарабатывание или интерес к развитию возможностей 1С для сетевых технологий ?

    Reply
  4. blackhole321

    (3)Честно говоря, над коммерческой составляющей пока серьезно не думал, одако деньги также лишними не будут 🙂

    Ну изложите таки Ваши идеи.

    Reply
  5. Aleksey81

    Добрый день. Подскажите, пожалуйста, где найти мануал (желательно) пошаговый для запуска простейшего приложения «hello world» используя вашу каркасную конфигурацию?

    Reply
  6. blackhole321

    (6)Мануал по начальной настройке и созданию простейшего приложения описан в статье к версии 1 https://infostart.ru/public/789679/ Все изменения и дополнения описаны в этой статье

    Reply

Leave a Comment

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