В данном разделе кратко описаны различия в механизмах распределенной информационной базы 1С:Предприятия 8 и компоненты "Управление распределенными информационными базами" 1С:Предприятия 7.7 (УРИБ). Целью раздела не является полный анализ различий двух механизмов, скорее это попытка оказать помощь разработчику, использовавшему 1С:Предприятия 7.7, при построении распределенной информационной базы 1С:Предприятия 8.
В платформе 1С:Предприятие 8 помимо механизма распределенной информационной базы также присутствует универсальный механизм обмена данными. Универсальный механизм обмена данными позволяет производить обмен не только между идентичными конфигурациями, но и конфигурациями, имеющими различную структуру, а также с другими программными системами. Универсальный механизм обмена и механизм распределенной информационной базы основываются на одних и тех же механизмах платформы 1С:Предприятие и представлены в конфигурации объектами метаданных ПланОбмена. Возможно не только одновременное использование обоих механизмом для осуществления обмена данными - для этого используется несколько объектов метаданных ПланОбмена, в которых выбирается используемых механизм и определяется основная логика обмена данными.
Прежде чем сравнивать функциональные возможности двух механизмов стоит отметить, что, в отличие от 1С:Предприятия 7.7 (в котором механизм представлял собой отдельно устанавливаемую компоненту), в платформе 1С:Предприятие 8 механизм распределенной информационной базы является неотъемлемой частью платформы и, вследствие этого, не имеет отдельно ключа аппаратной защиты.
Общие принципы функционирования механизмов в рассматриваемых версиях платформы 1С:Предприятия похожи и отличны одновременно. Можно сказать, что реализация механизма распределенной информационной базы является не только развитием компоненты "Управление распределенными информационными базами" 1С:Предприятия 7.7, но также представляет собой совершенно иной взгляд на организацию распределенной информационной базы и логику обмена данными внутри нее.
Структура распределенной информационной базы в версии 7.7 представляла собой двухуровневую иерархию, т.е. имелась четко выделенная центральная информационная база и множество периферийных информационных баз. В платформе 1С:Предприятие 8 структура распределенной информационной базы является многоуровневой иерархией: имеются главные узлы и подчиненные узлы распределенной информационной базы, у которых в свою очередь могут быть собственные подчиненные узлы и т.д. Однако отсутствует понятие "Центральная информационная база" в том виде, в каком оно было в версии 7.7.
В версии 1С:Предприятия 8 можно выделить корневой узел - узел, в котором имеется возможность изменения конфигурации. Все узлы распределенной информационной базы при обмене обладают равными правами. Стоит отметить, что структура распределенной информационной базы (при использовании платформы версии 8) может быть легко изменена, вплоть до изменения корневого узла распределенной информационной базы.
В компоненте УРИБ для передачи изменений между узлами распределенной информационной базы использовались файлы передачи данных, они имели закрытый формат и представляли собой ZIP-архив. В платформе 1С:Предприятие 8 для передачи изменений данных и конфигурации используются сообщения обмена - документы XML. Формат сообщения обмена открыт и описан в документации к платформе. Сообщение обмена может быть передано в узел-приемник любым способом. Для уменьшения размера файла, содержащего сообщение обмена, он может быть сжат. Платформа предоставляет возможность автоматического сжатия файла с сообщением обмена при отправке и распаковки при приеме, используя алгоритмы сжатия ZIP.
Компонента УРИБ предоставляла единственную возможность создания информационной базы периферийного узла распределенной информационной базы - выгрузка образа новой периферийной информационной базы в файл. В отличие от компоненты УРИБ в платформе версии 8 нет ограничений на способ создания информационной базы, включаемой в состав распределенной информационной базы. Основным требованием является идентичность конфигураций включаемой информационной базы и распределенной информационной базы. Для удобства создания информационной базы нового узла в платформе 1С:Предприятие 8 предусмотрена процедура создания начального образа. Начальный образ может быть создан как в виде файлового варианта информационной базы, так и в виде клиент-серверного варианта.
В версии 8 узел распределенной информационной базы может в любой момент быть выделен из распределенной информационной базы и вновь включен в структуру распределенной информационной базы.
Как и для компоненты УРИБ, механизм распределенной информационной базы платформы версии 8 предполагает обязательную идентичность конфигураций при приеме изменений данных в узле распределенной информационной базы. Эта идентичность обеспечивается средствами платформы. Изменения конфигурации передаются вместе с изменениями данных от главного узла к подчиненному. Платформой обеспечивается возможность приема измененных данных только после чтения изменений конфигурации и обновления конфигурации базы данных. Также платформа контролирует невозможность приема данных от узла, для которого имеются зарегистрированные изменения конфигурации.
Данного свойства нет в распределенной информационной базе платформы версии 8. Однако поведение аналогичное данному свойству может быть смоделировано при помощи средств встроенного языка.
Аналогично компоненте УРИБ обмен в платформе 1С:Предприятие 8 осуществляется "пообъектно". Однако в отличие от УРИБ в версии 8 движения документа (являющиеся, по сути, наборами записей различных регистров) мигрируют независимо.
В версии 8 имеется возможность управлять составом мигрирующих данных как на уровне объектов метаданных (включая/исключая соответствующие объекты метаданных и состава плана обмена), так и для каждого элемента данных в отдельности (манипулируя регистрацией изменений данных, а также осуществляя фильтрацию при чтении/записи сообщений обмена).
Понятие "область миграции", присутствовавшее в компоненте УРИБ, отсутствует в механизме распределенной информационной базы платформы 1С:Предприятие 8. Логика обмена должна соответствовать общей прикладной логике работы конфигурации. Логика миграции данных определяется средствами встроенного языка и может реализовываться как посредством управления регистрацией изменений данных, так и фильтрацией данных при загрузке/выгрузке сообщений обмена.
Также в платформе 1С:Предприятие 8 отсутствует понятие "места создания" элемента данных. Данное понятие может быть смоделировано средствами конфигурирования. Например, это может потребоваться для управления миграцией документов, участвующих в последовательностях (подробное описание в статье "Особенности использования последовательности документов в распределенной информационной базе"). Стоит отметить, что если в компоненте УРИБ "место создания" однозначно "привязывало" элемент данных к узлу распределенной ИБ, то в версии 8 реализация привязки элемента данных к узлу по прикладному признаку позволяет выполнять, при необходимости, перенос привязки подобных данных из одного узла распределенной ИБ в другой.
В целом, в отличие от компоненты УРИБ, где предоставлялся ограниченный набор средств по управлению миграцией данных, - возможность задания области распространения (все информационные базы, место создания, место создания и центр), - в платформе 1С:Предприятие 8 управление миграцией может быть выполнено средствами встроенного языка: имеется возможность управлять регистрацией изменений данных в разные узлы, осуществлять фильтрацию данных при чтении/записи сообщений обмена. Новый подход позволяет реализовать сложные алгоритмы миграции данных, обеспечивая при этом высокую гибкость.
Принцип регистрации изменений одинаков в обоих механизмах. Регистрация изменений происходит при записи элемента данных. Настройка регистрации изменений выполняется в метаданных конфигурации. Имеется возможность установить автоматическую регистрацию изменений.
В платформе 1С:Предприятие 8 расширен набор функциональности, предоставляемой встроенным языком, по управлению регистрацией изменений данных: функции регистрации/отмены регистрации данных, функция получения списка зарегистрированных изменений для определенного узла распределенной информационной базы, возможность управления списком узлов, для которых будет выполнена регистрация изменений.
Компонента УРИБ предоставляет возможность обмена посредством файлов переноса данных, в ней реализована поддержка единственного способа передачи файлов - через электронную почту. В платформе 1С:Предприятие 8 обмен осуществляется посредством файлов, содержащих сообщение обмена, встроенной поддержки доставки файлов нет, однако средствами встроенного языка можно реализовать практически любой вариант доставки сообщений обмена в удаленный узел - электронная почта, ftp и др. Примеры реализаций различных вариантов доставки сообщений обмена можно найти в демонстрационной конфигурации "Обмен данными" (например, в реализации плана обмена УдаленныеСклады).
Также стоит отметить, что все действия по формированию и приему файлов переноса данных в компоненте УРИБ выполнялись в режиме Конфигуратора (имелась также возможность выполнять эти действия в пакетном режиме). В свою очередь в платформе 1С:Предприятие 8 обмен производится в режиме 1С:Предприятие, что сильно увеличивает гибкость обмена. Например, процедуры чтения и записи сообщений обмена могут быть реализованы для работы в COM-соединении, что делает возможным их вызов из других приложений.
В версии платформы 1С:Предприятие 8 коллизии, возникающие при обмене данными, могут быть разрешены средствами встроенного языка не только в момент регистрации изменений или записи элементов данных (как это было возможно в УРИБ), но и на этапе выгрузки/загрузки измененных данных. Это позволяет достичь гибкости в алгоритмах разрешения коллизий.
Примеры использования различных возможностей, а также некоторые примеры реализации обмена можно найти в демонстрационной конфигурации "Обмен данными".