Главная страница Visual 2000 · Общий список статей

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

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

© Андрей Колесов, 2005
Авторский вариант. Статья была опубликована c небольшими сокращениями в журнале BYTE/Россия (N 06/2005, с.32)


Задачи создания и развития автоматизированных систем...

Задачи создания и развития автоматизированных систем управления организаций сегодня все в большей степени с вопросами интеграции их отдельных подсистем и компонентов. Поэтому неудивительно, что расширение функциональных и технологических возможностей базовых платформ для создания подобных решений масштаба предприятия в последние годы во многом связано с задачами интеграции. Более того, в арсенале ведущих поставщиков ERP-систем корпоративного уровня появились соответствующие специализированные продукты (например, SAP NetWeaver и InterSystems Ensemble), которые, как мы можем отчетливо наблюдать, постепенно становятся центральным ключевым элементом всего комплекса поставляемых продуктов.

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

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

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

Еще один специфический момент заключается в том, что говоря о проблематике интеграции, "1C" включает в этот круг вопросов и задачи взаимодействия приложений внутри собственного семейства экономического ПО. Это также вполне понятно, и здесь можно выделить два момента:

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

  2. Все чаще возникают задачи создания сложных распределенных систем. Более того, в силу специфики архитектуры самой платформы 1СП8 и схем организации реального бизнеса заказчиков, "1С" особое внимание в своих технологиях уделяет поддержке децентрализованных моделей информационных систем.

В целом средства и механизмы интеграции "1С:Предприятие 8.0" позволяют выполнять следующие основные задачи (см. таблицу):

И тем не менее, как мы уже не раз отмечали ранее, основной вектор развития технологий 1СП8 связан с повышения масштаба и сложности реализуемых проектов. Именно поэтому мы сейчас детальнее рассмотрим только новые возможности интеграции, появившиеся впервые и нацеленные на создание систем среднего и крупного уровня. <*>

<*> Проблематика интеграции включает также и такой важный аспект, как обеспечение взаимодействия людей и деловых процессов. На решение этих задач нацелен механизм управления бизнес-процессами, реализованный в выпуске "1С:Предприятие" 8.0.10. Подробнее о нем см. "Автоматизация бизнес-процессов в "1С:Предприятие 8.0", BYTE/Россия N 03/2005.

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

COM-соединения и Automation

Технологии COM-соединений и Automation используют в "1С:Предприятии" еще со времен версии 7.0, но о них нужно немного сказать, так как они (особенно COM-соединения) играют ключевую роль в обеспечении взаимодействия 1СП8 с внешними приложениями через стандартный механизм Microsoft COM. В целом работа COM-соединения (рис. 2) подобна режиму Automation- сервера (используются одни и те же системные программные интерфейсы.), но есть и важные отличия:

В то же время COM-соединения имеют следующие преимущества по сравнению с Automation- сервера:

Основное назначение Automation-сервера 1СП8 - управление прикладными решениями 1СП8 из других приложений и выполнение действий аналогичных интерактивным действиям. Он предоставляет доступ ко всем свойствам и методам своего глобального контекста, имеет дополнительные свойства и методы для выполнения действий, специфичных для работы в режиме Automation. Как и многие современные программные продукты, 1СП8 может выступать в роли клиента Automation. Поэтому имеется возможность из системы 1СП8 обращаться к другой копии 1СП8 (например, к другой конфигурации) для обмена данными.

Рис. 2. Используя COM-соединение и средства работы с XML можно организовывать интеграцию с прикладными системами по принятым в них форматам. Например, для такой интеграции можно использовать Microsoft BizTalk Server.

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

Обмен данными

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

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

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

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

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

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

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

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

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

  1. Основной механизм распределенных информационных баз. Предоставляет интерактивные и программные средства обмена в распределенной информационной базе, в том числе на основе других средств обмена данными, таких как служба регистрации изменений, инфраструктура сообщений, XML-сериализация и чтение/запись XML-документов.

  2. Служба регистрации изменений. Позволяет получать информацию о том, какие элементы данных были изменены, и в какой узел обмена их необходимо передать.

  3. Инфраструктура сообщений. Перенос данных между узлами распределенной информационной базы выполняется с помощью сообщений, которые поддерживаются инфраструктурой сообщений. Каждое сообщение относится к определенному плану обмена, имеет определенный узел-отправитель, узел-получатель и целочисленный номер.

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

Создание Web-приложений

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

Рис. 5. Положение "1C:Web-расширения" в системе "1С:Предприятие 8.0"

Возможность клиентского Web-доступа к приложениям "1С:Предприятие" появилась только весной 2000 г., когда был выпущен компонент "Web-расширение" для платформы версии 7.7 (см. "Разработка Web-приложений для "1С:Предприятия", BYTE/Россия N 04/2001). В нем была использована технология ASP, позволяющая написать код активных страниц на внутреннем языке 1С:V7Script. Однако вся разработка ASP-страниц должна была выполняться исключительно "руками", без применения каких бы то ни было специальных средств. Очевидно, что такие дедовские методы были непригодны для создания сложных Web-приложений и могли применяться лишь в ограниченных масштабах. Тем не менее с помощью этого варианта Web-расширения целый ряд компаний-разработчиков не только получал собственные продукты, но и реализовывал некоторые проекты и тиражные решения.

Нынешний вариант Web-расширения — это качественно более мощный (по сравнению с 7.7) инструмент, который позволяет решать довольно широкий круг задач, связанных с использованием Интернет-технологий, — начиная от обеспечения клиентского Web-доступа и заканчивая интеграцией с внешними приложениями.

В основе концепции 1СП8-Web лежит стандартная технология создания ASP.NET-приложений, дополненная программными компонентами 1СП8, которые обеспечивают, с одной стороны, привычный для пользователя 1СП8 клиентский интерфейс, а с другой — взаимодействие с базой данных и с функционалом прикладного решения (рис. 6). Пользовательский интерфейс и бизнес-логика создаются в рамках технологии ASP.NET (приложение типа Web Forms). Для программирования разрешается применять любой .NET-язык, сами авторы 1СП8-Web рекомендуют для программирования использовать C# (демонстрационный пример, шаблоны и конструкторы ориентированы на этот язык).

Рис. 6. Подключение дополнительных компонентов "1С:Web-расширения" к среде Visual Studio .NET

Одна из целей 1СП8-Web — повысить эффективность разработки Web-приложений в среде Visual Studio .NET с учетом специфики прикладных решений семейства 1СП8. Большинство компонентов 1СП8-Web, реализованных в виде элементов управления, предназначено именно для решения этой задачи: они позволяют строить пользовательский интерфейс и обрабатывать данные в традиционном стиле "1С:Предприятия". При этом разработчик может самостоятельно создавать Web-формы или использовать те, которые автоматически генерируются системой на основе структуры прикладного решения 1СП8. Во втором случае обеспечивается простая адаптация Web-решения при внесении изменений в хост-приложение.

С учетом того, что применение Web-расширения чаще всего связано с задачами презентации и анализа данных, в состав 1СП8-Web включен также набор компонентов для создания аналитических отчетов, опирающийся на мощные механизмы 1СП8. В частности, пользователь Web-приложения с помощью инструмента "Построитель отчета" может визуально настроить исходный текст запроса и получить оформленный результат его обработки — при этом поддерживается механизм расшифровок для детализации полученных данных. Но все перечисленные выше средства могут лишь повысить эффективность разработки Web- приложения. Главная же технологическая задача 1СП8-Web — реализовать механизм взаимодействия собственно с информационной базой прикладного решения (см. рис. 7) — метаданными, COM-соединениями и объектами доступа к данным.

Рис. 7. Общая схема взаимодействия компонентов "1С:Web-расширения"

Метаданные содержат сведения о структуре прикладного решения и его информационной базы. Они автоматически генерируются при создании Web-приложения и хранятся в подключаемых к проекту файлах (DLL и XML). Кроме того, если конфигурация информационной базы была изменена, утилита генерации метаданных может быть запущена и отдельно.

Для доступа к функционалу прикладного решения (в том числе к информационным базам) используются COM-соединения — универсальный низкоуровневый программный интерфейс для интеграции 1СП8 с внешними приложениями. Это наиболее эффективный инструмент организации взаимодействия программ. В частности, возможность сохранения пула открытых COM-соединений для их повторного использования позволяет экономить ресурсы Web-сервера и уменьшает время отклика системы.

Однако с точки зрения оптимизации процесса разработки к данным 1СП8 лучше всего обращаться через высокоуровневый слой специализированных объектов ADO.NET. Их применение позволяет реализовать эффективное взаимодействие с компонентами бизнес-логики и визуального интерфейса. Кроме того, с помощью таких объектов можно не только получать данные, но и модифицировать их.

В нынешнем варианте 1СП8-Web значительная часть инструментария предназначена для программирования Web-интерфейса, но наиболее важным все же видится набор компонентов для работы с данными, который фактически представляет собой интерфейс между платформами 1СП8 и .NET. С его помощью разработчики помимо возможности реализации собственно Web- приложений могут уже сегодня создавать весь спектр программ, реализуемых в среде .NET, включая Web-решения для мобильных клиентских устройств, обычные Windows-приложения, Web- сервисы, .NET-компоненты и пр. Не говоря уже о том, что VS.NET обладает широким спектром средств (в том числе третьих фирм) взаимодействия с различными источниками данных и приложениями.

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

Таблица. Средства и механизмы интеграции "1С:Предприятие 8.0"

Функция Назначение
Работа с текстовыми документами
Встроенный язык 1СП8 позволяет разработчику создавать, динамически формировать и записывать текстовые документы, в том числе на основе готовых шаблонов. Обмен данными с использованием текстовых документов может быть одним из самых простых способов взаимодействия с другими информационными системами. Работа с текстовыми файлами очень важна также в плане формирования отчетов с использование недавно появившегося механизма применения макетов форм. Для этого разработчик может использовать специальный редактор текстов.
Последовательное чтение текстовых файлов Выделение этого пункта вызвано тем, что имеют специальные функции анализа содержимого вводимых файлов, в том числе с использованием разных кодовых таблиц символов.
XML 1СП8 позволяет организовывать интеграцию с прикладными системами с использованием XML-документов, являющихся на сегодняшний день общепринятым средством представления данных. Поддержка XML выполнена на уровне встроенного языка 1СП8.
DBF-файлы Механизм работы с базами данных формата DBF предназначен для обеспечения возможности манипулирования ими непосредственно из встроенного языка системы 1СП8 через объект xBase. Можно работать как с существующими базами данных, так и создавать новые БД произвольной конфигурации.
COM-соединение Основная задача, решаемая с помощью COM-соединения — обеспечение надежного и быстрого программного доступа к данным системы 1СП8 из внешних приложений. В общем и целом работа с системой 1СП8 через COM-соединение подобна работе в режиме Automation-сервера.
Automation Client/Server Назначение Automation-сервера 1СП8 — управление прикладным решением из других приложений и выполнение действий аналогичных интерактивным действиям.
Работа с HTML-документами Средства работы с HTML-документами позволяют встраивать их в формы прикладного решения и выполнять их редактирование средствами встроенного языка
Работа с файловой системой Доступ к функциям работы с файловой системой реализован на уровне встроенного языка. Эта возможность может быть использована при организации взаимодействия с другими информационными системами через общие каталоги.
Технология внешних компонентов Данная технология позволяет создавать программы, которые будут динамически подключаться и тесно взаимодействовать с системой 1СП8. Разработка компонентов может выполняться с помощью любого инструмента поддерживающего COM-стандарты (Visual Studio, Delphi и пр.)
Элементы управления ActiveX Платформа 1СП8 позволяет внедрять в формы и табличные документы дополнительные элементы управления, поддерживающие технологию ActiveX
Макеты ActiveDocument Технология ActiveDocument предназначена для редактирования документов внешними по отношению к 1СП8 редакторами.
Работа с Интернет Работа ведется непосредственно из встроенного языка. Разработчик может выполнять отправку и прием писем электронной почты (как с использованием установленного на компьютер встроенного клиента, так и без него), а также осуществлять обмен данными по протоколам HTTP (HTTPS) и FTP
WEB-расширение Web-расширение является отдельным программным продуктом и позволяет встраивать доступ к данным 1СП8 в существующие Web-сайты и Web- приложения, а так же создавать готовые Web-приложения, использующие информационную базу 1СП8.
Обмен данными Механизмы обмена данными, реализованные в технологической платформе 1СП8, позволяют создавать территориально распределенные системы как на основе информационных баз 1СП8, так и других прикладных решений.

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