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

В «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 на одну машину.



Источник: https://infostart.ru/journal/news/mir-1s/v-1s-rasskazali-o-protsesse-razrabotki-sistemy-vzaimodeystviya_902094/
Автор:
Дарья Расина Редактор


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

См. также

Объявляем конкурс и второй тур голосования за доклады INFOSTART EVENT 2021

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

Продолжаем составлять программу INFOSTART EVENT 2021. Ранее мы анонсировали уже принятые доклады технического и управленческого потока, а сегодня открываем второй тур голосования, по результатам которого соберем финальную программу конференции!

сегодня в 11:30    136    kbazzh    0       

В «Конвертацию данных 3.1» встроили возможности «Конвертации данных 2.0»

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

Конфигурация для подготовки правил обмена «КД 3.1» теперь позволяет разрабатывать не только правила формата EnterpriseData, но и классические правила для универсального обмена в формате XML, а также правила регистрации объектов.

вчера в 13:20    1707    vikad    5       

Фирма «1С» выпустила универсальное рабочее место кассира для типовых конфигураций

Новость ИТ-новость Онлайн-кассы

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

вчера в 09:24    1637    ЕленаЧерепнева    4       

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

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

С 10 марта участники курса под началом преподавателя – Николая Бондаренко – начнут изучать базовые принципы программирования в платформе «1С:Предприятие» с нуля.

02.03.2021    1306    user997184    0       

Первые управленческие доклады INFOSTART EVENT 2021

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

Вчера мы объявили первые технические доклады INFOSTART EVENT 2021, а сегодня готовы представить первые управленческие доклады конференции.

02.03.2021    1902    kbazzh    0       

Подводим итоги митапа по современным подходам при сборе требований и составлении ТЗ

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

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

01.03.2021    1842    vikad    0       

Первые технические доклады INFOSTART EVENT 2021

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

Подходит к концу первый тур голосования за доклады юбилейной конференции INFOSTART EVENT. Сегодня мы хотим показать вам первую часть программы!

01.03.2021    2880    kbazzh    0       

1C:EDT становится полностью бесплатной, начиная с релиза 2021.1

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

Фирма «1С» объявила о выходе нового релиза 1С:EDT и об изменениях лицензионной политики для данного продукта. Теперь 1С:EDT доступна без действующей подписки ИТС, после прохождения несложной регистрации.

01.03.2021    2752    ЕленаЧерепнева    7       

Готово расписание митапа «DevOps в 1С: Инструменты автоматизации рутины в 1С-разработке»

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

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

26.02.2021    5054    kbazzh    2       

INFOSTART PARTY и специальный ужин для VIP-гостей и докладчиков

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

Кто хорошо слушает доклады, тот хорошо танцует и развлекается на INFOSTART PARTY. Мы определили место проведения вечеринки, а также выбрали ресторан для традиционного VIP-ужина. Сегодня расскажем вам об этом.

26.02.2021    3455    kbazzh    28       

Фирма «1С» продлила действие льготной подписки на «1С:Фреш»

Новость 1С:Фреш Сервисы

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

25.02.2021    4308    ЕленаЧерепнева    0       

Оцени свои знания по составлению ТЗ и получи методические материалы

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

Уже в эту пятницу, 26 февраля, пройдет митап «Сбор требований и составление ТЗ: современные подходы в управлении проектами».

24.02.2021    4256    eselyanina    1       

INFOSTART EVENT 2021: осталось семь дней, чтобы подать заявку на доклад

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

Мы вышли с февральских праздников и сегодня готовы объявить сроки приема заявок на доклады, а также сроки второго тура голосования. Расскажем вам о том, как будет формироваться программа конференции INFOSTART EVENT.

24.02.2021    4437    kbazzh    5       

Подводим итоги митапа по применению практик CI/CD для решений на 1С

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

Вчера, 19 февраля, Инфостарт собрал разработчиков в онлайне, чтобы обсудить применимость процессов непрерывной интеграции и поставки (Continuous Integration и Continuous Delivery) для мира 1С.

20.02.2021    3184    vikad    0       

Фирма «1С» опубликовала новую версию «1С:Исполнителя»

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

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

19.02.2021    4304    ЕленаЧерепнева    0       

В реестр отечественного ПО хотят включить зарубежный софт

Новость Импортозамещение ИТ-новость Минкомсвязь

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

19.02.2021    2781    user1015646    0       

Открываем продажу видеокурсов по расчетным и бухгалтерским задачам

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

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

18.02.2021    3111    user997184    0       

Готово расписание онлайн-митапа «Сбор требований и составление ТЗ: современные подходы в управлении проектами»

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

26 февраля продолжим традицию онлайн-встреч и проведем митап «Сбор требований и составление ТЗ: современные подходы в управлении проектами».

18.02.2021    4436    eselyanina    0       

Для начинающих 1С-разработчиков – два курса по специальной цене

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

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

17.02.2021    4672    user997184    0       

INFOSTART EVENT 2021: конференция состоится!

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

17 февраля можно помечать красным днем в календаре, ведь сегодня мы получили официальное разрешение на проведение INFOSTART EVENT 2021!

17.02.2021    7179    kbazzh    16       

22 марта стартует шестой поток онлайн-курса «Технология выполнения проектов ERP-класса – процессный подход»

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

С 22 марта по 25 мая на Инфостарте пройдет онлайн-курс о процессном подходе в управлении проектами. Обучение предназначено для подготовки специалистов по автоматизации процессов управления в 1С:ERP, 1С:УХ, 1С:КА, 1С:УТ.

16.02.2021    2893    dklimchuk    0       

Стартовал конкурс на лучший «1С:Проект года-2020»

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

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

16.02.2021    3989    ЕленаЧерепнева    0       

Подводим итоги митапа по мотивации удаленных команд

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

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

15.02.2021    4274    vikad    0       

Анонсированы новые улучшения системы взаимодействия для платформы 8.3.20

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

У пользователей системы взаимодействия появится больше возможностей для обмена сообщениями в чате. Также небольшие изменения внесены в работу видеоконференций.

15.02.2021    3460    ЕленаЧерепнева    2       

Фирма «1С» запустила новые тарифы в сервисе 1С-ЭДО

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

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

12.02.2021    4675    ЕленаЧерепнева    1