1С:Предприятие 8.2 /
Разработчикам /
Демонстрационные конфигурации
Использование REST web-сервисов в "1C:Предприятии 8"
REST (REpresentation State Transfer) подход является одним из наиболее популярных подходов, использующихся для реализации web-сервисов в Интернете. REST web-сервисы являются более легковесными альтернативами SOAP веб-сервисам.
REST с технической точки зрения не является ни технологией, ни стандартом. Это всего-лишь подход, если можно так сказать, набор принципов, которые помогают реализовать "правильный" web-сервис. Под "правильным" здесь понимается масштабируемый, безопасный, надежный, легкий в использовании и т.д.
REST определяет следующие принципы построения web-сервисов:
- Функциональность приложения делится на набор ресурсов. Каждый ресурс может выполнять определенное действие (REST ресурс является аналогом SOAP операции). Например, ресурс получения новостей выдает список заголовков текущих новостей;
- Каждый ресурс имеет уникальный идентификатор (URL), по которому к нему можно обратиться как из программного кода, так и из Web-браузера;
- Все ресурсы используют унифицированный интерфейс для передачи данных между клиентом и ресурсом. Интерфейс имеет ограниченный набор операций и типов данных для передачи. Как правило, в качестве транспорта используется инфраструктура HTTP, а набор операций, которые можно выполнить над ресурсом, определяется HTTP стандартом. Наиболее используемыми операциями могут быть: HTTP GET - получение данных от ресурса и HTTP POST отправка данных в ресурс. Также могут использоваться HTTP PUT, HTTP DELETE и т.д.;
- REST протокол взаимодействия (RESTful) должен быть клиент-серверным и не иметь состояния.
Преимуществами REST подхода являются:
- Возможность работы на уже существующей HTTP инфраструктуре - Web-серверах, Web-браузерах и др. ;
- Простота использования и высокая совместимость между реализациями, за счет того, что кодирование данных сведено к минимуму. Кодируются только прикладные данные (т.е. то, что нужно передать), вспомогательная маркировка данных (например, такая как soap:Envelope) не используется;
- Хорошая масштабируемость, т.к. REST протоколы не поддерживают состояния между вызовами;
- Хорошая безопасность, которая опять таки основана на HTTP инфраструктуре.
Недостатки REST'а являются продолжением его достоинств:
- Сложно использовать вне HTTP, т.к. нет ни соответствующих стандартов, ни существующих реализаций;
- Сложно использовать в Entreprise решениях, где требуется поддержка достаточно сложного состояния (например, наличия сессий и др.);
- Полная зависимость от транспорта в таких вопросах как безопасность, маршрутизация сообщений и пр., что может негативно сказаться на работе такого сервиса в гетерогенной среде.
Протокол, который основывается на принципах REST, является RESTful протоколом. Два наиболее популярных типа RESTful протоколов это JSON (JavaScript Object Notation) и POX (Plain Old XML). JSON использует для кодирования данных JavaScript и в основном применяется в Ajax (Asynchronous JavaScript and XML) клиентах для обмена данными с сервером. Поскольку Ajax клиенты работают в браузере, который понимает JavaScript, то использование JavaScript позволяет сэкономить как на объеме передаваемых данных, так и на времени разбора данных. Однако использование JSON в других клиентах проблематично, т.к. клиенты, как правило, не поддерживают JavaScript.
POX использует для кодирования данных XML и поэтому может использоваться практически везде. В прилагаемой конфигурации показано как в клиенте 1С:Предприятия можно использовать такой веб-сервис.
В демонстрационной конфигурации реализован простейший агрегатор новостей, который получает заголовки новостей от заданного новостного сервиса и показывает их в списке. Для обмена данными используется стандарт RSS (Really Simple Syndication), являющийся разновидностью POX протокола.
Демонстрационная конфигурация иллюстрирует, насколько просто можно использовать REST web-сервисы. Для этого нужно:
Создать HTTPСоединение
Соединение = Новый HTTPСоединение(Сервер); ИмяФайла = ПолучитьИмяВременногоФайла(".rss"); Соединение.Получить(Ресурс, ИмяФайла);
Выполнить разбор полученных XML данных и добавить их в список заголовков новостей:
ПараметрыЧтенияXML = Новый ПараметрыЧтенияXML(,,,, true, true, true, true, true); ЧтениеXML = Новый ЧтениеXML; ЧтениеXML.ОткрытьФайл(ИмяФайла, ПараметрыЧтенияXML); ЧтениеXML.Прочитать(); Если ЧтениеXML.Имя = "rss" Тогда Элементы.Очистить(); РазборRSS(ЧтениеXML); Иначе Сообщить("Ошибка разбора RSS."); КонецЕсли; ЧтениеXML.Закрыть();
Чтобы ознакомиться с результатом, в приложенной демонстрационной конфигурации запустите обработку RSSАгрегатор и в открывшейся форме нажмите кнопкуВыполнить.
Стоит упомянуть, что на данный момент 1С:Предприятие может выступать только в качестве клиента REST web-сервисов.
Таким образом, REST не может являться полноценной заменой SOAP web-сервисов, а скорее дополняет их. Основной областью применения REST веб-сервисов являются легковесные web-сервисы с достаточно простой бизнес логикой, используемые в Глобальной Сети, тогда как удел SOAP web-сервисов - более тяжеловесные Enterprise решения, применяемые как в интернете, так и в локальных сетях предприятий.
Дистрибутив демонстрационной конфигурации находится в каталоге 1CITS\EXE\RSSClient
Другие материалы по теме:
ошибка разбора rss., клиенты, установить демонстрационную конфигурацию, добавить..., зависимость, (не используется), подход, функциональность, сервер, интерфейс, клиент, буфер обмена, копировать, выполнить, конфигурация, список, обмен, сервис, использование, например, конфигурирование, предприятие, пример, конфигурации
Материалы из раздела: 1С:Предприятие 8.2 / Разработчикам / Демонстрационные конфигурации
Другие материалы по теме:
Использование REST web-сервисов в "1C:Предприятии 8"
Общесистемные механизмы и принципы
Процесс исполнения встроенного языка 1С:Предприятия
Методика перевода работы пользователей на другую информационную базу
Нас находят: rest 1c
Мы на Facebook