Possibilities for the bpm'online integration over the OData protocol
Glossary Item Box
General
Open Data (OData) protocol is an open web-protocol for requesting and updating data based on the REST architectural trekking using the Atom/XML and JSON standards .
The access to the bpm'online data and objects over the OData protocol may be received by any third-party application, which supports exchange with HTTP messages and may process XML or JSON data. In this case, data are available in the form of resources addressed over URI .
The access to data and its modification is implemented with the help of standard HTTP – GET, PUT/MERGE, POST and DELETE commands .
ATTENTION Using PUT and DELETE HTTP methods will cause “405 Method not allowed” error until WebDAV HTTP extension is switched off in application Web.Config. |
Working over the OData has several features conditioned by the specifics of the REST approach :
- The application server does not store session status. All data required for a request processing is contained in the request itself .
- OData objects have the idempotence property. This means that a repeated action over an object does not modify the latter.
- When the GET request receives the object value, no modification of this or any other object must occur.
Today, a large number of client libraries for work with OData have been developed for popular application and mobile platforms, including:
- .NET
- Silverlight
- JavaScript/HTML5
- Java
- PHP
- Ruby
- WP7
- Android
- iOS
All client libraries for working with OData may be downlowded using the following link http://www.odata.org/libraries.
Implementation of the OData protocol in bpm'online
The bpm'online application supports the following operations with objects and their collections over the OData protocol:
Group of operations | Operations |
---|---|
Operations with objects |
|
Functions of work with strings |
|
Functions of work with date and time |
|
NOTE Please note that bpm'online implements the forced paging when returning resultant objects collections. A request returns first 40 objects by default. To modify the default paging implementation, standard structures of OData requests may be used: $top, $skip, $orderby . |
Below are the examples of building requests for access to bpm'online objects over the OData protocol .
Work with bpm'online objects over the OData protocol
OData service for access to bpm'online objects
The access to bpm'online entities over the OData protocol is provided by the EntityDataService.svc web-service.
The address of the EntityDataService.svc service is as follows:
http[s]://<name_address_of_bpm'online>/0/ServiceModel/EntityDataService.svc
Example
https://myserver.com/BpmonlineWebApp/0/ServiceModel/EntityDataService.svc
The data model of the EntityDataService.svc service is described in its metadata which can be received using the standard OData syntaxes structure — $metadata.
Example
https://myserver.com/BpmonlineWebApp/0/ServiceModel/EntityDataService.svc/$metadata
Request authetication
All requests to bpm'online must be authenticated .
The authentication methods supported by bpm'online are described in the article Authenticating external requests to bpm'online services.
Examples of implementing the access to bpm'online objects over the OData protocol
- Working with bpm'online objects over the OData protocol using Http request
- Working with bpm'online objects over the OData protocol WCF-client