REST API Options for
Enterprise Data
[email protected]
Director of Product Marketing
June 2, 2018
Agenda
▪ Why are companies RESTifying enterprise data?
▪ Options to REST enable enterprise data
• Native Database REST API services
• Industry standard REST services
• Serverless Backend for Web and Mobile
▪ Summary of options for Progress OpenEdge
2 © 2018 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.
Why are companies
RESTifying enterprise data?
3 © 2018 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.
Post Application Era
▪ Check Mail With Virtual Assistant
▪ Get Mail Notification On Watch
▪ Reply To Message On Phone
MULTI CHANNEL APP EXPERIENCES
RATHER THAN SINGLE MAIL APP
4 © 2018 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.
The Enterprise Experience Gap
EXPERIENCES ENTERPRISE SYSTEMS
Enterprise Auth
Active Directory
Mobile Chat Bots
LDAP SAML 2.0
Wearables Enterprise Data
Smart Devices
API Mgmt
AR/VR Web
SaaS
5 © 2018 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.
Digitizing the Enterprise
What are the most Modernizing legacy systems 36%
important initiatives that
you will work on to achieve Integrating SaaS apps 32%
your organization’s
business goals? Investing in mobile apps 31%
(Combination of responses Migrating apps to the cloud 30%
ranked first, second or third)
Setting up an eCommerce platform 27%
Source: Mulesoft Connectivity Benchmark Report 2018
6 © 2018 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.
Core System Revitalization from Deloitte Insights
Impact, investment, and
potential of core systems
revitalization
Source: Deloitte Insights Global CIO Survey 2015
7 © 2018 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.
Use Cases for REST
Enabling Enterprise Data
8 © 2018 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.
1. Exposing Data to Third Parties through HTTP
HTTP / HTTPS
Enterprise
REST APIs
Enterprise Data
9 © 2018 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.
2. Web and Mobile Data Access
REST APIs
{JSON}
Enterprise Data
10 © 2018 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.
3. Centralized Data Access
11 © 2018 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.
Options to REST enable
enterprise data
12 © 2018 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.
Multiple Options
13 © 2018 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.
Native Database REST
API services
14 © 2018 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.
Industry is moving towards REST APIs
Cloud-Hosted Databases On-Premises Databases
Google Cloud OpenEdge REST Services
Azure Oracle REST Data Services
Database.com Teradata REST API
IBM Cloudant IBM DB2 Rest Services
MarkLogic REST API
15 © 2018 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.
ORDS - return all accounts
HTTP GET https://server:port/ords/ords-test/metadata-catalog/account
16 © 2018 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.
ORDS – return all opportunities for an account
Must define handler to generate response in PL/SQL
17 © 2018 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.
Industry standard
REST services
18 © 2018 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.
What is OData?
An open protocol to allow the creation and consumption of
queryable and interoperable RESTful APIs in a simple and standard way
STARTED BY RATIFIED AS AN
MICROSOFT IN ISO STANDARD IN
2007 FEB 2017
OASIS
STANDARD SINCE
FEB 2014
Progress was the first member to join
the OData Technical Committee
19 © 2018 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.
Broad Adoption for OData
20 © 2018 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.
URL Query Conventions
https://myodataserver/northwind
\________________________/
|
Service Root
https://myodataserver/northwind/Customers('ALFKI')/Orders?$expand=OrderDetails
\_________________________/\_____________________/\_________________/
| | |
Service Root Resource Path Query Options
21 © 2018 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.
Self Describing Service – Metadata Document
▪ Detailed description of the service
URL: <service_root>/$metadata
Entity Type Function
Complex Type Action
Type Properties Parameters
Property Attributes Parameter Attributes
Name,Type, MaxLength, Name,Type, MaxLength,
Precision, Scale, Nullable, more Precision, Scale, Nullable, more
Navigation Property Return Type (Function)
Key (EntityType) Type, Nullable
Function Import
Action Import
Information equivalent to SQL Tables, Columns, Primary Key, Foreign Key,
Procedures, ProcedureColumns, Functions, FunctionColumns metadata calls
22 © 2018 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.
OData Query Options
System Query Option Description SQL Construct
$filter Restrict the entities returned when querying an WHERE clause
entity set to those matching the filter criteria
$select Specify the properties to be included in the SELECT list
returned entities
$orderby Specify the sort order of the returned entities ORDER BY clause
$expand Include related entities and complex types INNER JOIN
nested in the returned entities
$top and $skip Enable client to page through results TOP/SKIP or LIMIT/OFFSET
$count Include the count of the number of entities COUNT(*)
returned in the result
$search Restrict the entities returned when querying an Full Text Search
entity set to those matching the search
expression
$format Specify the desired data format for the response N/A
23 © 2018 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.
Progress Hybrid Data Pipeline creates OData REST API
from your enterprise databases
• OData from any data
source
• No Coding
• No version control
needed
• Patented on-premises
gateway technology
24 © 2018 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.
Salesforce Reports with OData from Progress
Report with data
blended from Standard
and External Objects
(pulled on-demand from
on-premises SQL Server
25 © 2018 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.
Data Warehouse)
Intuit
Develops financial and tax preparation software and related
services for small businesses, accountants and individuals.
“ I wanted to know about
implementation complexity. Lekhter
told me that each rollout to a new
user group took only a week of
development. They push new
business capabilities into production
on a monthly basis. Lehkter credits the
ease of development to the heavy
lifting provided by Lightning Connect
and Progress connectivity.
Jerry Lekhter
Director of Engineering
”
26 © 2018 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.
Serverless Backend for Web
and Mobile Services
27 © 2018 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.
Serverless Cloud Backend on Enterprise Data
28 © 2018 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.
Progress Kinvey Serverless Cloud Services
End-to-End Node.js Data & File Data Data Cloud Push, email,
End-to-End
Encryption Node.js
PaaS Data & File
Storage Data
Connector Data Sync,
Sync Cloud Caching
Caching SMS
Push,
Encryption Microservices Storage Connectors Offline Email, SMS
& Resolution
Live Configuration
Systems
SoR of Live Service Configuration Access Data
Data Operational Auto-Scaling
Auto-Scaling
Service Settings
Record
Integration Settings Controls
Controls Orchestration
Orchestration Intelligence
FULLY INTEGRATED TO PROVIDE EXCEPTIONALLY FAST VALUE
29 © 2018 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.
“ If you’ve worked with SAP systems as
long as I have, you know that it’s no
simple thing to extend an ERP system
with mobility.
With Kinvey…the performance has been
unbelievable. I went from 14-second SAP
data access down to 400-millisecond
”
mobile-friendly data access.
Anubhav Gupta
Director SAP Applications
30 © 2018 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.
31 © 2018 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.
Summary of Options for
Progress OpenEdge
32 © 2018 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.
Options for Progress OpenEdge
Progress OpenEdge Progress DataDirect Progress Kinvey Mobile
REST Services with OData REST API for SDK and API for
PASOE OpenEdge OpenEdge REST
33 © 2018 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.
REST Service Interface Options for OpenEdge
Mapped RPC REST Service
Data Object Services (using REST transport)
(using REST transport) Custom/DIY WebHandler
Data Object Services (using WEB transport)
(using WEB transport) Data Object Handler WebHandler
(using WEB transport)
OData view of OpenEdge DB
(using Hybrid Data Pipeline) Mobile APIs / SDKs for OpenEdge
OData view of OpenEdge REST API (using Progress Kinvey)
(using HDP + ‘Project Sagamore’)
34 © 2018 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.
JSDO REST Service Interface Options
Mapped RPC REST Service
Data Object Services (using REST transport)
(using REST transport) Custom/DIY WebHandler
Data Object Services (using WEB transport)
(using WEB transport) Data Object Handler WebHandler
(using WEB transport)
OData view of OpenEdge DB
(using Hybrid Data Pipeline) Mobile APIs / SDKs for OpenEdge
OData view of OpenEdge REST API (using Progress Kinvey)
(using HDP + ‘Project Sagamore’)
35 © 2018 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.
Custom REST Service Interface Options
Mapped RPC REST Service
Data Object Services (using REST transport)
(using REST transport) Custom/DIY WebHandler
Data Object Services (using WEB transport)
(using WEB transport) Data Object Handler WebHandler
(using WEB transport)
OData view of OpenEdge DB
(using Hybrid Data Pipeline) Mobile APIs / SDKs for OpenEdge
OData view of OpenEdge REST API (using Progress Kinvey)
(using HDP + ‘Project Sagamore’)
36 © 2018 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.
Standardized REST Service Interface Options
Mapped RPC REST Service
Data Object Services (using REST transport)
(using REST transport) Custom/DIY WebHandler
Data Object Services (using WEB transport)
(using WEB transport) Data Object Handler WebHandler
(using WEB transport)
OData view of OpenEdge DB
(using Hybrid Data Pipeline) Mobile APIs / SDKs for OpenEdge
OData view of OpenEdge REST API (using Progress Kinvey)
(using HDP + ‘Project Sagamore’)
37 © 2018 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.
OData access to OpenEdge – Direct to Database
All connections can be encrypted
Cloud-host application
(i.e. Salesforce / Dynamics)
OData (HTTPS)
On-Premises
JDBC
OE
DB
38 © 2018 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.
OData access to OpenEdge – via Business Logic
All connections can be encrypted
Cloud-host application
(i.e. Salesforce / Dynamics)
OData (HTTPS)
On-Premises
REST REST/
OE API HTTPS “Project Sagamore”
DB Generic REST JDBC Driver
39 © 2018 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.
Standardized REST Service Interface Options
Mapped RPC REST Service
Data Object Services (using REST transport)
(using REST transport) Custom/DIY WebHandler
Data Object Services (using WEB transport)
(using WEB transport) Data Object Handler WebHandler
(using WEB transport)
OData view of OpenEdge DB
(using Hybrid Data Pipeline) Mobile APIs / SDKs for OpenEdge
OData view of OpenEdge REST API (using Progress Kinvey)
(using HDP + ‘Project Sagamore’)
40 © 2018 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.
Progress Kinvey Mobile SDKs and APIs
Web/HTML5 Mobile Third Party
Progress Kinvey
Serverless Cloud Backend
Microservices
Perimeter Network
41 © 2018 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.
Resources
▪ Overview of OpenEdge REST Services
• https://documentation.progress.com/output/ua/OpenEdge_latest/index.ht
ml#page/dvwsv%2Foverview-of-rest-web-services-in-openedge.html%23
▪ Progress DataDirect Hybrid Data Pipeline for databases such as
OpenEdge, SQL Server or Oracle
• https://www.progress.com/cloud-and-hybrid-data-integration
• https://www.progress.com/odata/openedge
▪ Progress Kinvey web/mobile APIs and SDKs
• https://www.progress.com/kinvey
42 © 2018 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.