OData Hackathon
Challenge at APIWorld
+ Integrate 2016
Sponsored by Progress DataDirect
Sumit Sarkar, Chief Data Evangelist
Saikrishna Teja Bobba, Developer Evangelist
© 2016 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.2
AGENDA
OVERVIEW OF ODATA OASIS STANDARD
URL CONVENTIONS
ADOPTERS IN ANALYTICS AND
SUPPORTING ARCHITECTURES
ODATA @ PROGRESS
© 2016 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.3
OVERVIEW OF ODATA OASIS
STANDARD
© 2016 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.4
An open protocol to allow the creation and consumption of
queryable and interoperable RESTful APIs in a simple and standard way.
• Started by Microsoft in 2007
• Ratified as an OASIS standard on February, 2014
Progress was first member of OData Technical Committee following Microsoft
What is OData?
© 2016 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.5
REST is great, But..
 It’s a style – not a standard
 Metadata support?
 Limited querying capabilities
© 2016 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.6
Why OData?
 Operations built on REST principles
 Uniform URL conventions
 Surfaces metadata by default
 Interoperability
© 2016 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.7
http://services.odata.org/OData/OData.svc
__________________________________/
|
service root URI
http://services.odata.org/OData/OData.svc/Category(1)/Products?$top=2&$orderby=name
__________________________________/ ________________/ __________________/
| | |
service root URI resource path query options
URL Conventions
© 2016 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.8
URL Query Conventions
$SELECT /Products?$select=*,Category/Name
/Suppliers?$filter=Address/City eq 'Redmond’
/Products?$orderby=ReleaseDate asc, Rating desc
/Products?$select=*,Category/Name&$expand=Categor
y
$FILTER
$ORDERBY
$EXPAND
/Products?$top=5&$skip=2$TOP $SKIP
© 2016 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.9
OData Libs - http://www.odata.org/libraries/
.NET, Java, Javascript, C++
OData4j
Apache Olingo
ODataJS
Node-odata
ODataCpp
RESTier
WCF Data Services
Visual Studio Lightswitch
ODataPy
© 2016 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.10
ADOPTERS: POWER IN NUMBERS
© 2016 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.11
Broad Adoption
© 2016 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.12
ODATA @ PROGRESS
© 2016 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.13
Progress DataDirect Cloud
OData
© 2016 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.14
Project Mustang Beta
© 2016 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.15
Other areas of Progress adopting OData
© 2016 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.16
CHALLENGE
© 2016 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.17
Integrate 2016 Hackathon Challenge [http://bit.ly/hackodata]
Build a skill set for voice assistant services like Amazon Echo(Alexa) or
Microsoft Cortana making the best use of OData API.
Challenge Rules
You have to build the skill that can connect to atleast two CRM solutions and the questions
that you ask should be interoperable between the CRM Solutions. Example CRM Solutions
that you can work on are Salesforce, Microsoft Dynamics CRM and Sugar CRM.
You have to consume OData API in order to develop the skill. We recommend using
Progress DataDirect Cloud to generate OData feed from the CRM Solutions that you are
interested with.
If you have any questions or if you want to talk to our team, we are also
available on Slack
OData Hackathon Challenge

OData Hackathon Challenge

  • 1.
    OData Hackathon Challenge atAPIWorld + Integrate 2016 Sponsored by Progress DataDirect Sumit Sarkar, Chief Data Evangelist Saikrishna Teja Bobba, Developer Evangelist
  • 2.
    © 2016 ProgressSoftware Corporation and/or its subsidiaries or affiliates. All rights reserved.2 AGENDA OVERVIEW OF ODATA OASIS STANDARD URL CONVENTIONS ADOPTERS IN ANALYTICS AND SUPPORTING ARCHITECTURES ODATA @ PROGRESS
  • 3.
    © 2016 ProgressSoftware Corporation and/or its subsidiaries or affiliates. All rights reserved.3 OVERVIEW OF ODATA OASIS STANDARD
  • 4.
    © 2016 ProgressSoftware Corporation and/or its subsidiaries or affiliates. All rights reserved.4 An open protocol to allow the creation and consumption of queryable and interoperable RESTful APIs in a simple and standard way. • Started by Microsoft in 2007 • Ratified as an OASIS standard on February, 2014 Progress was first member of OData Technical Committee following Microsoft What is OData?
  • 5.
    © 2016 ProgressSoftware Corporation and/or its subsidiaries or affiliates. All rights reserved.5 REST is great, But..  It’s a style – not a standard  Metadata support?  Limited querying capabilities
  • 6.
    © 2016 ProgressSoftware Corporation and/or its subsidiaries or affiliates. All rights reserved.6 Why OData?  Operations built on REST principles  Uniform URL conventions  Surfaces metadata by default  Interoperability
  • 7.
    © 2016 ProgressSoftware Corporation and/or its subsidiaries or affiliates. All rights reserved.7 http://services.odata.org/OData/OData.svc __________________________________/ | service root URI http://services.odata.org/OData/OData.svc/Category(1)/Products?$top=2&$orderby=name __________________________________/ ________________/ __________________/ | | | service root URI resource path query options URL Conventions
  • 8.
    © 2016 ProgressSoftware Corporation and/or its subsidiaries or affiliates. All rights reserved.8 URL Query Conventions $SELECT /Products?$select=*,Category/Name /Suppliers?$filter=Address/City eq 'Redmond’ /Products?$orderby=ReleaseDate asc, Rating desc /Products?$select=*,Category/Name&$expand=Categor y $FILTER $ORDERBY $EXPAND /Products?$top=5&$skip=2$TOP $SKIP
  • 9.
    © 2016 ProgressSoftware Corporation and/or its subsidiaries or affiliates. All rights reserved.9 OData Libs - http://www.odata.org/libraries/ .NET, Java, Javascript, C++ OData4j Apache Olingo ODataJS Node-odata ODataCpp RESTier WCF Data Services Visual Studio Lightswitch ODataPy
  • 10.
    © 2016 ProgressSoftware Corporation and/or its subsidiaries or affiliates. All rights reserved.10 ADOPTERS: POWER IN NUMBERS
  • 11.
    © 2016 ProgressSoftware Corporation and/or its subsidiaries or affiliates. All rights reserved.11 Broad Adoption
  • 12.
    © 2016 ProgressSoftware Corporation and/or its subsidiaries or affiliates. All rights reserved.12 ODATA @ PROGRESS
  • 13.
    © 2016 ProgressSoftware Corporation and/or its subsidiaries or affiliates. All rights reserved.13 Progress DataDirect Cloud OData
  • 14.
    © 2016 ProgressSoftware Corporation and/or its subsidiaries or affiliates. All rights reserved.14 Project Mustang Beta
  • 15.
    © 2016 ProgressSoftware Corporation and/or its subsidiaries or affiliates. All rights reserved.15 Other areas of Progress adopting OData
  • 16.
    © 2016 ProgressSoftware Corporation and/or its subsidiaries or affiliates. All rights reserved.16 CHALLENGE
  • 17.
    © 2016 ProgressSoftware Corporation and/or its subsidiaries or affiliates. All rights reserved.17 Integrate 2016 Hackathon Challenge [http://bit.ly/hackodata] Build a skill set for voice assistant services like Amazon Echo(Alexa) or Microsoft Cortana making the best use of OData API. Challenge Rules You have to build the skill that can connect to atleast two CRM solutions and the questions that you ask should be interoperable between the CRM Solutions. Example CRM Solutions that you can work on are Salesforce, Microsoft Dynamics CRM and Sugar CRM. You have to consume OData API in order to develop the skill. We recommend using Progress DataDirect Cloud to generate OData feed from the CRM Solutions that you are interested with. If you have any questions or if you want to talk to our team, we are also available on Slack