Функции:
1. Монитор обменов. Блок функциональности является развитием системы Монитор обменов (описание). Новое: упрощена работа многих механизмов (например, больше не хранится история состояний), добавлены транспорты: теперь система "умеет" обмениваться данными по веб-сервисам (WS), выступать и как сервер, и как клиент.
2. Хранилище Журналов регистрации. Позволяет хранить и обрабатывать журналы регистрации нескольких информационных баз 1С. Хранение (пока) организовано только в самой базе 1С на SQL. В планах - использование более подходящих хранилищ.
Транспорт
Система может хранить и обрабатывать данные, которые она либо сама "забирает" из информационных баз, либо получает эти данные по инициативе клиентских баз. Для каждой ИБ системы есть три способа соединения:
1. COM-соединение. R2-D2 сам по регламенту инициирует СОМ-соединение к контролируемой базе, забирает оттуда информацию и фиксирует её у себя. По такому способу удобно работать например с какими-нибудь файловыми базами. Работает медленно из-за скорости инициализации подключения. Ограничение: в этом режиме соединения не реализована функция хранилища Журналов регистрации. То есть по такому транспорту будет работать только Монитор обменов.
2. WS-соединение (активное). R2-D2 сам инициирует подключение WS-подключение к контролируемой базе, забирает оттуда информацию и фиксирует её у себя. По такому способу удобно работать например с какими-нибудь файловыми базами. Работает значительно (в разы) быстрее, чем п.1. Требуется, чтобы
2.1. Контролируемая база должна быть опубликована на веб-сервере.
2.2. На контролируемую базу было установлено расширение пп_КлиентR2D2 (в котором описан веб-сервис и операции) (см. архив для скачивания)
3. WS-соединение (пассивное). R2-D2 сам принимает от клиентских баз пакеты информации и обрабатывает их. Наиболее оптимальный вариант по целому ряду причин. Требования:
3.1. R2-D2 должен быть опубликован на веб-сервисе
3.2. В каждой клиентской базе должна быть установлено расширение и внешняя обработка, которая должна выполняться с некоторой периодичностью (см. архив для скачивания и механизм дополнительных внешних обработок БСП + расписание на выполнение внешних обработок)
Механика
1. Получение информации от базы-корреспондента
2. Запись полученной информации.
В случае, когда используется транспорт пассивного WS-соединения, то возникает этап идентификации базы. Клиентская база при инициации соединения передаёт в R2-D2 информацию о себе, в том числе свой идентификатор (см. константу баз на БСП "Идентификатор информационной базы"). В случае, если такой базы в справочнике баз нет. будет создан новый элемент. Далее элемент можно будет переименовать для удобства восприятия представления.
В случае, когда R2-D2 самостоятельно инициирует подключение к контролируемым базам, механика работает по регламентному заданию.
На сбор информации об обменах - отдельное регламентное задание.
На анализ ошибок обменов и формирование уведомлений - отдельно регламентное задание.
Механика сбора и очистки Журналов регистрации
Предполагается, что каждую ночь начиная с последнего успешно загруженного периода по конец предыдущего дня Журналы регистрации "переливаются" в R2-D2, а затем очищаются.
Внедрение
1. Скачать архив этой статьи
2. Развернуть базу из "R2D2 1.1.cf".
3. Если планируется использовать пассивное WS-соединение, то необходимо опубликовать новую базу на веб-сервере.
4. Выбрать способ соединения с контролируемыми базами
4.1. Если COM-соединение:
4.1.1. Добавить вручную базы в список баз (см. "Информационные базы"), выбрать способ соединения "COM".
4.1.2. Настроить регламентные задания "Сбор данных о выполнении обменов" (например каждые 10 минут) и "Загрузка журналов регистрации информационных баз (ППЖР)" (например каждую ночь с 01:00 по 06:00, повторять каждые 30 минут)
4.2. Если WS-соединение (активное):
4.2.1. Каждую из баз опубликовать на веб-сервере с флагом "Публиковать Web-сервисы расширений по умолчанию"
4.2.2. В каждую клиентскую базу добавить расширение "пп_КлиентR2D2.cfe"
4.2.3. Добавить вручную базы в список баз (см. "Информационные базы"), выбрать способ соединения "Web-service".
4.3.4. Настроить регламентные задания "Сбор данных о выполнении обменов" (например каждые 10 минут) и "Загрузка журналов регистрации информационных баз (ППЖР)" (например каждую ночь с 01:00 по 06:00, повторять каждые 30 минут)
4.3. Если WS-соединение (пассивное):
4.3.1. Клиентские базы сами добавятся в справочник при первом подключении.
4.3.2. Добавить пользователя с полными правами в R2-D2. Опубликовать базу R2-D2 на веб-сервере (Apache или IIS - как удобнее)
4.3.3. Для обработок "ОтправкаСостоянияОбменовВR2D2.epf" и "ОтправкаЖурналаРегистрацииВR2D2.epf" в функции "Соединение()" модуля обработки прописать Пользователь и Пароль подключения к R2-D2 (соответственно, такой пользователь под таким паролем должен быть в R2-D2)
4.3.4. В каждую клиентскую базу добавить:
4.3.4.1. Расширение "пп_КлиентR2D2.cfe"
4.3.4.2. Внешнюю обработку "ОтправкаСостоянияОбменовВR2D2.epf", настроить регламент выполнения (например каждые 10 минут)
4.3.4.2. Внешнюю обработку "ОтправкаЖурналаРегистрацииВR2D2.epf", настроить регламент выполнения (например каждую ночь с 01:00 по 06:00, повторять каждые 30 минут)
5. Каждую из баз необходимо настроить (см. вкладку "Функциональность" на форме элемента справочника Информационные базы)
6. Если требуется рассылка аварийных уведомлений по статусам обменов, то необходимо настроить расписание регламентного задания "Формирование уведомлений контрольных операций (ПП)", а также "Отправка контактных сообщений (ПП)", для которого потребуется еще настройка почты. Более подробно см. описание системы Монитор обменов (ссылка есть в разделе Особенности).
7. На этом - всё, оно должно работать.
Плюсы
1. Удобное администрирование контролируемых информационных баз "в одном месте"
2. Журналы нескольких информационных баз "в одном месте". Это удобно, например, для того, чтобы легко можно было проследить где было последнее изменение какого-то определенного элемента справочника, если у Вас есть обмены данными (или РИБ).
3. Загруженный журнал в R2-D2 индексирован по основным полям поиска, что делает поиск гораздо более приятной и значительно более быстрой процедурой, нежели поиск с помощью платформенных инструментов.
4. Текущая информация об обменах - тоже в одном месте
5. Ссылочные данные загружаются в справочник "Данные" с идентификатором. Очень удобно при отборах. Аналогично - справочник "Метаданные", "События" и проч.
Требования, ограничения
1. Работает ТОЛЬКО с конфигурациями на БСП.
2. Работает ТОЛЬКО с информационными базами, которые используют НОВЫЙ формат хранения Журнала регистрации (SQL lite).
Особенности
1. Написана на БСП
2. Используется переработанная система Монитор обменов как подсистема
3. Используется подсистема рассылки сообщений
Планы
Единый центр рассылки заданий, центр управления пользователями и профилями, центр тиражирования расширений и т.п. То есть сервис, предоставляющий удобные функции для управления некоторым множеством информационных баз. Поддержка разных СУБД для хранения Журнала регистрации (Elastic Search, Click House и т.п.) К сожалению, всё упирается в свободное время.
Состав архива
1. R2D2 1.1.cf - конфигурация R2-D2
2. пп_КлиентR2D2.cfe - расширение конфигурации для клиентских баз (контролируемых баз)
3. ОтправкаСостоянияОбменовВR2D2.epf - внешняя обработка для регламентного выполнения отправки сведений о статусах обменов БСП в R2-D2
4. ОтправкаЖурналаРегистрацииВR2D2.epf - внешняя обработка для регламентного выполнения отправки журнала регистрации в R2-D2 и очистки Журнала регистрации.