Меню


Курсы СтимулСправочникПолезные материалы1С:Предприятие 8.2РазработчикамДемонстрационные конфигурац…

1С:Предприятие 8.2 /
Разработчикам /
Демонстрационные конфигурации

Оглавление

Использование REST web-сервисов в "1C:Предприятии 8"

REST (REpresentation State Transfer) подход является одним из наиболее популярных подходов, использующихся для реализации web-сервисов в Интернете. REST web-сервисы являются более легковесными альтернативами SOAP веб-сервисам.

REST с технической точки зрения не является ни технологией, ни стандартом. Это всего-лишь подход, если можно так сказать, набор принципов, которые помогают реализовать "правильный" web-сервис. Под "правильным" здесь понимается масштабируемый, безопасный, надежный, легкий в использовании и т.д.

REST определяет следующие принципы построения web-сервисов:

Преимуществами REST подхода являются:

  1. Возможность работы на уже существующей HTTP инфраструктуре - Web-серверах, Web-браузерах и др. ;
  2. Простота использования и высокая совместимость между реализациями, за счет того, что кодирование данных сведено к минимуму. Кодируются только прикладные данные (т.е. то, что нужно передать), вспомогательная маркировка данных (например, такая как soap:Envelope) не используется;
  3. Хорошая масштабируемость, т.к. REST протоколы не поддерживают состояния между вызовами;
  4. Хорошая безопасность, которая опять таки основана на HTTP инфраструктуре.

Недостатки REST'а являются продолжением его достоинств:

  1. Сложно использовать вне HTTP, т.к. нет ни соответствующих стандартов, ни существующих реализаций;
  2. Сложно использовать в Entreprise решениях, где требуется поддержка достаточно сложного состояния (например, наличия сессий и др.);
  3. Полная зависимость от транспорта в таких вопросах как безопасность, маршрутизация сообщений и пр., что может негативно сказаться на работе такого сервиса в гетерогенной среде.

Протокол, который основывается на принципах 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


Нас находят: rest 1c


Подписка на новости RSS

Мы на Facebook