В «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 4349 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 142 12.09.18 17:34 Сейчас в теме
Краткий перепост большой статьи на habr'е от Петра Грибанова... там и подробнее, и автор отвечает на вопросы.
7. TreeDogNight 18 24.09.18 06:37 Сейчас в теме
(6) Можете скинуть ссылку или название этой статьи?
Оставьте свое сообщение

См. также

Опубликована обновленная бета-версия «1С:Исполнителя 2020.2.1»

Новость Автоматизация Интеграция ИТ-новость

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

вчера в 09:30    328    ЕленаЧерепнева    5       

Фирма «1С» приглашает поучаствовать в открытом бета-тестировании «1С:Аналитики»

Новость Аналитика ИТ-новость

Фирма «1С» приглашает поучаствовать во втором этапе открытого бета-тестирования продукта «1С:Аналитика». Первый этап тестирования продукта с ограничением на три месяца начался 3 июля 2020 года.

13.08.2020    474    user-programmist    0       

Инфостарт объявляет конкурс мини-рецензий: «Какая книга перевернула ваши представления об управлении проектами»

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

26 августа стартует курс по управлению ИТ-проектами по Agile. Традиционно по окончании курса мы выдаем всем выпускникам список полезной литературы. В этот раз Инфостарт призывает мощный общественный разум поучаствовать в расширении этого списка.

13.08.2020    730    irina_selezneva    5       

Расписание митапа «1С и Linux» готово!

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

21 августа в рамках марафона тематических митапов Инфостарта в Zoom состоится онлайн-встреча, посвященная работе 1С в Linux. Мы подготовили окончательный список докладчиков и представляем вам программу мероприятия.

12.08.2020    1000    kbazzh    0       

Компания «Такском» поддержала работу по технологии 1С-ЭДО

Новость Сервисы

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

12.08.2020    527    ЕленаЧерепнева    0       

Доступен новый релиз «1С:Документооборот 2.1.23»

Новость ДО Конфигурация

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

11.08.2020    759    ЕленаЧерепнева    0       

Митап «Web-клиенты для 1С» состоялся! Подводим итоги и выкладываем материалы для участников!

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

7 августа Инфостарт провел в Zoom первый тематический онлайн-митап августа на тему «Web-клиенты для 1С». Мероприятие привлекло 147 участников из 52 городов России и ближнего зарубежья.

10.08.2020    1055    vikad    70       

Фирма «1С» приглашает на конференцию «Мобильная среда» 26 августа 2020 года

Новость Мероприятия Мобильные приложения

26 августа 2020 года состоится третья «мобильная» конференция от фирмы «1С». Она пройдет в новом и уже модном формате онлайн-мероприятия. Участие в конференции бесплатное, но по предварительно одобренной регистрации.

10.08.2020    1260    AnastasiaKl    2       

В США решение на платформе «1С:Предприятие» получило награду за инновационность

Новость ИТ-новость Новости компаний

AccountingSuite, программный продукт международного подразделения фирмы «1С», вошел в число лучших решений для автоматизации учета по версии американского журнала CPA Practice Advisor.

10.08.2020    11536    ЕленаЧерепнева    35       

Объявляем старт продаж на обновленный базовый курс для начинающих 1С-программистов

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

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

10.08.2020    745    dklimchuk    0       

Все онлайн-митапы теперь доступны и за авторские $m

Новость Инфостарт Infostart Meetup Мероприятия Стартмани

С 6 августа все онлайн-митапы можно приобрести за любые $m! Акция бессрочная, поэтому у участников сообщества есть время, чтобы выбрать нужные мероприятия из насыщенной программы Инфостарта.

06.08.2020    1298    irina_selezneva    5       

ТОП популярных разработок Маркетплейса за июль 2020 года

Новость Infostart Software Partners Маркет

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

06.08.2020    2113    ekolyev    0       

Конкурс: меняем статью на митап!

Новость Infostart Meetup Конкурс Мероприятия articles

Инфостарт объявляет беспроигрышный конкурс статей. Предлагаем вам обменять статью по теме митапа на бесплатное участие в нем. Первая на очереди тема – интерфейс в 1С.

06.08.2020    1181    irina_selezneva    7       

Лицензии «Microsoft SQL Server 2016 для 1С:Предприятие» будут сняты с продаж

Новость MS SQL

Фирма «1С» планирует завершить продажи совместных лицензий Microsoft SQL Server для «1С:Предприятие 8». Изменения касаются всех продуктов, в состав которых входит Microsoft SQL Server 2016.

06.08.2020    999    ЕленаЧерепнева    3       

1С:EDT 2020.5 RC: программа запуска, расширения, отладка и другие улучшения

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

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

05.08.2020    1884    ЕленаЧерепнева    1       

Каналы Инфостарта в Telegram: узнавайте о новых и лучших публикациях первыми!

Новость Инфостарт Мессенджеры

За выходом новых и самых интересных публикаций на Инфостарте теперь можно следить в Telegram. У нас появилось два публичных Telegram-канала – «ИС.Новые» и «ИС.В тренде».

04.08.2020    1579    vikad    6       

Опубликован первый кейс по внедрению бета-версии BI-системы «1С:Аналитика»

Новость Аналитика ИТ-новость

Специалисты фирмы «1С» внедрили бета-версию новой системы для бизнес-анализа у одного из партнеров «1С» в Узбекистане – в компании Venkon Group.

04.08.2020    895    ЕленаЧерепнева    0       

Расписание митапа «Оценка компетенций специалистов» готово!

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

Продолжаем серию летних онлайн-митапов Инфостарта. На очереди оценка компетенций специалистов. Рассказываем вам о программе мероприятия, а также представляем ваше расписание на 14 августа.

04.08.2020    1351    kbazzh    1       

Заканчивается запись на бесплатный мастер-класс по внедрению Канбан-системы

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

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

03.08.2020    2771    irina_selezneva    6       

Подводим итоги митапа «PostgreSQL VS Microsoft SQL» и выкладываем материалы для участников

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

В последнюю пятницу июля состоялся митап «PostgreSQL VS Microsoft SQL», посвященный двум самым популярным СУБД в мире 1С. Мы собрали всю информацию по прошедшему мероприятию и готовы поделиться ею с участниками.

03.08.2020    5130    vikad    71       

Фирма «1С» прекращает продажи сервиса 1С-UMI «Сайт за вас»

Новость Сервисы

В течение двух лет пользователи 1С-UMI могли получать определенный объем услуг по наполнению сайта текстовыми и графическими материалами. После анализа продаж данный сервис было решено закрыть.

03.08.2020    1167    ЕленаЧерепнева    0       

Расписание митапа «Web-клиенты для 1С» готово!

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

Начало августа у нас связано с приходом 1С в пространство сайтов и web-приложений. Традиционный пятничный митап состоится 7 августа – его темой стали Web-клиенты для 1С. Сегодня мы представляем расписание мероприятия.

01.08.2020    1903    kbazzh    0       

Инфостарт поздравляет с Днем сисадмина и объявляет конкурс!

Новость Инфостарт Конкурс

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

31.07.2020    1081    AnastasiaKl    2       

Обновились условия сдачи теста «1С:Профессионал по 1С:ERP МСФО»

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

Фирма «1С» сообщила про обновление условий приемки экзамена «1С:Профессионал». Теперь пользовательский экзамен на проверку знаний МСФО в «1С:ERP Управление предприятием 2» нужно будет сдавать по релизу 2.5.

31.07.2020    936    ЕленаЧерепнева    0       

В 1С:ITIL доступна бесшовная интеграция с 1С-Коннект

Новость 1С:Франчайзи, автоматизация бизнеса Интеграция Сервисы

Разработчики сервиса 1С-Коннект сообщили о реализации бесшовной интеграции с конфигурацией 1С:ITIL, которая предназначена для автоматизации процессов управления ИТ-инфраструктурой предприятия.

29.07.2020    1282    ЕленаЧерепнева    0