OData Connector Power of Programming
OData Connector
Power of Programming
Abstract
Do you want the power of programming directly against OData services? – Odata is increasingly used by major CRM and ERP vendors as the preferred method to consume data. In this session we will discuss how to connect to an OData service and view all of the entity sets exposed. We will cover some of the challenges and benefits of using the new OData connector in your integration design.
What is Odata?
Open Data Protocol (OData)
Open protocol allows the creation and
consumption of queryable and
interoperable restful APIs
Microsoft CentricProvides database-like access to your data –“ODBC for the Web”
Data Providers
Private Apps SQL SQL Azure
Azure Data Marketplace
Data.gov
ERP
AX Odata NAV GP SL
SAP Netsuite Accumatica
Why Do I Care About Odata?
EasyAzure Data
Marketplace
Microsoft ERP
Direction to Odata
ERP Implications
Augment Customer Data
Data Enhancement
Not all support CRUD operations
ERP direction regarding OData
Implementation varies greatly between all the apps. Some are "fully baked" api's great for querying and interacting with app
Microsoft has indicated that every ERP system will have ubiquitous OData hooks
Scribe Online oData ConnectorFeatures and Limits
OData protocol version 3.0
Delete Operation
Optimistic Concurrency
OData Metadata Not Supported
Edm.Geography
Edm.GeographyPoint
Edm.GeographyLineString
Edm.GeographyPolygon
Edm.GeographyMultiPoint
Edm.GeographyMultiLineString
Dynamics CRM: Query -
Each time that you retrieve records, only the
top 50 records in your query are returned
Odata Integration Pallette
Update Replace
A replacement update issues a PUT request. The OData service replaces all property values with those specified in the request.
Any properties not included in the request (i.e. unmapped fields) are either cleared or set to their default values. Any data in fields with unsupported data types is lost.
Optimistic Concurrency = Record Locking Lite
Entity Tags (ETag) to determine how to update or delete data The OData Connector exposes these ETags as fields.
The ETag field is available as a source and target
Optimistic Concurrency is optional
Batch Processing
The OData Connector supports batch processing if your OData service also supports batch processing. The number of records allowed per batch will vary depending on the OData service.
Update Patch And Update Merge
The OData service replaces exactly those property values that are specified in the request (i.e. mapped fields). Any properties not included in the request are not altered.
Conditional Success
When you insert or update a record, some services may indicate success but also return error information in the response
Integration in Action
NAV Configuration
NAV Specific Limits
Filters OK
Querying related entities through joins are unsupported –.
What fields are Exposed?
http://localhost:7048/DynamicsNAV70/OData/$metadata
Tips/Tricks/Gottcha’s
If you try to use an operation that is not implemented in your OData service, you may see an error message.
Basic Authentication only (a Scribe limitation to not support OAuth with OData connector)