Choice of Web Technology for Integration with "1C: Enterprise 8" Platform

Review article
DOI:
https://doi.org/10.18454/itech.2024.2.5
Issue: № 2 (2), 2024
Suggested:
10.03.2024
Accepted:
12.04.2024
Published:
12.04.2024
416
3
XML
PDF

Abstract

The article discloses the ways of integration of the platform "1C: Enterprise 8" with web technologies to create an alternative user interface that solves the problems encountered by the enterprise: the implementation of an interface for the work of employees and the development of a custom application for the client. Such ways of interaction of the platform "1C: Enterprise 8" with web technologies as web client "1C: Enterprise 8", integration with site builders and CRM, interaction with Single Page Application and implementation of Telegram-bot were taken for the review. The aim of the article is to determine what needs can be met by integrating a solution on the "1C: Enterprise 8" platform with any kind of web technologies, what are the pros and cons of each integration method.

1. Введение

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

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

В связи с этим требуется разобрать, при каких обстоятельствах какие веб-технологии следует применять в сочетании с платформой «1С: Предприятие 8».

2. Основное содержание

Выбор интернет-технологии основывается на задаче, поставленной предприятием:

1. Разработать интерфейс для работы сотрудников, воплощающий возможности режима «1С: Предприятие 8», требуемые для выполнения их профессиональных обязанностей.

2. Разработать интерфейс для клиентов. В этом случае 1С будет служить backend’ом, а выбранная интернет-технология frontend’ом.

У компании есть несколько вариантов соединения веб-технологии и 1С:

А) Веб-клиент – это одно из клиентских приложений системы «1С: Предприятие 8». Веб-клиент использует технологии DHTML и HTTPRequest. При работе веб-клиента клиентские модули, разработанные в конфигурации, компилируются автоматически из встроенного языка «1С: Предприятия 8» и непосредственно исполняются на стороне веб-клиента

.

Веб-клиент позволяет работать в режиме «1С: Предприятие 8» удалённо, через интернет-браузер, в том числе с мобильного устройства — в браузере Google Chrome под ОС Android и в браузере Safari на iPhone/iPad. Доступны только основные функции веб-клиента

. Аутентификация пользователей осуществляется либо классическим для 1С способом, либо через OpenID Connect. При этом каждый пользователь для работы требует задействования одной лицензии. Стилизация достигается средствами CSS, но изменить скомпонованный платформой файл стилей или заменить его своим проблематично. Штатным средством стилизации являются настройки стиля – совокупности различных настроек, используемых для оформления пользовательского интерфейса
.

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

Б) Сайт, созданный конструктором, онлайн-сервисом для создания и редактирования веб-страниц без знаний программирования или с минимальным вмешательством в код. Функции включают шаблоны дизайна, настройку макета, редактор контента, форму обратной связи, управление SEO, аналитику, интеграцию с соцсетями, резервное копирование и онлайн-магазин. На рынке существует не мало таких сервисов: Tilda, uCoz, Битрикс24 и другие.

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

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

В 1С: Управление торговлей версии 10.3.4 и выше для интеграции с внешними сайтами предусмотрено средство Обмен с сайтом по протоколу CommerceML, который осуществляет электронный обмен коммерческими документами между информационными системами

.

Битрикс24 предоставляет интерфейс для интеграции CRM с 1С: Управление торговлей и 1С: Зарплата и управление персоналом

.

Ещё одним средством интеграции предоставляемым 1С является Обмен данными с интернет-магазином, который реализован в прикладных решениях 1С:Управление нашей фирмой 8, 1С:Комплексная автоматизация 8 и 1С:Управление торговлей 8. Его работа поддерживается на сайтах 1C-Битрикс, Shop-Script, WooCommerce и других

.

Сайт, созданный на конструкторе – подходящий вариант для реализации пользовательского интерфейса, но его возможности ограничены в сравнении с предыдущим и следующим решением, не позволяющие реализовать сложное приложение или создать рабочую среду для сотрудников. Минусом также будет однотипность такого сайта. Его полной противоположностью является Single page application.

В) SPA (Single page application) или одностраничное приложение – это то, что соответствует своему названию: веб-приложение, управляемое JavaScript, которое требует загрузки только одной страницы

. Быстрое, гибкое, универсальное, но имеющее проблемы с SEO-оптимизацией и дорогое. Дороговизна обусловлена высокой стоимостью разработки и сопровождения.

Для написания одностраничных приложений применяются такие фреймворки, как Angular, React, Vue.js и другие. Каждый основывается на собственных принципах, многие обладают широким сообществом и подробной документацией. В 2023 году Angular использовали 19.89% разработчиков, участвовавших в опросе Stackoverflow, Vue.js – 17.64%, а React.js – 42.87%

.

Интеграция с 1С осуществляется при помощи HTTP-интерфейсов. Платформа «1С:Предприятие 8» как раз предоставляет два способа реализации таких интерфейсов – это REST-интерфейс OData, который автоматически формируется для всего прикладного решения, а также HTTP-сервисы, которые можно создавать самостоятельно

.

Со стороны клиентского приложения связь с 1С поддерживается через инструменты отправки запросов (Fetch API, Axios, Superagent); WebSocket API – технологии для открытия двухстороннего соединения между клиентской и серверной сторонами

; или брокеры сообщений (Kafka, RabbitMQ). Проблема при работе с WebSocket или брокерами сообщений заключается в том, что они используют отличные от HTTP сетевые протоколы, неиспользуемые в 1С. WebSocket работает по WSS, Kafka использует TCP, а RabbitMQ – AMQP.

Для решения проблемы с WebSocket потребуется:

1. Реализовать WebSocket сервер на Node.js с помощью соответствующей библиотеки.

2. Настроить обработку входящих и исходящих сообщений на сервере.

3. В 1С написать логику для подключения к WebSocket серверу и отправки/получения сообщений через WebSocket протокол.

Для создания связи с Apache Kafka понадобиться пройти следующие шаги:

1. Настроить сервера брокера, Zoo Keeper – службу для координации между ними.

2. Настроить службу Kafka Connect для отправки сообщений со стороны 1С Сервера и службу Kafka Сonfluentinc для прослушивания потока со стороны брокера.

3. Создать HTTP-сервисы на 1С для взаимодействия с Apache Kafka.

4. Подключиться к API Apache Kafka со стороны клиентского приложения.

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

Single page application благодаря своей гибкости также может подойти для разработки веб-интерфейса для сотрудников.

Г) Телеграм-бот. Телеграмм-бот не так полно решает задачи создания пользовательского приложения или интерфейса для сотрудников, но может стать вспомогательным интерфейсом как для клиентов, так и для сотрудников. Благодаря сочетанию 1С и Телеграм-бота возможно реализовать следующие сервисы:

· Сервис рассылки уведомлений;

· Чат-бот;

· Сервис авторизации;

· Сервис обратной связи.

Для написания бота достаточно использовать встроенный язык 1С и HTTP-сервисы. Кроме того, телеграм-бот может быть создан как отдельный сервис на других языках программирования с использованием загружаемых библиотек. Для PHP это Nutgram, библиотека для Go называется Golang Telegram Bot library для Python – AIOGram а для Node.js – Telegraf

. Интеграция с таким ботом возможна через HTTP-сервисы.

3. Заключение

В заключении, при выборе решения необходимо учитывать несколько ключевых факторов, включая наличие времени и средств на разработку. Однако наиболее важным является определение конкретной цели или задачи, которую необходимо достичь, и уже от этого отталкиваться при выборе оптимального решения. Так, при потребности создать приложение для клиентов компании (интернет-магазин, служба доставки и др.), подойдут сайт, созданный на конструкторе, или SPA. Если же стоит задача предоставить рабочий интерфейс, то оптимальным будет использование веб-клиента 1С. Вспомогательным средством для решения обеих задач может послужить Телеграм-бот.

Article metrics

Views:416
Downloads:3
Views
Total:
Views:416