Синхронизация DirectumRX и 1С с помощью веб-сервисов

Следующий проект

Задача

Стандартный коннектор Directum для синхронизации справочников с платформой 1С предоставляет достаточно гибкий интерфейс для организации обмена данными, который, тем не менее, имеет ряд особенностей и сопутствующих ему ограничений:

  • Коннектор для работы использует COM-интерфейс клиента 1С, что влечет необходимость организации доступа к серверу 1С, и повышает накладные расходы ресурсов при синхронизации;
  • Архитектура коннектора, построенная на принципах наследования, удобна для разделения логики на слои, но неудобна для кардинальных модификаций стандартных правил;
  • Коннектор обеспечивает работоспособность при работе с определенными конфигурациями 1С, работа отличных от поддерживаемой конфигураций 1С не гарантируется.

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

Описание и возможности решения

Разработка решения осуществлялась в несколько этапов:

  1. Анализ механизма работы коннектора, используемые справочники, реквизиты, ограничения;
  2. Разработка технического задания для реализации REST-сервиса на стороне 1С;
  3. Разработка библиотеки для работы с сервисом;
  4. Разработка итогового решения для DirectumRX.

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

Результаты применения решения

В настоящий момент решение находится в стадии внедрения и опытной эксплуатации в ООО “Арбат отель менеджмент” (управляющая компания сети курортов Alean Family Resort Collection). Решение было разработано за 1,5 месяца.
В результате реализации решения был получен механизм, обеспечивающий:

  • платформонезависимость;
  • гибкость;
  • открытость для изменений.

В перспективе планируется доработка решения для осуществления экспорта данных из DirectumRX в 1С.


Команда

  • Гурин Александр - Руководитель проекта со стороны исполнителя
  • Голубюк Максим - Руководитель проекта со стороны заказчика
  • Панкрашов Дмитрий - разработчик исполнителя
  • Наталья Журавлева - разработчик со стороны заказчика
Номинация: Передовые решения
Утверждено

Поделись проектом и участвуй в Directum Like

Комментарии (1)

Василий Лукин

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

1. Для каких типов сущностей применяется данная синхронизация? Документы, справочники? Или набор сущностей аналогичен, синхронизируемому стандартным коннектором?

2. Причины перехода на веб-сервисы были исключительно техническими или все же продиктованы конкретными требованиями бизнеса?

3. Какова периодичность запуска фонового процесса? Не было ли мысли реализовать запуск "по кнопке" или событию процесса для обновления информации только для конкретной сущности?

Авторизуйтесь, чтобы написать комментарий