Creatio development guide
Это документация Creatio версии 7.8.0. Мы рекомендуем использовать новую версию документации.

Возможности интеграции с bpm'online по протоколу OData

Glossary Item Box

Общая информация

Протокол Open Data (OData) — это открытый веб–протокол для запроса и обновления данных, базирующийся на архитектурном подходе REST с применением стандартов Atom/XML и JSON.

Доступ к данным и объектам bpm'online по протоколу OData может получить любое стороннее приложение, которое поддерживает обмен сообщениями HTTP и может обрабатывать данные XML или JSON. При этом данные доступны в виде ресурсов, адресуемых через URI.

Доступ к данным и их изменение осуществляется с помощью стандартных HTTP–команд GET, PUT/MERGE, POST и DELETE.

ВАЖНО

Использование HTTP–методов PUT и DELETE приведет к ошибке "405 Method not allowed", если не отключить HTTP расширение WebDAV в файле Web.Config настройки приложения.

Работа по протоколу OData имеет ряд особенностей, которые обусловлены спецификой REST–подхода:

  • Сервер приложений не хранит состояния сессии. Вся информация, необходимая для обработки запроса, содержится в самом запросе.
  • Объекты OData обладают свойством идемпотентности. То есть повторное действие над объектом не изменяет его. 
  • При получении значения объекта GET–запросом не должно происходить изменение данного или любого другого объекта.

В настоящее время разработано большое количество клиентских библиотек по работе с OData для популярных прикладных и мобильных платформ, в том числе для:

  •  .NET
  • Silverlight
  • JavaScript/HTML5
  • Java
  • PHP
  • Ruby
  • WP7
  • Android
  • iOS

Все клиентские библиотеки по работе с OData доступны для загрузки по адресу http://www.odata.org/libraries.

Реализация протокола OData в bpm'online

Приложение bpm'online поддерживает следующие операции с объектами и их коллекциями по протоколу OData:

Группа операций Операции
Операции с объектами
  • Добавление объекта
  • Обновление объекта
  • Удаление объекта
  • Добавление связей между объектами
  • Удаление связей между объектами
  • Получение метаданных — описание всех бизнес–сущностей
  • Получение коллекции объектов
  • Получение конкретного объекта
  • Получение отдельного поля конкретного объекта
  • Выборка нескольких полей конкретного объекта
  • Расширение объекта полями из справочных объектов
  • Сортировка объектов
  • Получение первых N объектов коллекции
  • Возврат коллекции объектов, пропустив первые N объектов (с N+1 объекта)
  • Все арифметические и логические операции, поддерживаемые протоколом
  • Группировка фильтров
Функции работы со строками
  • bool substringof(string po, string p)
  • string toupper(string p0)
  • bool endswith(string p0, string p1)
  • bool startswith(string p0, string p1)
  • int length(string p0)
  • string trim(string p0)
Функции работы с датой и временем
  • int year (DateTime p0)
  • int month(DateTime p0)
  • int day(DateTime p0)

К СВЕДЕНИЮ

Необходимо учитывать, что в bpm'online реализована принудительная постраничность при возврате результирующих коллекций объектов. Так, по умолчанию запрос возвращает первые 40 объектов. Для изменения реализации постраничности по умолчанию можно использовать стандартные конструкции запросов OData: $top, $skip, $orderby.

Примеры построения запросов для доступа к объектам bpm'online по протоколу OData приведены ниже.

Работа с объектами bpm'online по протоколу OData

Сервис OData для доступа к объектам bpm'online

Доступ к сущностям bpm'online по протоколу OData предоставляет веб–сервис EntityDataService.svc.

Адрес сервиса EntityDataService.svc:

http[s]://<имя_адрес_приложения_bpm'online>/0/ServiceModel/EntityDataService.svc

Пример

https://myserver.com/BpmonlineWebApp/0/ServiceModel/EntityDataService.svc

Модель данных сервиса EntityDataService.svc описывается в его метаданных, которые можно получить, используя стандартную конструкцию синтаксиса OData — $metadata.

Пример

http://myserver.com/BpmonlineWebApp/0/ServiceModel/EntityDataService.svc$metadata

Аутентификация запросов

Все запросы к bpm'online должны быть аутентифицированы. 

Поддерживаемые bpm'online способы аутентификации описаны в статье Аутентификация внешних запросов к веб-сервисам bpm'online.

Примеры реализации доступа к объектам bpm'online по протоколу OData

Смотрите также

© Terrasoft 2002-2016.

Был ли данный материал полезен?

Как можно улучшить эту статью?