Visual2000 · Статьи А.Колесова по "1С"
Андрей Колесов
© Андрей Колесов, 2006Один из наиболее актуальных сегодня вопросов создания, поддержки и развития информационных систем организаций — задача интеграции их отдельных подсистем и компонентов. Платформа "1С:Предприятие 8.0" обладает значительным спектром функций и механизмов взаимодействия с внешними программами и оборудованием на основе общепризнанных открытых стандартов и протоколов (рис. 1). Довольно большую группу среди них составляют средства обмена данными, которые мы и рассмотрим в этой статье.
Рис. 1 Основные возможности интеграции "1С:Предприятия 8.0" с внешними приложениями и источниками данных
Для начала нужно сказать о довольно простых, но в то же время эффективных и часто используемых на практике возможностях.
Платформа также содержит набор специализированных средств обмена данными для создания распределенных информационных систем на основе программ "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- документы и записывать в них данные. Все это активно используется при реализации различных схем обмена данными.
Рис. 5 При организации обмена могут использоваться многоуровневые структуры распределенной системы
Разработчику прикладного решения предоставляется возможность гибкого управления составом обмена с точки зрения как структуры передаваемых данных, так и состава передаваемой информации в конкретные узлы обмена. Объект базы данных первоначально создается в одном из узлов обмена, при этом состав передаваемой информации может регулироваться в зависимости от содержимого данных и не зависит от места первоначального ввода информациии
Механизм управления распределенными информационными базами (УРИБ) играет ключевую роль в создании территориально распределенных систем на основе идентичных конфигураций "1С:Предприятия 8.0" (распределенная система должна иметь древовидную структуру, в которой существует корневой узел и определено отношение "главный — подчиненный" для каждой пары связанных узлов). Данная технология обеспечивает регистрацию изменений в базах данных, инфраструктуру сообщений и обмен информацией в формате XML. Централизованное управление конфигурацией системы осуществляется с помощью визуальных средств или программным образом. С ее помощью выполняется не только обмен данными, но и перенос программной конфигурации.
УРИБ реализует следующие основные возможности:
Отличительная особенность механизма УРИБ заключается в том, что во всех узлах должны быть одинаковые конфигурации и между двумя связанными узлами должны быть установлены отношения главный—подчиненный. Благодаря этому процесс обмена можно формализовать и создавать распределенные информационные базы даже без программирования, так как система «знает», как обмениваться информацией. В отличие от этого, при использовании универсального механизма обмена данными в узлах может быть что угодно и взаимодействовать они могут как угодно, поэтому обязательно нужно писать код, описывающий правила такого взаимодействия. Таким образом, механизм УРИБ — это быстро и просто, но по определенным правилам, а универсальный механизм обмена данными — это "как угодно", и поэтому сложнее и требует написания всего кода вручную.
В целом же прикладное решение может содержать произвольное количество планов обмена как с использованием механизма УРИБ, так и без его использования. Например, одна и та же информационная база может входить в состав различных распределенных систем. Например, по одному плану обмена (с использованием УРИБ) она будет "общаться" с филиалами, а по другому плану обмена (с применением универсального механизма обмена данными) она может работать с корпоративной информационной системой (не "1С:Предприятие"), поставляя туда данные о работе филиалов для создания консолидированной отчетности по всему холдингу в целом.
Таким образом, программные средства и механизмы "1С:Предприятия" позволяют создавать различные по структуре однородные и неоднородные распределенные информационные системы.