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

Обмен - Интеграция с WEB

56
В статье описана новая версия конфигурации для создания 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С:Предприятие.

56

Скачать файлы

Наименование Файл Версия Размер
HTTP-сервисы OneScript. Каркасная конфигурация 2.0.5:
.cf 9,37Mb
27.06.18
4
.cf 9,37Mb 4 Скачать

См. также

Комментарии
Сортировка: Древо
1. Steelvan 05.06.18 17:45 Сейчас в теме
"...Если есть интересные идеи – можем попробовать реализовать их вместе... "

Вы представляете себя лично или некую компанию ?
2. blackhole321 759 05.06.18 17:46 Сейчас в теме
(1)Давайте попробуем.
Вы представляете себя лично или некую компанию ?

Себя лично
3. Steelvan 05.06.18 17:53 Сейчас в теме
Приоритетная цель какая ?

Зарабатывание или интерес к развитию возможностей 1С для сетевых технологий ?
4. blackhole321 759 05.06.18 18:15 Сейчас в теме
(3)Честно говоря, над коммерческой составляющей пока серьезно не думал, одако деньги также лишними не будут :)
Ну изложите таки Ваши идеи.
6. Aleksey81 572 24.06.18 21:54 Сейчас в теме
Добрый день. Подскажите, пожалуйста, где найти мануал (желательно) пошаговый для запуска простейшего приложения "hello world" используя вашу каркасную конфигурацию?
7. blackhole321 759 25.06.18 07:19 Сейчас в теме
(6)Мануал по начальной настройке и созданию простейшего приложения описан в статье к версии 1 https://infostart.ru/public/789679/ Все изменения и дополнения описаны в этой статье
Оставьте свое сообщение