Visual2000 · Статьи А.Колесова по "1С"

Цикл "1С:Предприятие" в PC Magazine/RE

Механизмы обмена данными в "1С:Предприятие 8.0"

Андрей Колесов

© Андрей Колесов, 2006
Авторский вариант. Статья была опубликована в журнале PC Magazine/RE № 02/06 (с.134-136).


Механизмы обмена данными в "1С:Предприятие 8.0"

Один из наиболее актуальных сегодня вопросов создания, поддержки и развития информационных систем организаций — задача интеграции их отдельных подсистем и компонентов. Платформа "1С:Предприятие 8.0" обладает значительным спектром функций и механизмов взаимодействия с внешними программами и оборудованием на основе общепризнанных открытых стандартов и протоколов (рис. 1). Довольно большую группу среди них составляют средства обмена данными, которые мы и рассмотрим в этой статье.

Рис. 1 Основные возможности интеграции "1С:Предприятия 8.0" с внешними приложениями и источниками данных

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

В начало статьи

Базовые средства обмена данными

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

Они реализуются благодаря использованию ряда средств технологической платформы, которые разработчик может применять как по отдельности, так и в различных комбинациях, в зависимости от конкретной решаемой задачи (рис. 2). Такой подход позволяет обеспечить гибкость механизмов обмена и их настраиваемость на решение как можно большего круга задач. В состав средств платформы, используемых для построения схем обмена данными, входят:

При помощи этих средств могут быть реализованы две основные технологии собственно обмена данными:

  1. универсальный механизм обмена данными;
  2. механизм управления распределенными информационными базами.

Рис. 2 Архитектура механизмов обмена данными в "1С:Предприятии 8.0"

Планы обмена содержат информацию об узлах, которые могут участвовать в обмене данными, определяют состав информации и указывают, следует ли задействовать механизм распределенной информационной базы при обмене. В качестве узлов могут выступать информационные базы "1С:Предприятия" (версий 7.7 и 8.0) или других систем. Для каждого узла можно задать код, наименование и необходимый перечень реквизитов, описывающих узел. Узел может иметь также несколько подчиненных табличных частей для хранения информации, связанной с этим узлом, несколько форм для отображения информации, содержащейся в плане обмена, и т. д. (рис. 3). В плане обмена указывается также состав данных, которыми предполагается вести обмен (рис. 4). Для каждого из объектов прикладного решения, которые могут участвовать в обмене, можно задать режим автоматической регистрации их изменений. Программно разработчик всегда может выполнять регистрацию на уровне встроенного языка.

Рис. 3 Пример структуры плана обмена (Удаленные Склады)

Рис. 4 Описание плана обмена в "1С:Предприятии 8.0"

В одном прикладном решении может существовать несколько планов обмена, каждый из которых может описывать свой порядок обмена данными. Например, если выполняется обмен данными с удаленными складами и удаленными офисами, то, скорее всего, будет существовать два плана обмена (один — для обмена со складами, другой — для офисов), поскольку состав данных, которыми производится обмен со складами, будет значительно уже, чем состав данных, предназначенных для обмена с офисами.

С помощью объектов "план обмена" реализованы два важных внутренних механизма платформы.

XML-сериализация — это процесс преобразования данных "1С:Предприятия" в последовательность данных формата XML и наоборот.

Средства чтения и записи XML-документов позволяют работать с данными формата XML на «базовом» уровне, без привязки к объектам "1С:Предприятия". В частности, они дают возможность открывать XML- документы для чтения, читать из них данные, создавать новые XML- документы и записывать в них данные. Все это активно используется при реализации различных схем обмена данными.

В начало статьи

Универсальный механизм обмена данными

Универсальный механизм обмена данными предназначен для создания территориально распределенных систем на основе как "1С:Предприятие", так и решений других поставщиков. Однако этот механизм позволяет переносить только данные, перенос конфигурации и административной информации "1С:Предприятия" при его помощи невозможен. В качестве формата обмена используются XML-документы, при этом при обмене данными между информационными базами "1С:Предприятия" не накладывается ограничений на идентичность конфигурации и структуры конкретных объектов. В то же время в одной конфигурации может быть создано несколько независимых схем обмена с различными информационными системами. Важно также и то, что при организации схемы обмена не накладывается ограничений на структуру распределенной системы. Может быть организована как классическая структура типа «звезда», так и более сложные многоуровневые структуры типа «снежинка» и др. (рис. 5).

Рис. 5 При организации обмена могут использоваться многоуровневые структуры распределенной системы

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

В начало статьи

Механизм управления распределенными информационными базами

Механизм управления распределенными информационными базами (УРИБ) играет ключевую роль в создании территориально распределенных систем на основе идентичных конфигураций "1С:Предприятия 8.0" (распределенная система должна иметь древовидную структуру, в которой существует корневой узел и определено отношение "главный — подчиненный" для каждой пары связанных узлов). Данная технология обеспечивает регистрацию изменений в базах данных, инфраструктуру сообщений и обмен информацией в формате XML. Централизованное управление конфигурацией системы осуществляется с помощью визуальных средств или программным образом. С ее помощью выполняется не только обмен данными, но и перенос программной конфигурации.

УРИБ реализует следующие основные возможности:

В начало статьи

Различные способы управления обменом данными

Отличительная особенность механизма УРИБ заключается в том, что во всех узлах должны быть одинаковые конфигурации и между двумя связанными узлами должны быть установлены отношения главный—подчиненный. Благодаря этому процесс обмена можно формализовать и создавать распределенные информационные базы даже без программирования, так как система «знает», как обмениваться информацией. В отличие от этого, при использовании универсального механизма обмена данными в узлах может быть что угодно и взаимодействовать они могут как угодно, поэтому обязательно нужно писать код, описывающий правила такого взаимодействия. Таким образом, механизм УРИБ — это быстро и просто, но по определенным правилам, а универсальный механизм обмена данными — это "как угодно", и поэтому сложнее и требует написания всего кода вручную.

В целом же прикладное решение может содержать произвольное количество планов обмена как с использованием механизма УРИБ, так и без его использования. Например, одна и та же информационная база может входить в состав различных распределенных систем. Например, по одному плану обмена (с использованием УРИБ) она будет "общаться" с филиалами, а по другому плану обмена (с применением универсального механизма обмена данными) она может работать с корпоративной информационной системой (не "1С:Предприятие"), поставляя туда данные о работе филиалов для создания консолидированной отчетности по всему холдингу в целом.

Таким образом, программные средства и механизмы "1С:Предприятия" позволяют создавать различные по структуре однородные и неоднородные распределенные информационные системы.

В начало статьи