Программные интерфейсы (API)
Методики программного взаимодействия с внешними информационными системами и оборудованием.
Варианты взаимодействия
Система «1С:Предприятие 8» является открытой системой. Она предоставляет возможность для интеграции практически с любыми внешними программами и оборудованием на основе общепризнанных открытых стандартов и протоколов передачи данных.
С помощью средств платформы «1С:Предприятие 8» можно организовать обмен файлами различных форматов, осуществлять доступ ко всем объектам системы из внешних приложений, поддерживать различные протоколы обмена и стандарты взаимодействия с другими подсистемами (XML, JSON и т. п.), работать с Интернетом и электронной почтой.
Система «1С:Предприятие 8» является открытой системой. Она предоставляет возможность для интеграции практически с любыми внешними программами и оборудованием на основе общепризнанных открытых стандартов и протоколов передачи данных.
С помощью средств платформы «1С:Предприятие 8» можно организовать обмен файлами различных форматов, осуществлять доступ ко всем объектам системы из внешних приложений, поддерживать различные протоколы обмена и стандарты взаимодействия с другими подсистемами (XML, JSON и т. п.), работать с Интернетом и электронной почтой.
Платформа «1С:Предприятие 8» поддерживает в прикладных решениях возможность создания web- и HTTP-сервисов и работу с внешними web- и HTTP-сервисами. Поддерживается доступ внешних систем к данным приложений 1С по протоколу OData.
Решения на платформе «1С:Предприятие 8» могут интегрироваться с различным оборудованием, в том числе торговым и складским (терминалы сбора данных, терминалы обслуживания пластиковых карт и т. п.). Интеграция с популярным торговым и промышленным оборудованием доступна во многих типовых решениях «из коробки».
Механизм распределенных информационных баз позволяет быстро создавать территориально распределенные системы на платформе «1С:Предприятие 8».
Универсальный механизм обмена данными позволяет организовать взаимодействие с различными информационными системами, в том числе реализованными не на платформе «1С».
Конвертация данных
Механизмы обмена данными позволяют создавать территориально распределенные информационные системы обменивающиеся данным в офф-лайн режиме, без постоянного соединения. С помощью этих механизмов можно осуществлять интеграцию не только между различными информационными базами «1С:Предприятия 8», но и строить сложные гетерогенные информационные системы, включающие, наряду с решениями на платформе «1С:Предприятие 8», еще и внешние приложения.
Механизмы обмена данными позволяют создавать территориально распределенные информационные системы обменивающиеся данным в офф-лайн режиме, без постоянного соединения. С помощью этих механизмов можно осуществлять интеграцию не только между различными информационными базами «1С:Предприятия 8», но и строить сложные гетерогенные информационные системы, включающие, наряду с решениями на платформе «1С:Предприятие 8», еще и внешние приложения.
Платформа обеспечивает работу двух механизмов обмена данными:
- Механизм распределенных информационных баз предназначен для обмена данными только с идентичными конфигурациями «1С:Предприятия 8» и жестко регламентирует структуру создаваемой системы. Он является аналогом компоненты «Управление распределенными информационными базами», существующей в технологической платформе «1С:Предприятия 7.7», однако существенно превосходит этот механизм по гибкости настройки и разнообразию поддерживаемых схем обмена.
- Универсальный механизм обмена данными, напротив, позволяет создавать произвольные распределенные системы и практически не накладывает никаких ограничений на структуру создаваемой системы.
Оба эти механизма используют ряд средств технологической платформы, которые разработчик может применять как по отдельности, так и в различных комбинациях, в зависимости от конкретной решаемой задачи. Такой подход позволяет обеспечить гибкость механизмов обмена и их настраиваемость на решение как можно большего круга задач.
Механизм web-сервисов
Web-сервисы — это один из механизмов платформы, используемых для интеграции с другими информационными системами. Он является средством поддержки SOA (Service-Oriented Architecture) — сервис-ориентированной архитектуры, которая является современным стандартом интеграции приложений и информационных систем.
Значительным преимуществом сервис — ориентированной архитектуры является то, что она позволяет развивать инфраструктуру предприятия однородным образом, без разрушения уже существующих решений. Ее использование позволяет минимизировать издержки за счет интеграции разнородных и унаследованных систем в современный ландшафт предприятия. Она позволяет реализовывать слабо связные программные компоненты с тем, чтобы максимально повысить их повторную используемость.
Web-сервисы — это один из механизмов платформы, используемых для интеграции с другими информационными системами. Он является средством поддержки SOA (Service-Oriented Architecture) — сервис-ориентированной архитектуры, которая является современным стандартом интеграции приложений и информационных систем.
Значительным преимуществом сервис — ориентированной архитектуры является то, что она позволяет развивать инфраструктуру предприятия однородным образом, без разрушения уже существующих решений. Ее использование позволяет минимизировать издержки за счет интеграции разнородных и унаследованных систем в современный ландшафт предприятия. Она позволяет реализовывать слабо связные программные компоненты с тем, чтобы максимально повысить их повторную используемость.
Сервис-ориентированная архитектура интенсивно развивается и поддерживается крупными вендорами. Она строится на базе сервисов, автономных или управляемых извне. Предпочтительным способом их реализации являются веб-сервисы. Они независимы от платформы, автономны и поддерживаются повсеместно.
Прикладное решение 1С:Предприятия 8 может являться как поставщиком веб-сервисов, так и потребителем веб-сервисов, опубликованных другими поставщиками.
Механизм HTTP-сервисов
В дополнение к автоматическому REST интерфейсу прикладного решения в платформе существует возможность создания собственных произвольных HTTP-сервисов в прикладном решении.
Разработчик самостоятельно, с помощью встроенного языка, формирует ответ на запрос. При этом есть удобный доступ к телу, заголовкам и строке исходного запроса, а также есть возможность формировать код, тело и заголовки ответа по своему усмотрению.
В дополнение к автоматическому REST интерфейсу прикладного решения в платформе существует возможность создания собственных произвольных HTTP-сервисов в прикладном решении.
Разработчик самостоятельно, с помощью встроенного языка, формирует ответ на запрос. При этом есть удобный доступ к телу, заголовкам и строке исходного запроса, а также есть возможность формировать код, тело и заголовки ответа по своему усмотрению.
- Простота программирования клиента таких сервисов;
- Потенциально меньший объем передаваемых данных;
- Потенциально меньшая вычислительная нагрузка;
- HTTP-сервисы ориентированы на «ресурсы», в то время как SOAP сервисы ориентированы на «действия».
Первые три фактора особенно важны для приложений, работающих на мобильных устройствах.
Можно использовать HTTP-сервисы как «легкие» RPC-сервисы, не требующие сложной подготовки XML-пакетов. Методы могут идентифицироваться в URL, а параметры могут передаваться в опциях запроса, или в его теле. В последнем случае такие сервисы уже вплотную приближаются как SOAP, проигрывая ему в четкости спецификации, но выигрывая в гибкости.
Протокол OData
Платформа может автоматически формировать REST интерфейс для всего прикладного решения. После того, как прикладное решение опубликовано на веб-сервере, сторонние системы могут обращаться к нему через REST интерфейс с помощью HTTP запросов. Благодаря универсальности и кроссплатформенности автоматически генерируемый REST интерфейс является основным инструментом для интеграции со сторонними системами.
REST интерфейс позволяет читать данные 1С:Предприятия, изменять их, создавать новые объекты данных и удалять существующие.
Платформа может автоматически формировать REST интерфейс для всего прикладного решения. После того, как прикладное решение опубликовано на веб-сервере, сторонние системы могут обращаться к нему через REST интерфейс с помощью HTTP запросов. Благодаря универсальности и кроссплатформенности автоматически генерируемый REST интерфейс является основным инструментом для интеграции со сторонними системами.
REST интерфейс позволяет читать данные 1С:Предприятия, изменять их, создавать новые объекты данных и удалять существующие.
- Интеграция прикладного решения с интернет-сайтами и интернет-магазинами;
- Реализация сторонними средствами дополнительной функциональности прикладного решения без изменения его конфигурации;
- Загрузка данных в прикладное решение и выгрузка данных из него;
- Интеграция прикладного решения с корпоративными системами, возможно даже без дополнительного программирования.
- Получение списка документов, справочников, записей регистра сведений и т.п., возможно с фильтром;
- Получение данных элемента справочника, документа (по ссылке), данных записи независимого регистра сведений (по ключу), данных набора записей подчинённого регистра (по регистратору);
- Редактирование данных одного элемента справочника, документа и другого ссылочного объекта;
- Создание нового элемента справочника, документа, набора записей;
- Проведение одного документа, старт бизнес-процесса.
В качестве протокола доступа платформа использует протокол OData версии 3.0. Это открытый веб-протокол для запроса и обновления данных. Он позволяет оперировать данными, используя в качестве запросов HTTP-команды. Получать ответы можно в формате Atom/XML или JSON.
COM-соединение
Основная задача, решаемая с помощью внешнего соединения — обеспечение надежного и быстрого программного доступа к данным 1С:Предприятия 8 из внешних приложений.
- создается менеджер COM-соединений, с помощью которого производится установка соединения;
- через полученный объект внешнего соединения производится обращение к допустимым методам, свойствам и объектам базы данных, с которой установлено соединение.
Основная задача, решаемая с помощью внешнего соединения — обеспечение надежного и быстрого программного доступа к данным 1С:Предприятия 8 из внешних приложений.
- создается менеджер COM-соединений, с помощью которого производится установка соединения;
- через полученный объект внешнего соединения производится обращение к допустимым методам, свойствам и объектам базы данных, с которой установлено соединение.