В «1С» рассказали о процессе разработки Системы взаимодействия

11.09.2018     

В 2016 году «1С» презентовала Систему взаимодействия (СВ). Этот платформенный механизм передает информацию между клиентскими приложениями и серверами 1С:Предприятия.

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

Для чего нужна система взаимодействия

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

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

 

Обмен сообщениями в СВ

 

Постановка задачи

На этапе постановки задачи разработчики учитывали принципы создания бизнес-приложений 1С. Такие приложения на базе «1С:Предприятия» работают в клиент-серверной архитектуре: «СУБД – сервер приложений – клиент». Написанный на встроенном языке 1С код может выполняться на сервере приложений или на клиенте.

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

Но здесь есть ряд ограничений: из клиентского кода вызвать серверный код можно, а из серверного кода клиентский – нет. Это значит, что передать сообщение (например, о готовности отчета) с сервера в клиентское приложение нельзя. Чтобы решить эту проблему, приходилось периодически опрашивать сервер и загружать систему лишними вызовами.

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

 

Вызов серверной процедуры с клиента сработает, вызов клиентской процедуры с сервера — нет

 

Elasticsearch и Hazelcast  в СВ

При реализации механизма серверную часть СВ решили не встраивать в платформу «1С:Предприятие», создав отдельный продукт. В этом случае его интерфейс можно вызывать из кода прикладных решений 1С, обмениваясь сообщениями в рамках разных приложений (Управления Торговлей и Бухгалтерией, например).

Мессенджеру необходимы поисковый движок (если понадобится найти сообщение) и распределенное хранилище. При создании СВ разработчики отдали предпочтение платформе Hazelcast и поисковой системе Elasticsearch.

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

Поисковой системой выбрали Elasticsearch: подобные движки используются при сложном поиске по базе документов. В СВ Elasticsearch обеспечила быстрый и гибкий поиск с учетом морфологии. В индекс поисковой системы внесли корни слов и N-граммы. Пока пользователь набирает текст для поиска, Elasticsearch ищет его среди N-грамм. Так, поиск слова «тексты» в СВ будет осуществляться по любой из его частей, благодаря дроблению на N-граммы [те, тек, текс, текст, тексты, ек, екс, екст, ексты, кс, кст, ксты, ст, сты, ты].

 

Архитектура системы взаимодействия

 

Выбор СУБД

В качестве системы управления базой данных для СВ выбрали PostgreSQL, аргументируя выбор большим и успешным опытом работы с ней. Это ПО используется для структурированного хранения данных и получения доступа к этим данным с помощью SQL-запросов. Основные преимущества PostgreSQL – бесплатность и высокая скорость работы.

PostgreSQL необходимо масштабировать: для этого выбрали стратегию шардинга, в рамках которой информация из общей БД делится на блоки и распределяется по разным серверам. У СВ есть главная БД: она хранится в таблице роутинга с информацией о локации всех абонентских баз данных.

 

Распределение базы данных

 

Чтобы сообщения пользователей не терялись, базу данных поддерживают репликами: синхронной и асинхронной. В этом случае сообщения потеряются, только если произойдет одновременный отказ основной БД и ее синхронной реплики.

Тесты и эксплуатация

Перед выпуском каждый релиз СВ проходит нагрузочное тестирование. Команда разработчиков считает его успешно пройденным, когда:

  • тест после нескольких суток работы не дает отказов;
  • время отклика по ключевым операциям не превышает комфортного порога;
  • производительность по сравнению с предыдущей версией не ухудшается более чем на 10%.  

Тестовая база наполняется данными, а само тестирование проводится в трех конфигурациях:

  • стресс-тест;
  • только подключения;
  • регистрация абонентов.

За год эксплуатации разработчики не выявили серьезных проблем в работе онлайн-сервиса. Дистрибутив сервера Системы взаимодействия поставляется в виде нативных пакетов, а для Windows «1С» предоставляет единый инсталлятор. Он устанавливает сервер, Hazelcast и Elasticsearch на одну машину.


Автор:
Дарья Расина Редактор


Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. Gureev 11.09.18 15:44 Сейчас в теме
А как он лицензируется? Как часть платформы? Дополнительно платить нужно?
2. YanTsys 12 11.09.18 16:35 Сейчас в теме
Выглядит как куча намеков на интересные возможности, но при этом непонятно есть они там или нет.

Например, вызов клиентских функция с сервера, система позволяет организовать прогресс-бар без того чтобы гонять форму на сервер и обратно?

Что там про телефонию, можно использовать систему как IP-АТС или речь идет только о взаимодействии с другим софтом?

Можно отправить сообщение только в рамках своего комплекса баз или по номеру ИТС отправить сообщение например пользователю 1с Газпрома? :))))
5. androgin 11.09.18 18:32 Сейчас в теме
(2) а) сервер отправляет клиенту оповещение с данными - клиент их обрабатывает.
б) можно сопоставить несколько баз и отправлять сообщения куда нужно.
3. Sbodrenko 11.09.18 17:23 Сейчас в теме
4. comol 4695 11.09.18 18:30 Сейчас в теме
Похоже что разработчики в 1с знают и про Hazelcast, видимо и про другие inmemory kv, умеют юзать эластик, знают про шардинг... Но суть дебилизма в том что это щачем то используется в сервисе для которого критична простота использования, а хайлоад и безотказность там не особо нужна. А вот сеансовые данные как хранились через одно место так и хранятся.... То же самое и с журналом регистрации... Ну как так :(
catv; kuzyara; user642047_ziborov.roman; Slava_prog; portwein; Scorpion4eg; ABudnikov; the1; Kosstikk; TuneSoft; awk; JohnyDeath; Infactum; YanTsys; +14 Ответить
6. DonAlPatino 159 12.09.18 17:34 Сейчас в теме
Краткий перепост большой статьи на habr'е от Петра Грибанова... там и подробнее, и автор отвечает на вопросы.
7. TreeDogNight 20 24.09.18 06:37 Сейчас в теме
(6) Можете скинуть ссылку или название этой статьи?
Оставьте свое сообщение

См. также

Конкурс на лучшую идею для афиши: приз – онлайн-участие в конференции

Новость Инфостарт infostartevent Мероприятия

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

вчера в 11:24    6354    eselyanina    15       

«Единый семинар 1С» дополнится докладами от Инфостарта

Новость Инфостарт Сервисы

В среду, 6 октября, состоится «Единый семинар 1С». Мероприятие пройдет в онлайн-формате: сотрудники фирмы 1С расскажут участникам семинара о последних изменениях в учете и отчетности, а также о новых возможностях программ 1С.

вчера в 09:50    16803    ekandyba    0       

Синхронизируйте свои смартфоны. Будущее возвращается. Афиша секции «Мобильная разработка»

Новость Инфостарт infostartevent Мероприятия

За последнее время у нас было достаточно премьер – мы представили афиши четырех премьерных секций. Не будем сбавлять обороты и продолжим премьерный сезон. Сегодня публикуем афишу секции «Мобильная разработка».

22.09.2021    5084    eselyanina    18       

Фирма «1С» выбрала лучшие проекты по итогам 2020 года

Новость ИТ-новость Конкурс

На сайте «1С:Проект года» опубликованы итоги конкурса по всем номинациям. В этом году призы получит каждый второй заявленный проект.

21.09.2021    5839    ЕленаЧерепнева    5       

Приглашение на переговорные поединки

Новость Обучение, бизнес-тренинг, курсы Инфостарт Управление проектами

На Инфостарте начинаются управленческие поединки для менеджеров и тех, кто хочет попробовать свои силы в управленческой и переговорной борьбе. 23 сентября в 11:00 МСК два эксперта – Мария Темчина и Дмитрий Коткин – проведут пилотный поединок.

21.09.2021    5738    MariaTemchina    3       

Установлены правила маркировки музыкальных инструментов и смычков

Новость Infostart Software Partners ИТ-новость Маркет Маркировка

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

21.09.2021    5108    Senator_I    1       

ТОП-10 самых продаваемых разработок в августе

Новость Инфостарт Infostart Software Partners Маркет Платные (руб)

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

20.09.2021    3818    pvasiletc    0       

Mr. Наумов & Mrs. Темчина представляют секцию «Управление проектом»

Новость Инфостарт infostartevent Мероприятия

Наша четвертая премьера в рамках кинофестиваля про 1С – секция «Управление проектом».

20.09.2021    4850    irina_selezneva    5       

Успейте запрыгнуть в последний «вагон»: осенняя распродажа курсов

Новость Обучение, бизнес-тренинг, курсы Инфостарт

Наша осенняя распродажа курсов идет полным ходом и даже расширяется. Сегодня пятница – последний рабочий день распродажи, еще есть шанс согласовать с руководством ваше участие в необходимом курсе.

17.09.2021    4507    dklimchuk    1       

Анонсированы новые возможности 8.3.21 при возникновении ошибок

Новость v8 Зазеркалье ИТ-новость

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

17.09.2021    11868    ЕленаЧерепнева    6       

Бизнес-форум «1С:ERP 2021» пройдет в онлайн-формате

Новость ИТ-новость

Фирма «1С» планирует провести очередной, восьмой по счету, форум для корпоративных заказчиков в режиме онлайн-трансляции. Мероприятие адресовано пользователям, потенциальным клиентам и партнерам.

16.09.2021    11188    ЕленаЧерепнева    0       

Библиотека OpenSSL получила крупное обновление до версии 3.0.0

Новость Безопасность Интернет ИТ-новость

Спустя три года разработки состоялся релиз OpenSSL 3.0.0, в котором реализованы протоколы SSL/TLS и различные алгоритмы шифрования. В проект вошло более 7 тыс. изменений по сравнению со старой версией.

16.09.2021    16626    VKuser24342747    0       

Интеграциям нужны новые супергерои. Афиша секции «Интеграция и обмен данными»

Новость Инфостарт infostartevent Мероприятия

Презентуем афишу третьей секции конференции. До этого показывали афиши секций «ИТ-Анализ» и «Идеи и тренды в разработке».

16.09.2021    5233    irina_selezneva    9       

Фирма «1С» выпустила конфигурацию 1С:ERP WE Beta с кодом на английском языке

Новость ERP2

Фирма «1С» включила в поставку бета-версии продукта 1С:ERP WE конфигурацию на английском языке. Решение предназначено для международного рынка и имеет делокализованную учетную функциональность.

16.09.2021    5489    ЕленаЧерепнева    3       

Фирма «1С» предупредила о повышении цен на совместные лицензии Microsoft SQL Server

Новость MS SQL

Новые розничные цены на все лицензии 1С:Предприятие и Microsoft SQL Server будут установлены с 1 октября этого года. Заказы по старым ценам могут быть отгружены до конца сентября.

14.09.2021    11205    ЕленаЧерепнева    2       

Презентуем афишу премьерной секции «ИТ-анализ»

Новость Инфостарт infostartevent Мероприятия

В программе конференции будет 10 секций. Для каждой секции мы выбрали фильм, соответствующий тематике и атмосфере секции. На прошлой неделе мы рассказали о секции «Идеи и тренды в разработке», а сегодня расскажем о нашей новой секции – «ИТ-анализ».

14.09.2021    9594    irina_selezneva    0       

В «1С:Документооборот 2.1» реализована поддержка облачной электронной подписи

Новость ДО

В новом релизе 1С:ДО появилась поддержка облачной электронной подписи по технологии КриптоПро DSS. Также фирма «1С» обновила мобильное приложение 1С:ДО 2.2 и напомнила, что предыдущее мобильное приложение 1С:ДО 2.1 скоро будет удалено из маркетов.

13.09.2021    7994    ЕленаЧерепнева    0       

Инфостарт приглашает на серию бесплатных вебинаров по модульной автоматизации финансов

Новость Инфостарт

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

13.09.2021    7512    vikad    0       

Идеи для партнеров INFOSTART EVENT 2021 Moscow Premiere: можно практически всё!

Новость Инфостарт infostartevent Мероприятия

Если вы еще не приняли решение стать партнером и не знаете, что интересного предложить участникам, ознакомьтесь с этой статьей. В ней мы расскажем о некоторых идеях, которые смогут вас вдохновить.

13.09.2021    7893    stasya_goat    0       

Объявляем осеннюю распродажу: с 13 по 19 сентября курсы со скидкой 10-40%

Новость Обучение, бизнес-тренинг, курсы Инфостарт

Осень – начало активностей в работе, которые будут только набирать темп к концу года. Пока еще не начались дедлайны и «горящие» задачи, есть время развить имеющиеся навыки, наработать новые и закрепить их в реальной работе в горячие дни конца года.

13.09.2021    4963    dklimchuk    0       

Яндекс.Маршрутизация запустила агентскую программу для ИТ-специалистов

Новость ИТ-новость Яндекс

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

10.09.2021    8231    vikad    2       

Last call для руководителей проектов: успейте пообщаться с экспертом по 7-ому PMBoK®

Новость Обучение, бизнес-тренинг, курсы Инфостарт Управление проектами

14 и 16 сентября на Инфостарте пройдут открытые вебинары по управлению проектами, на которых Мария Темчина ответит на вопросы по 7-ому PMBoK® Guide. Приглашаем всех желающих поучаствовать в вебинарах и свободно пообщаться с экспертом. 

10.09.2021    11022    AnastasiaKl    0       

Фирма «1С» улучшит работу с внешними компонентами в 8.3.21

Новость v8 Зазеркалье ИТ-новость

В платформе «1С:Предприятие 8.3.21» будет добавлена возможность запуска внешних компонент в отдельном процессе – как при работе на сервере, так и на клиенте.

10.09.2021    8447    ЕленаЧерепнева    6       

Премьера секции: Идеи и тренды в разработке

Новость Инфостарт infostartevent Мероприятия

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

10.09.2021    5582    eselyanina    12       

С заделом на 2022 год: перевыпускаем ЭЦП для 1С-Отчетности прямо из 1С

Новость Сервисы Цифровая подпись

С 1 января 2022 года получить электронную подпись на организацию можно будет только в ФНС. Но до конца 2021 года УЦ, аккредитованные по новым правилам, могут предоставить компаниям годовой сертификат, действительный для сдачи отчетности в 2022 году.

10.09.2021    12456    ekandyba    0