SlideShare a Scribd company logo
REST-Enabling Enterprise Data in the
Mobile Era
Ben Busse
Product Lead, DreamFactory
http://www.dreamfactory.com
Lessons learned
Reusable APIs
Mobile use case examples
What makes a good REST
API for mobile apps?
Lessons learned
Typical enterprise mobile project:
More than HALF of time spent on
backend integration and testing!
One-off APIs for each new project
slows you down
The problem is compounded by
mobile
Large enterprises need to deploy
THOUSANDS of mobile apps!
App 1
File
Storage
SQL
Database
NoSQL
Documents
External
Services
NoSQL
Documents
External
Services
App 1
App 1
File
Storage
SQL
Database
NoSQL
Documents
External
Services
NoSQL
Documents
External
Services
App 1 App 2
File
Storage
SQL
Database
NoSQL
Documents
External
Services
NoSQL
Documents
External
Services
App 1 App 2
File
Storage
SQL
Database
NoSQL
Documents
External
Services
NoSQL
Documents
External
Services
App 1 App 2 App 3
File
Storage
SQL
Database
NoSQL
Documents
External
Services
NoSQL
Documents
External
Services
App 1 App 2 App 3 App 4
File
Storage
SQL
Database
NoSQL
Documents
External
Services
NoSQL
Documents
External
Services
API Complexity
New APIs for every project
Tightly linked to data sources
Tightly linked to backend infrastructure
Poorly documented
Difficult to scale, not portable
Many security vulnerabilities
Server-side software development
Time consuming interface negotiation
Client-Side
Team
Server-Side
Team
The Interface Negotiation
Testing
New
Application
Requirements
New
REST API
Services
App 1 App 2 App 3 App 4
File
Storage
SQL
Database
NoSQL
Documents
External
Services
NoSQL
Documents
External
Services
• API Creation Tools
– Generates more complexity faster
• API Management Tools
– Introduces additional proxy endpoint
– Increases overall complexity of the system
– Still writing one-off APIs!
• Mobile Device Management
– Control the data, not the devices
Complexity Band-Aids
Reusable APIs for each new
project
speeds you up
Invert the problem
Start with the data, not the apps.
Reusable Set of REST APIs
App 1 App 2 App 3 App 4
File
Storage
SQL
Database
NoSQL
Documents
External
Services
Reusable Set of REST APIs
App 1 App 2 App 3 App 4
File
Storage
SQL
Database
NoSQL
Documents
External
Services
Reusable Set of REST APIs
App 1 App 2 App 3 App 4
File
Storage
SQL
Database
NoSQL
Documents
External
Services
Reusable APIs for any new project
Customization for special cases
Focus on front-end app development
Decouple client-side from server-side
Flexible backend infrastructure
Flexible backend data sources
Automatically documented
Scalable, reliable, portable, secure
Reusable API Approach
Reusable APIs are a good thing!
Documented
Secure
Portable
Much less integration
Much less testing
What is a reusable REST
API?
Simple AND flexible
Consistently structured for
SQL, NoSQL, file stores
Designed for high transaction
volume
Support native mobile
and
web applications
Reusable APIs in practice
Noun-based endpoints and
HTTP verbs work great
SQL API Examples
Multiple
records
Single
records
Stored
procedures
& functions
NoSQL API Examples
Multiple
documents
Single
documents
File API Examples
Multiple
files
Single files
Manageable number of API
endpoints
SQL – 41
Files – 16
CRUD
NoSQL – 35
SQL: NoSQL +
{Schema,
Relations,
Procedures,
Functions}
NoSQL: Files +
{Filters}
Append parameters to endpoints
Dates
Filters
Pagination
Relationships
Files
Advanced Use Cases
http://www.myserver.com/rest/oracleDB/Contacts?filter=la
stName%20like%20‘jon%’&order=firstName
Server Database
Filter Parameter Other Parameters
Request URL
{
“record”: [
{
“firstName”: “Bob”,
“lastName”: “Jones”,
},
{
“firstName”: “Susan”,
“lastName”: “Jong”,
},
]
}
JSON Response
Table
Use case examples
Dates
?filter = ToDoDate >= '2015-05-01’ and ToDoDate <=
'2015-05-31’ & order = ToDoDate
Date Range Filter
Find ToDo
records in
the month
of May
Filters
?filter = CreateDate = '2015-05-03’ and Archive = FALSE
and ProjectName like ‘Next%’
Complex Filters
Find active
projects
from
yesterday
where the
name starts
with “next”
Pagination
?limit = 100 & offset = 100 & order = Name
Pagination and Ordering
Load the
second 100
ToDo
records
sorted by
name
Relationships
https://www.myserver.com/rest/db-
api/Project?ids=348&related=Task
Fetch Parent-Child Relationships
Load a
project and
all related
tasks
/db-api/table?ids=1013&related=childTable
General Cases for Relationships
GET Record and Child Records (1:M)
/db-api/table?ids=467&related=siblingTableByJunction
GET Record and Related Records (M:M via Junction Table)
{
"record": [
{
"contactId": 100,
"firstName": "Adam",
"lastName": "Ross",
"contactinfos_by_contactId": [
{
"infoId": 298,
"contactId": 100,
"infoType": "Home",
"phone": "415-770-2025"
},
{
"infoId": 299,
"contactId": 100,
"infoType": "Work",
"phone": "650-452-1668"
}
]
}
]
}
General Cases for Relationships
POST / PUT Record and Child Records
https://www.myserver.com/rest/db/contacts?rollback=true
Files
https://www.myserver.com/rest/s3/applications/dreamteam-
docs/?
include_folders=true&include_files=true&full_tree=true
Files & Binary Objects
/files-
api/container/folderName/?include_folders=true&in
clude_files=true&full_tree=true
General Cases for Files
GET All Folders, Sub-Folders and Files in a Container
/files-api/container/fullFilePath.fileType
GET a File
/files-api/container/fullFilePath.fileType
POST a File
Advanced Use Cases
Stored Procedures
Functions
Server-Side Scripts
Schema
Stored Procedures
Call procedure with parameters
Stored Functions
Call function with parameters
Server-Side Scripts
Custom business logic
Workflow triggers
Formula fields
Field validation
Remote web service
orchestration
Server-Side Scripts
Field validation
Workflow trigger
Schema
Operate on tables and fields
If you remember one thing….
Simplify development with
reusable APIs!
Thank You!
QUESTIONS
benbusse@dreamfactory.com
@benbusse

More Related Content

PPTX
DreamFactory Essentials Webinar
PPTX
Building IoT Apps in the Cloud Webinar
PPTX
Mobile Disrupts the Cloud
PPTX
MongoDB World 2018: Partner Talk - Microsoft: LDAP in the Enterprise: Integra...
PPTX
An Integration Platform to Support Vision 2025
PDF
Integrating saa s application using azure services v0.5
PPTX
Integrating saas applications
PPTX
Develop Hybrid Mobile Application with Azure Mobile Services and Telerik Plat...
DreamFactory Essentials Webinar
Building IoT Apps in the Cloud Webinar
Mobile Disrupts the Cloud
MongoDB World 2018: Partner Talk - Microsoft: LDAP in the Enterprise: Integra...
An Integration Platform to Support Vision 2025
Integrating saa s application using azure services v0.5
Integrating saas applications
Develop Hybrid Mobile Application with Azure Mobile Services and Telerik Plat...

What's hot (20)

PPTX
Microsoft Innovation Summit
PPTX
Microsoft Azure - The Best Platform for AI
PPTX
Microsoft Graph: The API for Microsoft 365
PDF
apidays LIVE Helsinki & North - Serverless Bots in a Blink by Rachel White, D...
PDF
React Native Database: A Comprehensive Guideline on Choosing the Right Databa...
PDF
Api clarity webinar
PDF
apidays LIVE Paris - Innovation and rejuvenation combined: a beneficial appro...
PDF
WSO2Con US 2013 - APIs Everywhere
PPTX
Firebase Overview
PPTX
2015-12-02 - WebCamp - Microsoft Azure Logic Apps
PDF
Webcast: API-Centric Architecture for Building Context-Aware Apps
PPTX
Integration Tales: Logic & API apps to the rescue!
PPTX
Firebase Introduction
PPTX
Adapt or Die: A Microservices Story at Google
PPTX
Introduction to Microsoft Azure App Service (Logic and API Apps)
PPTX
The New 3-Tier Architecture: HTML5, Proxies, and APIs
PPTX
Hybrid Integration with SAP
PDF
APIs: What’s in it for me – How can APIs bring value to our Business (Philipp...
PPTX
Mule iON - OSS ESB to iPaaS
PPTX
Application Insights for Integration Developers
Microsoft Innovation Summit
Microsoft Azure - The Best Platform for AI
Microsoft Graph: The API for Microsoft 365
apidays LIVE Helsinki & North - Serverless Bots in a Blink by Rachel White, D...
React Native Database: A Comprehensive Guideline on Choosing the Right Databa...
Api clarity webinar
apidays LIVE Paris - Innovation and rejuvenation combined: a beneficial appro...
WSO2Con US 2013 - APIs Everywhere
Firebase Overview
2015-12-02 - WebCamp - Microsoft Azure Logic Apps
Webcast: API-Centric Architecture for Building Context-Aware Apps
Integration Tales: Logic & API apps to the rescue!
Firebase Introduction
Adapt or Die: A Microservices Story at Google
Introduction to Microsoft Azure App Service (Logic and API Apps)
The New 3-Tier Architecture: HTML5, Proxies, and APIs
Hybrid Integration with SAP
APIs: What’s in it for me – How can APIs bring value to our Business (Philipp...
Mule iON - OSS ESB to iPaaS
Application Insights for Integration Developers
Ad

Viewers also liked (13)

PPT
Case study: Building a business case for cloud, migration in practice and spr...
PPT
Constructing the Case for Cloud
PDF
The Digital Enterprise
PDF
The Enterprise Business Case for Cloud Transformation: Introducing Everest Gr...
PDF
Why You Should Move to the Cloud
PPTX
The Business Case for Cloud Management - RightScale Compute 2013
PDF
Developing a Business Case for Cloud
PPTX
Building Business Case for a Cloud Service
PDF
IoT M2M case study analysis
PDF
Fred Isbell SAPinsider Projects 2016 Session: Making a Business Case for Clou...
PDF
Creating a mobile enterprise application business case.
 
PDF
Case study: M2M Telematics Solution - Happiest Minds
PDF
How to Build a Great Cloud/SaaS Business Case Analysis for Technology Investment
Case study: Building a business case for cloud, migration in practice and spr...
Constructing the Case for Cloud
The Digital Enterprise
The Enterprise Business Case for Cloud Transformation: Introducing Everest Gr...
Why You Should Move to the Cloud
The Business Case for Cloud Management - RightScale Compute 2013
Developing a Business Case for Cloud
Building Business Case for a Cloud Service
IoT M2M case study analysis
Fred Isbell SAPinsider Projects 2016 Session: Making a Business Case for Clou...
Creating a mobile enterprise application business case.
 
Case study: M2M Telematics Solution - Happiest Minds
How to Build a Great Cloud/SaaS Business Case Analysis for Technology Investment
Ad

Similar to REST-Enabling Enterprise Data in the Mobile Era (20)

PPTX
Http and REST APIs.
PPTX
Mtn view sql server nov 2014
PPTX
Transform-to-Smart-ERP-using-Custom-Mobile-Apps.pptx
PPT
Transform-to-Smart-ERP-using-Custom-Mobile-Apps.pptx (3).ppt
PPTX
Databasecentricapisonthecloudusingplsqlandnodejscon3153oow2016 160922021655
PDF
REST full API Design
PDF
Enterprise REST
PDF
Api enablement-mainframe
PDF
Modern REST API design principles and rules.pdf
PDF
zendframework2 restful
PDF
Enterprise Level Application Architecture with Web APIs using Entity Framewor...
PDF
Modern REST API design principles and rules.pdf
DOCX
Fundamental essentials for api design
DOCX
Fundamental essentials for api design
DOCX
Fundamental Essentials for API Design
PDF
Designing Usable APIs featuring Forrester Research, Inc.
PDF
Rest - Representational State Transfer (EMC BRDC Internal Tech talk)
PDF
Best practices and advantages of REST APIs
PPTX
Building Software Backend (Web API)
PDF
Res tful web services oracle
Http and REST APIs.
Mtn view sql server nov 2014
Transform-to-Smart-ERP-using-Custom-Mobile-Apps.pptx
Transform-to-Smart-ERP-using-Custom-Mobile-Apps.pptx (3).ppt
Databasecentricapisonthecloudusingplsqlandnodejscon3153oow2016 160922021655
REST full API Design
Enterprise REST
Api enablement-mainframe
Modern REST API design principles and rules.pdf
zendframework2 restful
Enterprise Level Application Architecture with Web APIs using Entity Framewor...
Modern REST API design principles and rules.pdf
Fundamental essentials for api design
Fundamental essentials for api design
Fundamental Essentials for API Design
Designing Usable APIs featuring Forrester Research, Inc.
Rest - Representational State Transfer (EMC BRDC Internal Tech talk)
Best practices and advantages of REST APIs
Building Software Backend (Web API)
Res tful web services oracle

Recently uploaded (20)

PDF
medical staffing services at VALiNTRY
PDF
System and Network Administration Chapter 2
PDF
Internet Downloader Manager (IDM) Crack 6.42 Build 41
PPTX
Operating system designcfffgfgggggggvggggggggg
PDF
Understanding Forklifts - TECH EHS Solution
PDF
How Creative Agencies Leverage Project Management Software.pdf
PDF
Flood Susceptibility Mapping Using Image-Based 2D-CNN Deep Learnin. Overview ...
PDF
Audit Checklist Design Aligning with ISO, IATF, and Industry Standards — Omne...
PPTX
CHAPTER 2 - PM Management and IT Context
PDF
Why TechBuilder is the Future of Pickup and Delivery App Development (1).pdf
PDF
T3DD25 TYPO3 Content Blocks - Deep Dive by André Kraus
PDF
Softaken Excel to vCard Converter Software.pdf
PDF
Upgrade and Innovation Strategies for SAP ERP Customers
PPTX
Agentic AI : A Practical Guide. Undersating, Implementing and Scaling Autono...
PPTX
Online Work Permit System for Fast Permit Processing
PPTX
ISO 45001 Occupational Health and Safety Management System
PPT
Introduction Database Management System for Course Database
PDF
Raksha Bandhan Grocery Pricing Trends in India 2025.pdf
PPTX
ManageIQ - Sprint 268 Review - Slide Deck
PPTX
Introduction to Artificial Intelligence
medical staffing services at VALiNTRY
System and Network Administration Chapter 2
Internet Downloader Manager (IDM) Crack 6.42 Build 41
Operating system designcfffgfgggggggvggggggggg
Understanding Forklifts - TECH EHS Solution
How Creative Agencies Leverage Project Management Software.pdf
Flood Susceptibility Mapping Using Image-Based 2D-CNN Deep Learnin. Overview ...
Audit Checklist Design Aligning with ISO, IATF, and Industry Standards — Omne...
CHAPTER 2 - PM Management and IT Context
Why TechBuilder is the Future of Pickup and Delivery App Development (1).pdf
T3DD25 TYPO3 Content Blocks - Deep Dive by André Kraus
Softaken Excel to vCard Converter Software.pdf
Upgrade and Innovation Strategies for SAP ERP Customers
Agentic AI : A Practical Guide. Undersating, Implementing and Scaling Autono...
Online Work Permit System for Fast Permit Processing
ISO 45001 Occupational Health and Safety Management System
Introduction Database Management System for Course Database
Raksha Bandhan Grocery Pricing Trends in India 2025.pdf
ManageIQ - Sprint 268 Review - Slide Deck
Introduction to Artificial Intelligence

REST-Enabling Enterprise Data in the Mobile Era

Editor's Notes

  • #12: Now you want to build a new app. You didn’t know what app 2 was going to be when you built 1 Now, app 1 is in production. Don’t touch it! Also app 2 might be built by a totally different team of engineers!
  • #18: Interface negotiation is slow and difficult Had to build all this server-side software Results were bad And you can’t re-use the backend software for other apps in your company
  • #19: API Management Tools are not architected for transactional mobile use case.
  • #58: Maybe add end to end data flow