1С, начиная с версии 8.3.5, поддерживает возможность получения данных от платформы с помощью «коробочного HTTP REST сервиса, реализующего спецификацию стандарта доступа к данным OData (подробнее – здесь).
HTTP REST открывает широкие возможности разработки приложений на различных платформах, используя в качестве источника данных 1С. Здесь можно посмотреть хороший пример описания общих подходов к разработке такого приложения на стеке стандартных веб технологий.
Компанией RWAD Technologies создан инструмент FastWebAppConstructor (FWAC), позволяющий выполнять разработку таких приложений в режиме «конструктора».
FWAC - это универсальный инструмент для быстрой разработки современных веб приложений, использующих в качестве источника данных существующие веб сервисы (посредством использования спецификации доступа к данным OData) либо локальные хранилища.
Описание процесса создания приложения
Процесс создания веб приложения на основе 1С REST сервиса средствами FWAC включает в себя:
Создание модели данных
Модель данных создается с помощью операции анализа метаданных 1С REST сервиса. Описание метаданных доступно по следующей маске маршрута: http://[host]/[1C_db_name]/odata/standard.odata/$metadata. В результате анализа метаданных в импортируемой модели данных учитываются:
- Таблицы (справочники);
- Определение первичных ключей таблиц.
- Связи таблиц (внешние ключи);
- Типы данных полей;
- Ограничения обязательности заполнения полей и другие ограничения.
В процессе импорта схемы данных из метаданных OData сервиса возможно выбрать целевые таблицы и поля.
После выполнения импорта схемы данных через UI FWAC можно внести необходимые корректировки и дополнения в модель и определить правила валидации данных, применяемые на клиентской стороне создаваемого веб приложения.
Создание запросов (views)
В рамках разрабатываемого приложения можно создать неограниченное количество запросов с изначально заданными условиями, конкретизирующими требования к контенту.
Процесс построения запроса состоит из следующих операций:
1. Определение набора сущностей (справочников), используемых в запросе
2. Определение полей для включения в запрос
3. Формирование условий для фильтрации данных
Ключевой особенностью FWAC в части работы с запросами является поддержка данного функционала применительно к 1C REST сервису. «Из коробки» 1С REST не реализует параметр $expand запроса к веб сервису (с помощью данного параметра осуществляется встраивание связанных сущностей в ответ веб сервиса, реализующему спецификацию OData).
FWAC имеет встроенный механизм связывания данных «на клиентской стороне», что позволяет использовать запросы даже в случае, если данный функционал не в полной мере поддержан со стороны сервера.
Таким образом, FWAC значительно расширяет контекст применения функциональных возможностей «коробочного» 1С REST сервиса.
Формирование структуры навигационного меню
Создание иерархической структуры навигационного меню осуществляется буквально в несколько кликов. Уровень вложенности узлов меню не ограничен.
Имеется возможность использования font-awesome иконок для пунктов меню.
FWAC также предоставляет возможность определения стиля оформления создаваемого приложения с помощью UI тем bootswatch.
Сборка приложения
Продукт реализует следующие варианты сборки создаваемого приложения:
1. Локально запускаемое веб приложение. Функционирует с помощью встроенного в сборку приложения локального веб сервера (требует .NET v.4).
2. "Desktop" приложение, исполненное в среде Node WebKit. Подробнее о NodeWebKit можно узнать на сайте проекта.
3. Публикация на локальный веб сервер Microsoft IIS. В перспективе планируется реализовать автоматическое формирование Deploy пакетов приложения для публикации на удаленных серверах и поддержка других популярных веб серверов.
Получение конечного результата
1. Предтставление со списком записей
2. Представление создания (редактирования) записи
Пример созданного FWAC приложения можно посмотреть здесь.
Таким образом, FWAC представляет из себя инструмент, позволяющий ценой минимальных трудозатрат создать современное веб приложение, использующее в качестве источника данных 1С REST сервис.
Среди ключевых преимуществ FWAC можно выделить:
– Скорость разработки
В сравнении с традиционными способами проектирования и разработки веб приложений использование FWAC позволит многократно сократить временные издержки и трудозатраты;
– Расширяемость
Создаваемые средствами FWAC приложения можно кастомизировать и расширять, используя стек стандартных и широко распространенных технологий (HTML, CSS, JS, AngularJS);
– Аутентификация
Создаваемые с помощью FWAC приложения поддерживают аутентификацию пользователей на уровне источника данных;
– Работа с запросами
FWAC предоставляет возможность построения запросов.
– Автопубликация
С помощью FWAC возможно выполнить автоматическую публикацию созданного веб приложения на сервер;
– Современный UI
FWAC позволяет создавать приложения с удобным UI. В основе создаваемого интерфейса лежит библиотека Bootstrap. Также имеется возможность изменения стиля создаваемого приложения в два клика.
Технические требования:
- MS Windows 7 и выше;
- .Net Framework 4.5 и выше (в состав дистрибутива включен патч .NET 4.5.2).
Продукт работает с платформой 1С с релиза 8.3.5 (необходима поддержка публикации стандартного 1С Rest веб сервиса).
Предлагаем Вам принять участие в бета-тестировании продукта.
Во время бета-тестирования оказывается ограниченная техническая и консультационная поддержка пользователей без возникновения определенных гарантий и обязательств.
Код FWAC является частично закрытым.
Для установки продукта необходимо скачать дистрибутив, прикрепленный к настоящей публикации, и следовать порядку действий, заложенному в процесс установки.