SlideShare a Scribd company logo
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
Creating RESTful APIs
With Oracle Database REST Data Services
Chris Muir
Development Tools Product Management
September, 2015
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
Safe Harbor Statement
The following is intended to outline our general product direction. It is intended for
information purposes only, and may not be incorporated into any contract. It is not a
commitment to deliver any material, code, or functionality, and should not be relied upon
in making purchasing decisions. The development, release, and timing of any features or
functionality described for Oracle’s products remains at the sole discretion of Oracle.
2
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
Program Agenda
REST & JSON Overview
Oracle REST Data Services Overview
Demonstration
1
2
3
3
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | 4
You tell me
What is REST?
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
REpresentational State Transfer (REST)
5
An architectural style to defining,
publishing and consuming APIs and
services on the internet using HTTP.
- Formal definition (Zzzzzz)
Zzzzzzz…
Think of REST as a high level protocol
for exchanging data across HTTP in a
computer & developer friendly way.
- Anonymous product manager
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
REpresentational State Transfer (REST)
6
Does describe how
the internet works
But we mostly talk
about it in terms of
"web services"
That is software
"sharing data"
A contemporary
replacement for
"SOAP"
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
S
O
A
P
imple
bject
ccess
rotocol
<xmlHell/> <XML/>
REST
{ 'json':true }
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | 8
Why should you care about REST web services?
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | 9
Why does Oracle care about REST web services?
Over 60 groups now
using it as a standard The standard is
driving faster
adoption
Common
integration
technology for
Fusion Apps
Core technology for
Oracle's cloud stack
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | 10
Why should you care about REST web services?
Over 60 groups now
using it as a standard The standard is
driving faster
adoption
Common
integration
technology for
Fusion Apps
Core technology for
Oracle's cloud stack
Defacto development
solution for web/JS, mobile
etc
Huge uptake across
vendors, open source,
IT industry
Common language
for integration
solutions Available wherever
the web is
available
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
No Really?! Why should I care about REST?
11
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
No Really?! Why should I care about REST?
12
// Javascript
var xhr = new XMLHttpRequest();
xhr.onreadystatechange = function() {
if (xhr.readyState == 4) {
var data = xhr.responseText;
doSomething(data);
}
}
xhr.open('GET', 'https://myhost/myapp/orders/1001’, true);
xhr.send(null);
// Java
DefaultHttpClient httpClient = new DefaultHttpClient();
HttpGet getRequest = new
HttpGet("https://myhost/myapp/orders/1001");
HttpResponse response = httpClient.execute(getRequest);
BufferedReader br = new BufferedReader(
new InputStreamReader((response.getEntity().getContent())));
// jquery
$.getJSON( "https://myhost/myapp/orders/1001", function( data ) {
doSomething(data);
});
// Php
<?php
$url = 'http://myhost/myapp/orders/1001';
$response = file_get_contents($url);
$data = json_decode($response);
var_dump($data);
?>
// Ruby
require 'json'
require 'net/http’
url = 'http://whatever/service'
response = Net::HTTP.get_response(URI.parse(url))
data = JSON.parse(response.body)
print data
// Python
import json
import requests
url = 'http://myhost/myapp/orders/1001'
response = requests.get(url)
data = response.json()
print data
// Android
DefaultHttpClient httpClient = new DefaultHttpClient();
HttpGet getRequest = new
HttpGet("https://myhost/myapp/orders/1001");
HttpResponse response = httpClient.execute(getRequest);
BufferedReader br = new BufferedReader(
new InputStreamReader((response.getEntity().getContent())));
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | 13
Exam Question 1
Describe the core
concepts of REST
web services.
Exam Question 2
Explain REST
web services
using pictures.
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
http://cloud.oracle.com/mobile/index.html
Understanding REST: You are already an expert
Everyday you
use a browser
And you enter
URLs to "GET" a
"resource"
A URL is
comprised of a
remote server
A path
And a web page
"resource" of a specific
"media type"
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
http://cloud.oracle.com/mobile/index.html
It's not a human
accessing the
resource, it's
software
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
http://cloud.oracle.com/mobile/index.html
And their accessing a
remote service
It doesn't have to be
web pages, it can be
any file (media type)
It's not a human
accessing the
resource, it's
software
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
http://cloud.oracle.com/mobile/index.html
HTTP Request
HTTP Response
And they utilize the
HTTP protocol
The client makes a
HTTP request
The server responds
There can be many
request-response
cycles
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
http://cloud.oracle.com/mobile/index.html
Request
Response
HTTP Request
The HTTP request
carries a payload
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
HTTP Request
GET /mobile/index.html HTTP/1.1
Host: cloud.oracle.com
User-Agent: Mozilla/5.0 Chrome/3.6
Accept: text/html
Accept-Language: en-us
Accept-Encoding: gzip,deflate
Accept-Charset: utf-8
Keep-Alive: 115
Connection: keep-alive
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
HTTP Request
GET /mobile/index.html HTTP/1.1
Host: cloud.oracle.com
User-Agent: Mozilla/5.0 Chrome/3.6
Accept: text/html
Accept-Language: en-us
Accept-Encoding: gzip,deflate
Accept-Charset: utf-8
Keep-Alive: 115
Connection: keep-alive
HTTP
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
HTTP Request
GET /mobile/index.html HTTP/1.1
Host: cloud.oracle.com
User-Agent: Mozilla/5.0 Chrome/3.6
Accept: text/html
Accept-Language: en-us
Accept-Encoding: gzip,deflate
Accept-Charset: utf-8
Keep-Alive: 115
Connection: keep-alive
HTTP
HTTP Verb:
GET/HEAD/PUT
/POST/DELETE
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
HTTP Request
GET /mobile/index.html HTTP/1.1
Host: cloud.oracle.com
User-Agent: Mozilla/5.0 Chrome/3.6
Accept: text/html
Accept-Language: en-us
Accept-Encoding: gzip,deflate
Accept-Charset: utf-8
Keep-Alive: 115
Connection: keep-alive
HTTP
HTTP Verb:
GET/HEAD/PUT
/POST/DELETE
URI: Server
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
HTTP Request
GET /mobile/index.html HTTP/1.1
Host: cloud.oracle.com
User-Agent: Mozilla/5.0 Chrome/3.6
Accept: text/html
Accept-Language: en-us
Accept-Encoding: gzip,deflate
Accept-Charset: utf-8
Keep-Alive: 115
Connection: keep-alive
HTTP
HTTP Verb:
GET/HEAD/PUT
/POST/DELETE
URI: Server
URI: Path +
Resource
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
HTTP Request
GET /mobile/index.html HTTP/1.1
Host: cloud.oracle.com
User-Agent: Mozilla/5.0 Chrome/3.6
Accept: text/html
Accept-Language: en-us
Accept-Encoding: gzip,deflate
Accept-Charset: utf-8
Keep-Alive: 115
Connection: keep-alive
HTTP
HTTP Verb:
GET/HEAD/PUT
/POST/DELETE
URI: Server
URI: Path +
Resource
HTTP
Headers
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
HTTP Request
GET /mobile/index.html HTTP/1.1
Host: cloud.oracle.com
User-Agent: Mozilla/5.0 Chrome/3.6
Accept: text/html
Accept-Language: en-us
Accept-Encoding: gzip,deflate
Accept-Charset: utf-8
Keep-Alive: 115
Connection: keep-alive
HTTP
HTTP Verb:
GET/HEAD/PUT
/POST/DELETE
URI: Server
URI: Path +
Resource
HTTP
Headers
Accept
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
HTTP Request
GET /mobile/index.html HTTP/1.1
Host: cloud.oracle.com
User-Agent: Mozilla/5.0 Chrome/3.6
Accept: text/html
Accept-Language: en-us
Accept-Encoding: gzip,deflate
Accept-Charset: utf-8
Keep-Alive: 115
Connection: keep-alive
HTTP
HTTP Verb:
GET/HEAD/PUT
/POST/DELETE
URI: Server
URI: Path +
Resource
HTTP
Headers
Accept
No body
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
http://cloud.oracle.com/mobile/index.html
Request
Response
HTTP Response
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
http://cloud.oracle.com/mobile/data.json
Request
Response
HTTP Response
HTTP/1.1 200 OK
Date: 26 Jan 2015 00:02:25 GMT
Server: Apache/2.0.55 (Ubuntu)
Connection: Keep-Alive
Etag: "1a690fe-40df-f1645340"
<html>
<head>
<title>Oracle MCS</title>
</head>
..etc..
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
http://cloud.oracle.com/mobile/data.json
Request
Response
HTTP Response
HTTP/1.1 200 OK
Date: 26 Jan 2015 00:02:25 GMT
Server: Apache/2.0.55 (Ubuntu)
Connection: Keep-Alive
Etag: "1a690fe-40df-f1645340"
<html>
<head>
<title>Oracle MCS</title>
</head>
..etc..
Status Code
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
http://cloud.oracle.com/mobile/data.json
Request
Response
HTTP Response
HTTP/1.1 200 OK
Date: 26 Jan 2015 00:02:25 GMT
Server: Apache/2.0.55 (Ubuntu)
Connection: Keep-Alive
Etag: "1a690fe-40df-f1645340"
<html>
<head>
<title>Oracle MCS</title>
</head>
..etc.. Payload
Status Code
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
Understanding REST: The four slide introduction
• Resources
• HTTP verbs
• Status codes
• Media types
http://host/path/departmentsGET
http://host/path/employeesGET
http://host/path/departments/hrGET
http://host/path/employees/101GET
http://host/path/departments/hr/employeesGET
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
Understanding REST: The four slide introduction
• Resources
• HTTP verbs
• Status codes
• Media types
DELETE
PUT
HEAD
GET
POST
'Read' a resource
'Create' a resource
'Update or Create'
'Delete' a resource
'Read' resource headers
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
Understanding REST: The four slide introduction
• Resources
• HTTP verbs
• Status codes
• Media types
Informational
Success
Redirection
Client Error
Server Error
4xx
3xx
5xx
1xx
2xx
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
Understanding REST: The four slide introduction
• Resources
• HTTP verbs
• Status codes
• Media types
Payload type 'requested' by client
– Via HTTP Parameter "accept"
– Defines MIME types. e.g.
• application/json, application/xml, image/gif
{"departments: [
{"id":"MAN","name":"Manfacturing"},
{"id":"HR","name":"Human Resources"},
{"id":"FIN","name":"Finance"},
...etc...
]}
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
Understanding JSON: The three slide introduction
JSON is a standard using
human-readable text to
transmit data objects of
attribute-value pairs. It is
typically used in machine to
machine communications
and is a contemporary
replacement for the older
XML standard.
- Wikipedia
{
"firstName":"John",
"lastName":"Smith",
"isAlive":true,
"age":25,
"address": {
"streetAddress":"21 2nd Street",
"city":"New York",
"state":"NY",
"postalCode":"10021-3100"
},
"phoneNumbers": [
{"type":"home", "number":"1234"},
{"type":"office","number":"4567"}
],
"children":[],
"spouse":null
}
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
• Textual data payloads
• Human readable
• Supports validation & schemas
• "Fat free" alternative to XML
• Compact mobile friendly payloads
• JavaScript has inbuilt support
Understanding JSON: The three slide introduction
{
"firstName":"John",
"lastName":"Smith",
"isAlive":true,
"age":25,
"address": {
"streetAddress":"21 2nd Street",
"city":"New York",
"state":"NY",
"postalCode":"10021-3100"
},
"phoneNumbers": [
{"type":"home", "number":"1234"},
{"type":"office","number":"4567"}
],
"children":[],
"spouse":null
}
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
{
"firstName":"John",
"lastName":"Smith",
"isAlive":true,
"age":25,
"address": {
"streetAddress":"21 2nd Street",
"city":"New York",
"state":"NY",
"postalCode":"10021-3100"
},
"phoneNumbers": [
{"type":"home", "number":"1234"},
{"type":"office","number":"4567"}
],
"children":[],
"spouse":null
}
• Blocks delineated by ellipses
• Key-value pairs, separated by colon
– Key with quotes
– Strings & dates with quotes
– Boolean, integers, null without quotes
– Supports nesting of records
– Supports arrays/collections
– Empty array
– Null values
• Elements are comma delimited
Understanding JSON: The three slide introduction
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | 38
Why?Congratulations!
You're now a
REST expert
I feel kind of… icky
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
Program Agenda
REST & JSON Overview
Oracle REST Data Services Overview
Demonstration
1
2
3
39
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
 Provides external data access via HTTP
 For modern development frameworks
 REST is contemporary choice for
 JavaScript (web), mobile, cloud solutions
 Maps standard HTTP/S RESTful calls to SQL
 Declaratively returns results in JSON format
 Supports high number of end users
40
Oracle REST Data Services (ORDS)
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | 41
Release History
Version Date Description
1.0 2010 First release as Oracle APEX Listener with with support for OWA toolkit used by APEX
1.1 2011 First release with REST support for JSON, Microdata, CSV, Pagination. Also added FOP
2.0 2012 OAuth2 support, Integrated with APEX, Multi Database, SQL Developer integration
2.0.5 2013 Added PDB support
2.0.6 2014 Renamed to Oracle REST Data Services to emphasize REST commitment
2.0.8 2014 Added REST Filtering
3.0 2015 REST AutoTable, NoSQL, DB12 JSON, Bulk loading over REST,…
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
Oracle DatabaseHTTP/S client
Oracle REST Data Services
Transform
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
Oracle DatabaseHTTP/S client
Oracle REST Data Services
Transform
ORDS runs in any
Java EE container:
e.g. WLS, Tomcat,
Glassfish
HTTP/S
Enhanced version
of the Oracle Java
mod_plsql Apache
module
There’s also a
standalone version
for dev purposes
It comes by
default with
Oracle DBaaS
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
Oracle DatabaseHTTP/S client
Oracle REST Data Services
Transform
HTTP/S
https://myhost/myapp/sales/orders/1001
HTTP/S & URI
Module Template
Client makes a
HTTP 'GET'
request
Context Root
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
Oracle DatabaseHTTP/S client
Oracle REST Data Services
Transform
https://myhost/myapp/sales/orders/1001
HTTP/S & URI
Module Template
ORDS maps to
"ORDERS" SQL
Context Root
Map and Bind
SELECT * FROM ORDERS
WHERE ORDERNO = :b1
HTTP/S
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
Oracle DatabaseHTTP/S client
Oracle REST Data Services
Transform
https://myhost/myapp/sales/orders/1001
HTTP/S & URI
Module Template
JDBC SQL Call
Context Root
SELECT * FROM ORDERS
WHERE ORDERNO = :b1
SQLMap and BindHTTP/S
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
Oracle DatabaseHTTP/S client
Oracle REST Data Services
Transform
https://myhost/myapp/sales/orders/1001
HTTP/S & URI
Module TemplateContext Root
SELECT * FROM ORDERS
WHERE ORDERNO = :b1
SQLMap and Bind
Result Set
DB returns
result set
HTTP/S
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
Oracle DatabaseHTTP/S client
Oracle REST Data Services
Transform
https://myhost/myapp/sales/orders/1001
HTTP/S & URI
Module TemplateContext Root
SELECT * FROM ORDERS
WHERE ORDERNO = :b1
SQLMap and Bind
Transform Result Set
{ "orderno": 1001,
"name": "Scott King",
"address": "500 Main street, Innovation CA",
"items": [ { "itemno": 404, "quantity": 7,
"status": "in process"},
{ "itemno": 303, "quantity": 32,
"status": "closed"} ] }
HTTP/S
Transform to
JSON, CSV, Excel or
Binary
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
Oracle DatabaseHTTP/S client
Oracle REST Data Services
Transform
https://myhost/myapp/sales/orders/1001
HTTP/S & URI
Module TemplateContext Root
SELECT * FROM ORDERS
WHERE ORDERNO = :b1
SQLMap and Bind
{ "orderno": 1001,
"name": "Scott King",
"address": "500 Main street, Innovation CA",
"items": [ { "itemno": 404, "quantity": 7,
"status": "in process"},
{ "itemno": 303, "quantity": 32,
"status": "closed"} ] }
JSON
HTTP/S
Response to HTTP
request
Transform Result Set
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
Summary: Serving JSON results from the database
 App developers call named URI over HTTP(S) to retrieve and update data
 Oracle REST Data Services (ORDS) Developer defines URI<>SQL mapping/binding
 Utilizes the data stored in standard relational tables and columns
Oracle Database
HTTP/S
HTTP/S client
Map and Bind SQL
Transform Result SetJSON
Oracle REST Data Services
Transform
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
Program Agenda
REST & JSON Overview
Oracle REST Data Services Overview
Demonstration
1
2
3
51
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | 52
http://bit.ly/letstalkoracle001
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | 53
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
Installing ORDS support in the Database
• Several routes:
1. Scripts
2. APEX
3. SQL Developer
54
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | 55
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | 56
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | 57
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | 58
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | 59
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | 60
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | 61
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | 62
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | 63
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | 64
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | 65
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | 66
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | 67
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | 68
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | 69
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | 70
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | 71
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | 72
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | 73
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
Enabling ORDS support in the Database
• Several routes:
1. PL/SQL APIs
2. APEX
3. SQL Developer
74
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
Enabling AutoREST Support
75
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | 76
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | 77
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | 78
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | 79
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | 80
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | 81
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | 82
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | 83
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | 84
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | 85
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | 86
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | 87
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | 88
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | 89
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | 90
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
• Add as ?q=<filter>
• Ensure to escape the filter
• Operators
– $eq,$gt,$lt,$lte,$gte,
– $ne,$instr,$asof
• Logical
– $and, $or
• Examples:
?q={ "qty": { "$gt": 20 } }
?q={"$and": [{"price": {"$ne": 1.99}},{"price": {"$notnull": ""}}]
?q={"price": [{"$ne": 1.99}},{"$notnull": ""}]
?q={"$or": [{"qty": {"$lt": 20}},{"sale": {"$eq": "TRUE"}}]
?q={$asof: {"$timestamp": ”……"}}
Generic Filtering via URI Query Support
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
Configuring Modules & Templates
92
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | 93
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | 94
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | 95
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | 96
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | 97
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | 98
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | 99
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | 100
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | 101
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | 102
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | 103
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | 104
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | 105
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | 106
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | 107
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | 108
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | 109
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | 110
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | 111
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | 112
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | 113
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | 114
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | 115
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | 116
For you to
understand
Common IT
language
Unlock your
IT silos
Unlock your
data
Data is a
key asset
Drive the
business
Consider the
API world
Consider
Microservices
Overall REST should be a key technology for:
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | 117
JSON inside the db
PL/JSON, APEX_JSON..
REST & JSON out of the db
Node.js DB Driver, ORDS..
….#cough #cough and just about every middleware product #hint #hint.
Don't forget the alternatives:
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
Learn More With Gordon Smith
118
http://bit.ly/letstalkoracle003
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | 119
Oracle REST Data Services

More Related Content

What's hot

RESTful API - Best Practices
RESTful API - Best PracticesRESTful API - Best Practices
RESTful API - Best Practices
Tricode (part of Dept)
 
Cloud Oracle
Cloud Oracle Cloud Oracle
Cloud Oracle
Fran Navarro
 
Oracle Fusion Development, May 2009
Oracle Fusion Development, May 2009Oracle Fusion Development, May 2009
Oracle Fusion Development, May 2009
Jaime Cid
 
An Introduction To REST API
An Introduction To REST APIAn Introduction To REST API
An Introduction To REST API
Aniruddh Bhilvare
 
Oracle ERP Cloud implementation tips
Oracle ERP Cloud implementation tipsOracle ERP Cloud implementation tips
Oracle ERP Cloud implementation tips
Prabal Saha
 
Oracle apps-technical-tutorial
Oracle apps-technical-tutorialOracle apps-technical-tutorial
Oracle apps-technical-tutorial
Cheikh Ahmadou Bamba DIOP
 
Oracle Cloud Infrastructure.pptx
Oracle Cloud Infrastructure.pptxOracle Cloud Infrastructure.pptx
Oracle Cloud Infrastructure.pptx
GarvitNTT
 
5 Purchasing Overview.ppt
5  Purchasing Overview.ppt5  Purchasing Overview.ppt
5 Purchasing Overview.ppt
HariniYarlagadda1
 
MuleSoft Architecture Presentation
MuleSoft Architecture PresentationMuleSoft Architecture Presentation
MuleSoft Architecture Presentation
Rupesh Sinha
 
Linked Data의 RDF 어휘 이해하고 체험하기 - FOAF, SIOC, SKOS를 중심으로 -
Linked Data의 RDF 어휘 이해하고 체험하기 - FOAF, SIOC, SKOS를 중심으로 -Linked Data의 RDF 어휘 이해하고 체험하기 - FOAF, SIOC, SKOS를 중심으로 -
Linked Data의 RDF 어휘 이해하고 체험하기 - FOAF, SIOC, SKOS를 중심으로 -
Dongbum Kim
 
Organization Setup in R12
Organization Setup in R12Organization Setup in R12
Organization Setup in R12
eprentise
 
Oracle Cloud Infrastructure Overview Deck.pptx
Oracle Cloud Infrastructure Overview Deck.pptxOracle Cloud Infrastructure Overview Deck.pptx
Oracle Cloud Infrastructure Overview Deck.pptx
LabibKhairi
 
React JS - A quick introduction tutorial
React JS - A quick introduction tutorialReact JS - A quick introduction tutorial
React JS - A quick introduction tutorial
Mohammed Fazuluddin
 
Cloud Migration Strategy and Best Practices
Cloud Migration Strategy and Best PracticesCloud Migration Strategy and Best Practices
Cloud Migration Strategy and Best Practices
QBurst
 
Implementing Cloud Financials
Implementing Cloud FinancialsImplementing Cloud Financials
Implementing Cloud Financials
NERUG
 
Oracle financials functional training on ap, ar & gl
Oracle financials functional training on ap, ar & glOracle financials functional training on ap, ar & gl
Oracle financials functional training on ap, ar & gl
magnifics
 
MuleSoft Anypoint Platform and Three Tier Architecture
MuleSoft Anypoint  Platform and Three Tier ArchitectureMuleSoft Anypoint  Platform and Three Tier Architecture
MuleSoft Anypoint Platform and Three Tier Architecture
Harish Kumar
 
Oracle Cloud
Oracle CloudOracle Cloud
Oracle Cloud
MarketingArrowECS_CZ
 
Introduction to APIs (Application Programming Interface)
Introduction to APIs (Application Programming Interface) Introduction to APIs (Application Programming Interface)
Introduction to APIs (Application Programming Interface)
Vibhawa Nirmal
 
RDF 개념 및 구문 소개
RDF 개념 및 구문 소개RDF 개념 및 구문 소개
RDF 개념 및 구문 소개
Dongbum Kim
 

What's hot (20)

RESTful API - Best Practices
RESTful API - Best PracticesRESTful API - Best Practices
RESTful API - Best Practices
 
Cloud Oracle
Cloud Oracle Cloud Oracle
Cloud Oracle
 
Oracle Fusion Development, May 2009
Oracle Fusion Development, May 2009Oracle Fusion Development, May 2009
Oracle Fusion Development, May 2009
 
An Introduction To REST API
An Introduction To REST APIAn Introduction To REST API
An Introduction To REST API
 
Oracle ERP Cloud implementation tips
Oracle ERP Cloud implementation tipsOracle ERP Cloud implementation tips
Oracle ERP Cloud implementation tips
 
Oracle apps-technical-tutorial
Oracle apps-technical-tutorialOracle apps-technical-tutorial
Oracle apps-technical-tutorial
 
Oracle Cloud Infrastructure.pptx
Oracle Cloud Infrastructure.pptxOracle Cloud Infrastructure.pptx
Oracle Cloud Infrastructure.pptx
 
5 Purchasing Overview.ppt
5  Purchasing Overview.ppt5  Purchasing Overview.ppt
5 Purchasing Overview.ppt
 
MuleSoft Architecture Presentation
MuleSoft Architecture PresentationMuleSoft Architecture Presentation
MuleSoft Architecture Presentation
 
Linked Data의 RDF 어휘 이해하고 체험하기 - FOAF, SIOC, SKOS를 중심으로 -
Linked Data의 RDF 어휘 이해하고 체험하기 - FOAF, SIOC, SKOS를 중심으로 -Linked Data의 RDF 어휘 이해하고 체험하기 - FOAF, SIOC, SKOS를 중심으로 -
Linked Data의 RDF 어휘 이해하고 체험하기 - FOAF, SIOC, SKOS를 중심으로 -
 
Organization Setup in R12
Organization Setup in R12Organization Setup in R12
Organization Setup in R12
 
Oracle Cloud Infrastructure Overview Deck.pptx
Oracle Cloud Infrastructure Overview Deck.pptxOracle Cloud Infrastructure Overview Deck.pptx
Oracle Cloud Infrastructure Overview Deck.pptx
 
React JS - A quick introduction tutorial
React JS - A quick introduction tutorialReact JS - A quick introduction tutorial
React JS - A quick introduction tutorial
 
Cloud Migration Strategy and Best Practices
Cloud Migration Strategy and Best PracticesCloud Migration Strategy and Best Practices
Cloud Migration Strategy and Best Practices
 
Implementing Cloud Financials
Implementing Cloud FinancialsImplementing Cloud Financials
Implementing Cloud Financials
 
Oracle financials functional training on ap, ar & gl
Oracle financials functional training on ap, ar & glOracle financials functional training on ap, ar & gl
Oracle financials functional training on ap, ar & gl
 
MuleSoft Anypoint Platform and Three Tier Architecture
MuleSoft Anypoint  Platform and Three Tier ArchitectureMuleSoft Anypoint  Platform and Three Tier Architecture
MuleSoft Anypoint Platform and Three Tier Architecture
 
Oracle Cloud
Oracle CloudOracle Cloud
Oracle Cloud
 
Introduction to APIs (Application Programming Interface)
Introduction to APIs (Application Programming Interface) Introduction to APIs (Application Programming Interface)
Introduction to APIs (Application Programming Interface)
 
RDF 개념 및 구문 소개
RDF 개념 및 구문 소개RDF 개념 및 구문 소개
RDF 개념 및 구문 소개
 

Viewers also liked

Oracle REST Data Services Best Practices/ Overview
Oracle REST Data Services Best Practices/ OverviewOracle REST Data Services Best Practices/ Overview
Oracle REST Data Services Best Practices/ Overview
Kris Rice
 
REST Enabling Your Oracle Database
REST Enabling Your Oracle DatabaseREST Enabling Your Oracle Database
REST Enabling Your Oracle Database
Jeff Smith
 
Creating RESTful Services with Oracle REST Data Services
Creating RESTful Services with Oracle REST Data ServicesCreating RESTful Services with Oracle REST Data Services
Creating RESTful Services with Oracle REST Data Services
Kris Rice
 
A Designer's Intro to Oracle JET
A Designer's Intro to Oracle JETA Designer's Intro to Oracle JET
A Designer's Intro to Oracle JETLauren Beatty
 
Oracle ADF Architecture TV - Development - Logging
Oracle ADF Architecture TV - Development - LoggingOracle ADF Architecture TV - Development - Logging
Oracle ADF Architecture TV - Development - Logging
Chris Muir
 
Let's Talk Mobile
Let's Talk MobileLet's Talk Mobile
Let's Talk Mobile
Chris Muir
 
Oracle ADF Architecture TV - Design - MDS Infrastructure Decisions
Oracle ADF Architecture TV - Design - MDS Infrastructure DecisionsOracle ADF Architecture TV - Design - MDS Infrastructure Decisions
Oracle ADF Architecture TV - Design - MDS Infrastructure Decisions
Chris Muir
 
Oracle ADF Architecture TV - Design - ADF Reusable Artifacts
Oracle ADF Architecture TV - Design - ADF Reusable ArtifactsOracle ADF Architecture TV - Design - ADF Reusable Artifacts
Oracle ADF Architecture TV - Design - ADF Reusable Artifacts
Chris Muir
 
Oracle ADF Architecture TV - Deployment - Deployment Options
Oracle ADF Architecture TV - Deployment - Deployment OptionsOracle ADF Architecture TV - Deployment - Deployment Options
Oracle ADF Architecture TV - Deployment - Deployment Options
Chris Muir
 
Oracle ADF Architecture TV - Development - Programming Best Practices
Oracle ADF Architecture TV - Development - Programming Best PracticesOracle ADF Architecture TV - Development - Programming Best Practices
Oracle ADF Architecture TV - Development - Programming Best Practices
Chris Muir
 
Oracle ADF Architecture TV - Design - Task Flow Overview
Oracle ADF Architecture TV - Design - Task Flow OverviewOracle ADF Architecture TV - Design - Task Flow Overview
Oracle ADF Architecture TV - Design - Task Flow Overview
Chris Muir
 
Oracle ADF Architecture TV - Design - Advanced ADF Task Flow Concepts
Oracle ADF Architecture TV - Design - Advanced ADF Task Flow ConceptsOracle ADF Architecture TV - Design - Advanced ADF Task Flow Concepts
Oracle ADF Architecture TV - Design - Advanced ADF Task Flow Concepts
Chris Muir
 
Oracle ADF Architecture TV - Design - Architecting for ADF Mobile Integration
Oracle ADF Architecture TV - Design - Architecting for ADF Mobile IntegrationOracle ADF Architecture TV - Design - Architecting for ADF Mobile Integration
Oracle ADF Architecture TV - Design - Architecting for ADF Mobile Integration
Chris Muir
 
Oracle ADF Architecture TV - Design - Task Flow Navigation Options
Oracle ADF Architecture TV - Design - Task Flow Navigation OptionsOracle ADF Architecture TV - Design - Task Flow Navigation Options
Oracle ADF Architecture TV - Design - Task Flow Navigation Options
Chris Muir
 
Oracle ADF Architecture TV - Deployment - Build Options
Oracle ADF Architecture TV - Deployment - Build OptionsOracle ADF Architecture TV - Deployment - Build Options
Oracle ADF Architecture TV - Deployment - Build Options
Chris Muir
 
Oracle ADF Architecture TV - Design - Designing for Internationalization
Oracle ADF Architecture TV - Design - Designing for InternationalizationOracle ADF Architecture TV - Design - Designing for Internationalization
Oracle ADF Architecture TV - Design - Designing for Internationalization
Chris Muir
 
Mobile Mumbo Jumbo - Demystifying the World of Enterprise Mobility with Oracle
Mobile Mumbo Jumbo - Demystifying the World of Enterprise Mobility with OracleMobile Mumbo Jumbo - Demystifying the World of Enterprise Mobility with Oracle
Mobile Mumbo Jumbo - Demystifying the World of Enterprise Mobility with Oracle
Chris Muir
 
Oracle ADF Architecture TV - Planning & Getting Started - Team, Skills and D...
Oracle ADF Architecture TV -  Planning & Getting Started - Team, Skills and D...Oracle ADF Architecture TV -  Planning & Getting Started - Team, Skills and D...
Oracle ADF Architecture TV - Planning & Getting Started - Team, Skills and D...
Chris Muir
 
Oracle ADF Architecture TV - Design - Service Integration Architectures
Oracle ADF Architecture TV - Design - Service Integration ArchitecturesOracle ADF Architecture TV - Design - Service Integration Architectures
Oracle ADF Architecture TV - Design - Service Integration Architectures
Chris Muir
 
Oracle ADF Architecture TV - Design - Usability and Layout Design
Oracle ADF Architecture TV - Design - Usability and Layout DesignOracle ADF Architecture TV - Design - Usability and Layout Design
Oracle ADF Architecture TV - Design - Usability and Layout Design
Chris Muir
 

Viewers also liked (20)

Oracle REST Data Services Best Practices/ Overview
Oracle REST Data Services Best Practices/ OverviewOracle REST Data Services Best Practices/ Overview
Oracle REST Data Services Best Practices/ Overview
 
REST Enabling Your Oracle Database
REST Enabling Your Oracle DatabaseREST Enabling Your Oracle Database
REST Enabling Your Oracle Database
 
Creating RESTful Services with Oracle REST Data Services
Creating RESTful Services with Oracle REST Data ServicesCreating RESTful Services with Oracle REST Data Services
Creating RESTful Services with Oracle REST Data Services
 
A Designer's Intro to Oracle JET
A Designer's Intro to Oracle JETA Designer's Intro to Oracle JET
A Designer's Intro to Oracle JET
 
Oracle ADF Architecture TV - Development - Logging
Oracle ADF Architecture TV - Development - LoggingOracle ADF Architecture TV - Development - Logging
Oracle ADF Architecture TV - Development - Logging
 
Let's Talk Mobile
Let's Talk MobileLet's Talk Mobile
Let's Talk Mobile
 
Oracle ADF Architecture TV - Design - MDS Infrastructure Decisions
Oracle ADF Architecture TV - Design - MDS Infrastructure DecisionsOracle ADF Architecture TV - Design - MDS Infrastructure Decisions
Oracle ADF Architecture TV - Design - MDS Infrastructure Decisions
 
Oracle ADF Architecture TV - Design - ADF Reusable Artifacts
Oracle ADF Architecture TV - Design - ADF Reusable ArtifactsOracle ADF Architecture TV - Design - ADF Reusable Artifacts
Oracle ADF Architecture TV - Design - ADF Reusable Artifacts
 
Oracle ADF Architecture TV - Deployment - Deployment Options
Oracle ADF Architecture TV - Deployment - Deployment OptionsOracle ADF Architecture TV - Deployment - Deployment Options
Oracle ADF Architecture TV - Deployment - Deployment Options
 
Oracle ADF Architecture TV - Development - Programming Best Practices
Oracle ADF Architecture TV - Development - Programming Best PracticesOracle ADF Architecture TV - Development - Programming Best Practices
Oracle ADF Architecture TV - Development - Programming Best Practices
 
Oracle ADF Architecture TV - Design - Task Flow Overview
Oracle ADF Architecture TV - Design - Task Flow OverviewOracle ADF Architecture TV - Design - Task Flow Overview
Oracle ADF Architecture TV - Design - Task Flow Overview
 
Oracle ADF Architecture TV - Design - Advanced ADF Task Flow Concepts
Oracle ADF Architecture TV - Design - Advanced ADF Task Flow ConceptsOracle ADF Architecture TV - Design - Advanced ADF Task Flow Concepts
Oracle ADF Architecture TV - Design - Advanced ADF Task Flow Concepts
 
Oracle ADF Architecture TV - Design - Architecting for ADF Mobile Integration
Oracle ADF Architecture TV - Design - Architecting for ADF Mobile IntegrationOracle ADF Architecture TV - Design - Architecting for ADF Mobile Integration
Oracle ADF Architecture TV - Design - Architecting for ADF Mobile Integration
 
Oracle ADF Architecture TV - Design - Task Flow Navigation Options
Oracle ADF Architecture TV - Design - Task Flow Navigation OptionsOracle ADF Architecture TV - Design - Task Flow Navigation Options
Oracle ADF Architecture TV - Design - Task Flow Navigation Options
 
Oracle ADF Architecture TV - Deployment - Build Options
Oracle ADF Architecture TV - Deployment - Build OptionsOracle ADF Architecture TV - Deployment - Build Options
Oracle ADF Architecture TV - Deployment - Build Options
 
Oracle ADF Architecture TV - Design - Designing for Internationalization
Oracle ADF Architecture TV - Design - Designing for InternationalizationOracle ADF Architecture TV - Design - Designing for Internationalization
Oracle ADF Architecture TV - Design - Designing for Internationalization
 
Mobile Mumbo Jumbo - Demystifying the World of Enterprise Mobility with Oracle
Mobile Mumbo Jumbo - Demystifying the World of Enterprise Mobility with OracleMobile Mumbo Jumbo - Demystifying the World of Enterprise Mobility with Oracle
Mobile Mumbo Jumbo - Demystifying the World of Enterprise Mobility with Oracle
 
Oracle ADF Architecture TV - Planning & Getting Started - Team, Skills and D...
Oracle ADF Architecture TV -  Planning & Getting Started - Team, Skills and D...Oracle ADF Architecture TV -  Planning & Getting Started - Team, Skills and D...
Oracle ADF Architecture TV - Planning & Getting Started - Team, Skills and D...
 
Oracle ADF Architecture TV - Design - Service Integration Architectures
Oracle ADF Architecture TV - Design - Service Integration ArchitecturesOracle ADF Architecture TV - Design - Service Integration Architectures
Oracle ADF Architecture TV - Design - Service Integration Architectures
 
Oracle ADF Architecture TV - Design - Usability and Layout Design
Oracle ADF Architecture TV - Design - Usability and Layout DesignOracle ADF Architecture TV - Design - Usability and Layout Design
Oracle ADF Architecture TV - Design - Usability and Layout Design
 

Similar to Oracle REST Data Services

REST API Doc Best Practices
REST API Doc Best PracticesREST API Doc Best Practices
REST API Doc Best Practices
Marta Rauch
 
Boost Your Content Strategy for REST APIs
Boost Your Content Strategy for REST APIsBoost Your Content Strategy for REST APIs
Boost Your Content Strategy for REST APIs
Marta Rauch
 
Modern App Development with Oracle Cloud
Modern App Development with Oracle CloudModern App Development with Oracle Cloud
Modern App Development with Oracle Cloud
Juan Carlos Ruiz Rico
 
HTTP/2 Comes to Java - What Servlet 4.0 Means to You
HTTP/2 Comes to Java - What Servlet 4.0 Means to YouHTTP/2 Comes to Java - What Servlet 4.0 Means to You
HTTP/2 Comes to Java - What Servlet 4.0 Means to You
David Delabassee
 
WebSocket in Enterprise Applications 2015
WebSocket in Enterprise Applications 2015WebSocket in Enterprise Applications 2015
WebSocket in Enterprise Applications 2015
Pavel Bucek
 
Leverage integration cloud_service_for_ebs_
Leverage integration cloud_service_for_ebs_Leverage integration cloud_service_for_ebs_
Leverage integration cloud_service_for_ebs_
aioughydchapter
 
Servlet 4.0 at GeekOut 2015
Servlet 4.0 at GeekOut 2015Servlet 4.0 at GeekOut 2015
Servlet 4.0 at GeekOut 2015
Edward Burns
 
10 Building Blocks for Enterprise JavaScript
10 Building Blocks for Enterprise JavaScript10 Building Blocks for Enterprise JavaScript
10 Building Blocks for Enterprise JavaScript
Geertjan Wielenga
 
HTTP/2 comes to Java. What Servlet 4.0 means to you. DevNexus 2015
HTTP/2 comes to Java.  What Servlet 4.0 means to you. DevNexus 2015HTTP/2 comes to Java.  What Servlet 4.0 means to you. DevNexus 2015
HTTP/2 comes to Java. What Servlet 4.0 means to you. DevNexus 2015
Edward Burns
 
Coding for desktop and mobile with HTML5 and Java EE 7 - Geertjan Wielenga
Coding for desktop and mobile with HTML5 and Java EE 7 - Geertjan WielengaCoding for desktop and mobile with HTML5 and Java EE 7 - Geertjan Wielenga
Coding for desktop and mobile with HTML5 and Java EE 7 - Geertjan Wielenga
JAXLondon_Conference
 
WebRTC with Java
WebRTC with JavaWebRTC with Java
WebRTC with Java
amithap07
 
Imworld.ro
Imworld.roImworld.ro
Imworld.ro
Geertjan Wielenga
 
Session at Oredev 2016.
Session at Oredev 2016.Session at Oredev 2016.
Session at Oredev 2016.
Geertjan Wielenga
 
Slovenian Oracle User Group
Slovenian Oracle User GroupSlovenian Oracle User Group
Slovenian Oracle User Group
Geertjan Wielenga
 
HTTP/2 Comes to Java
HTTP/2 Comes to JavaHTTP/2 Comes to Java
HTTP/2 Comes to Java
David Delabassee
 
Oracle database 12c_and_DevOps
Oracle database 12c_and_DevOpsOracle database 12c_and_DevOps
Oracle database 12c_and_DevOps
Maria Colgan
 
2015 UJUG, Servlet 4.0 portion
2015 UJUG, Servlet 4.0 portion2015 UJUG, Servlet 4.0 portion
2015 UJUG, Servlet 4.0 portion
mnriem
 
OOW15 - Oracle E-Business Suite Integration Best Practices
OOW15 - Oracle E-Business Suite Integration Best PracticesOOW15 - Oracle E-Business Suite Integration Best Practices
OOW15 - Oracle E-Business Suite Integration Best Practices
vasuballa
 
Beneficios de la coexistencia de ambientes híbridos utilizando SOA
Beneficios de la coexistencia de ambientes híbridos utilizando SOABeneficios de la coexistencia de ambientes híbridos utilizando SOA
Beneficios de la coexistencia de ambientes híbridos utilizando SOA
Software Guru
 
What's New in Oracle SQL Developer for 2018
What's New in Oracle SQL Developer for 2018What's New in Oracle SQL Developer for 2018
What's New in Oracle SQL Developer for 2018
Jeff Smith
 

Similar to Oracle REST Data Services (20)

REST API Doc Best Practices
REST API Doc Best PracticesREST API Doc Best Practices
REST API Doc Best Practices
 
Boost Your Content Strategy for REST APIs
Boost Your Content Strategy for REST APIsBoost Your Content Strategy for REST APIs
Boost Your Content Strategy for REST APIs
 
Modern App Development with Oracle Cloud
Modern App Development with Oracle CloudModern App Development with Oracle Cloud
Modern App Development with Oracle Cloud
 
HTTP/2 Comes to Java - What Servlet 4.0 Means to You
HTTP/2 Comes to Java - What Servlet 4.0 Means to YouHTTP/2 Comes to Java - What Servlet 4.0 Means to You
HTTP/2 Comes to Java - What Servlet 4.0 Means to You
 
WebSocket in Enterprise Applications 2015
WebSocket in Enterprise Applications 2015WebSocket in Enterprise Applications 2015
WebSocket in Enterprise Applications 2015
 
Leverage integration cloud_service_for_ebs_
Leverage integration cloud_service_for_ebs_Leverage integration cloud_service_for_ebs_
Leverage integration cloud_service_for_ebs_
 
Servlet 4.0 at GeekOut 2015
Servlet 4.0 at GeekOut 2015Servlet 4.0 at GeekOut 2015
Servlet 4.0 at GeekOut 2015
 
10 Building Blocks for Enterprise JavaScript
10 Building Blocks for Enterprise JavaScript10 Building Blocks for Enterprise JavaScript
10 Building Blocks for Enterprise JavaScript
 
HTTP/2 comes to Java. What Servlet 4.0 means to you. DevNexus 2015
HTTP/2 comes to Java.  What Servlet 4.0 means to you. DevNexus 2015HTTP/2 comes to Java.  What Servlet 4.0 means to you. DevNexus 2015
HTTP/2 comes to Java. What Servlet 4.0 means to you. DevNexus 2015
 
Coding for desktop and mobile with HTML5 and Java EE 7 - Geertjan Wielenga
Coding for desktop and mobile with HTML5 and Java EE 7 - Geertjan WielengaCoding for desktop and mobile with HTML5 and Java EE 7 - Geertjan Wielenga
Coding for desktop and mobile with HTML5 and Java EE 7 - Geertjan Wielenga
 
WebRTC with Java
WebRTC with JavaWebRTC with Java
WebRTC with Java
 
Imworld.ro
Imworld.roImworld.ro
Imworld.ro
 
Session at Oredev 2016.
Session at Oredev 2016.Session at Oredev 2016.
Session at Oredev 2016.
 
Slovenian Oracle User Group
Slovenian Oracle User GroupSlovenian Oracle User Group
Slovenian Oracle User Group
 
HTTP/2 Comes to Java
HTTP/2 Comes to JavaHTTP/2 Comes to Java
HTTP/2 Comes to Java
 
Oracle database 12c_and_DevOps
Oracle database 12c_and_DevOpsOracle database 12c_and_DevOps
Oracle database 12c_and_DevOps
 
2015 UJUG, Servlet 4.0 portion
2015 UJUG, Servlet 4.0 portion2015 UJUG, Servlet 4.0 portion
2015 UJUG, Servlet 4.0 portion
 
OOW15 - Oracle E-Business Suite Integration Best Practices
OOW15 - Oracle E-Business Suite Integration Best PracticesOOW15 - Oracle E-Business Suite Integration Best Practices
OOW15 - Oracle E-Business Suite Integration Best Practices
 
Beneficios de la coexistencia de ambientes híbridos utilizando SOA
Beneficios de la coexistencia de ambientes híbridos utilizando SOABeneficios de la coexistencia de ambientes híbridos utilizando SOA
Beneficios de la coexistencia de ambientes híbridos utilizando SOA
 
What's New in Oracle SQL Developer for 2018
What's New in Oracle SQL Developer for 2018What's New in Oracle SQL Developer for 2018
What's New in Oracle SQL Developer for 2018
 

More from Chris Muir

Oracle ADF Architecture TV - Deployment - System Topologies
Oracle ADF Architecture TV - Deployment - System TopologiesOracle ADF Architecture TV - Deployment - System Topologies
Oracle ADF Architecture TV - Deployment - System Topologies
Chris Muir
 
Oracle ADF Architecture TV - Development - Version Control
Oracle ADF Architecture TV - Development - Version ControlOracle ADF Architecture TV - Development - Version Control
Oracle ADF Architecture TV - Development - Version Control
Chris Muir
 
Oracle ADF Architecture TV - Development - Naming Conventions & Project Layouts
Oracle ADF Architecture TV - Development - Naming Conventions & Project LayoutsOracle ADF Architecture TV - Development - Naming Conventions & Project Layouts
Oracle ADF Architecture TV - Development - Naming Conventions & Project Layouts
Chris Muir
 
Oracle ADF Architecture TV - Development - Performance & Tuning
Oracle ADF Architecture TV - Development - Performance & TuningOracle ADF Architecture TV - Development - Performance & Tuning
Oracle ADF Architecture TV - Development - Performance & Tuning
Chris Muir
 
Oracle ADF Architecture TV - Development - Error Handling
Oracle ADF Architecture TV - Development - Error HandlingOracle ADF Architecture TV - Development - Error Handling
Oracle ADF Architecture TV - Development - Error Handling
Chris Muir
 
Oracle ADF Architecture TV - Design - Application Customization and MDS
Oracle ADF Architecture TV - Design - Application Customization and MDSOracle ADF Architecture TV - Design - Application Customization and MDS
Oracle ADF Architecture TV - Design - Application Customization and MDS
Chris Muir
 
Oracle ADF Architecture TV - Design - Designing for Security
Oracle ADF Architecture TV - Design - Designing for SecurityOracle ADF Architecture TV - Design - Designing for Security
Oracle ADF Architecture TV - Design - Designing for Security
Chris Muir
 
Oracle ADF Architecture TV - Design - Architecting for PLSQL Integration
Oracle ADF Architecture TV - Design - Architecting for PLSQL IntegrationOracle ADF Architecture TV - Design - Architecting for PLSQL Integration
Oracle ADF Architecture TV - Design - Architecting for PLSQL Integration
Chris Muir
 
Oracle ADF Architecture TV - Design - ADF Service Architectures
Oracle ADF Architecture TV - Design - ADF Service ArchitecturesOracle ADF Architecture TV - Design - ADF Service Architectures
Oracle ADF Architecture TV - Design - ADF Service Architectures
Chris Muir
 
Oracle ADF Architecture TV - Design - Task Flow Communication Pattern
Oracle ADF Architecture TV - Design - Task Flow Communication PatternOracle ADF Architecture TV - Design - Task Flow Communication Pattern
Oracle ADF Architecture TV - Design - Task Flow Communication Pattern
Chris Muir
 
Oracle ADF Architecture TV - Design - ADF BC Application Module Design
Oracle ADF Architecture TV - Design - ADF BC Application Module DesignOracle ADF Architecture TV - Design - ADF BC Application Module Design
Oracle ADF Architecture TV - Design - ADF BC Application Module Design
Chris Muir
 
Oracle ADF Architecture TV - Design - Task Flow Transaction Options
Oracle ADF Architecture TV - Design - Task Flow Transaction OptionsOracle ADF Architecture TV - Design - Task Flow Transaction Options
Oracle ADF Architecture TV - Design - Task Flow Transaction Options
Chris Muir
 
Oracle ADF Architecture TV - Design - Task Flow Data Control Scope Options
Oracle ADF Architecture TV - Design - Task Flow Data Control Scope OptionsOracle ADF Architecture TV - Design - Task Flow Data Control Scope Options
Oracle ADF Architecture TV - Design - Task Flow Data Control Scope Options
Chris Muir
 
Oracle ADF Architecture TV - Design - ADF Architectural Patterns
Oracle ADF Architecture TV - Design - ADF Architectural PatternsOracle ADF Architecture TV - Design - ADF Architectural Patterns
Oracle ADF Architecture TV - Design - ADF Architectural Patterns
Chris Muir
 
Oracle ADF Architecture TV - Design - Project Dependencies
Oracle ADF Architecture TV - Design - Project DependenciesOracle ADF Architecture TV - Design - Project Dependencies
Oracle ADF Architecture TV - Design - Project Dependencies
Chris Muir
 

More from Chris Muir (15)

Oracle ADF Architecture TV - Deployment - System Topologies
Oracle ADF Architecture TV - Deployment - System TopologiesOracle ADF Architecture TV - Deployment - System Topologies
Oracle ADF Architecture TV - Deployment - System Topologies
 
Oracle ADF Architecture TV - Development - Version Control
Oracle ADF Architecture TV - Development - Version ControlOracle ADF Architecture TV - Development - Version Control
Oracle ADF Architecture TV - Development - Version Control
 
Oracle ADF Architecture TV - Development - Naming Conventions & Project Layouts
Oracle ADF Architecture TV - Development - Naming Conventions & Project LayoutsOracle ADF Architecture TV - Development - Naming Conventions & Project Layouts
Oracle ADF Architecture TV - Development - Naming Conventions & Project Layouts
 
Oracle ADF Architecture TV - Development - Performance & Tuning
Oracle ADF Architecture TV - Development - Performance & TuningOracle ADF Architecture TV - Development - Performance & Tuning
Oracle ADF Architecture TV - Development - Performance & Tuning
 
Oracle ADF Architecture TV - Development - Error Handling
Oracle ADF Architecture TV - Development - Error HandlingOracle ADF Architecture TV - Development - Error Handling
Oracle ADF Architecture TV - Development - Error Handling
 
Oracle ADF Architecture TV - Design - Application Customization and MDS
Oracle ADF Architecture TV - Design - Application Customization and MDSOracle ADF Architecture TV - Design - Application Customization and MDS
Oracle ADF Architecture TV - Design - Application Customization and MDS
 
Oracle ADF Architecture TV - Design - Designing for Security
Oracle ADF Architecture TV - Design - Designing for SecurityOracle ADF Architecture TV - Design - Designing for Security
Oracle ADF Architecture TV - Design - Designing for Security
 
Oracle ADF Architecture TV - Design - Architecting for PLSQL Integration
Oracle ADF Architecture TV - Design - Architecting for PLSQL IntegrationOracle ADF Architecture TV - Design - Architecting for PLSQL Integration
Oracle ADF Architecture TV - Design - Architecting for PLSQL Integration
 
Oracle ADF Architecture TV - Design - ADF Service Architectures
Oracle ADF Architecture TV - Design - ADF Service ArchitecturesOracle ADF Architecture TV - Design - ADF Service Architectures
Oracle ADF Architecture TV - Design - ADF Service Architectures
 
Oracle ADF Architecture TV - Design - Task Flow Communication Pattern
Oracle ADF Architecture TV - Design - Task Flow Communication PatternOracle ADF Architecture TV - Design - Task Flow Communication Pattern
Oracle ADF Architecture TV - Design - Task Flow Communication Pattern
 
Oracle ADF Architecture TV - Design - ADF BC Application Module Design
Oracle ADF Architecture TV - Design - ADF BC Application Module DesignOracle ADF Architecture TV - Design - ADF BC Application Module Design
Oracle ADF Architecture TV - Design - ADF BC Application Module Design
 
Oracle ADF Architecture TV - Design - Task Flow Transaction Options
Oracle ADF Architecture TV - Design - Task Flow Transaction OptionsOracle ADF Architecture TV - Design - Task Flow Transaction Options
Oracle ADF Architecture TV - Design - Task Flow Transaction Options
 
Oracle ADF Architecture TV - Design - Task Flow Data Control Scope Options
Oracle ADF Architecture TV - Design - Task Flow Data Control Scope OptionsOracle ADF Architecture TV - Design - Task Flow Data Control Scope Options
Oracle ADF Architecture TV - Design - Task Flow Data Control Scope Options
 
Oracle ADF Architecture TV - Design - ADF Architectural Patterns
Oracle ADF Architecture TV - Design - ADF Architectural PatternsOracle ADF Architecture TV - Design - ADF Architectural Patterns
Oracle ADF Architecture TV - Design - ADF Architectural Patterns
 
Oracle ADF Architecture TV - Design - Project Dependencies
Oracle ADF Architecture TV - Design - Project DependenciesOracle ADF Architecture TV - Design - Project Dependencies
Oracle ADF Architecture TV - Design - Project Dependencies
 

Recently uploaded

AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
Product School
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
91mobiles
 
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Product School
 
Assuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyesAssuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyes
ThousandEyes
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
Safe Software
 
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
Product School
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance
 
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMsTo Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
Paul Groth
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Thierry Lestable
 
Key Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfKey Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdf
Cheryl Hung
 
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
Alison B. Lowndes
 
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Ramesh Iyer
 
UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3
DianaGray10
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
Alan Dix
 
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Product School
 
"Impact of front-end architecture on development cost", Viktor Turskyi
"Impact of front-end architecture on development cost", Viktor Turskyi"Impact of front-end architecture on development cost", Viktor Turskyi
"Impact of front-end architecture on development cost", Viktor Turskyi
Fwdays
 
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Jeffrey Haguewood
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
James Anderson
 

Recently uploaded (20)

AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
 
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
 
Assuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyesAssuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyes
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
 
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
 
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMsTo Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
 
Key Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfKey Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdf
 
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
 
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
 
UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
 
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...
 
"Impact of front-end architecture on development cost", Viktor Turskyi
"Impact of front-end architecture on development cost", Viktor Turskyi"Impact of front-end architecture on development cost", Viktor Turskyi
"Impact of front-end architecture on development cost", Viktor Turskyi
 
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
 

Oracle REST Data Services

  • 1. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | Creating RESTful APIs With Oracle Database REST Data Services Chris Muir Development Tools Product Management September, 2015
  • 2. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | Safe Harbor Statement The following is intended to outline our general product direction. It is intended for information purposes only, and may not be incorporated into any contract. It is not a commitment to deliver any material, code, or functionality, and should not be relied upon in making purchasing decisions. The development, release, and timing of any features or functionality described for Oracle’s products remains at the sole discretion of Oracle. 2
  • 3. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | Program Agenda REST & JSON Overview Oracle REST Data Services Overview Demonstration 1 2 3 3
  • 4. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | 4 You tell me What is REST?
  • 5. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | REpresentational State Transfer (REST) 5 An architectural style to defining, publishing and consuming APIs and services on the internet using HTTP. - Formal definition (Zzzzzz) Zzzzzzz… Think of REST as a high level protocol for exchanging data across HTTP in a computer & developer friendly way. - Anonymous product manager
  • 6. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | REpresentational State Transfer (REST) 6 Does describe how the internet works But we mostly talk about it in terms of "web services" That is software "sharing data" A contemporary replacement for "SOAP"
  • 7. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | S O A P imple bject ccess rotocol <xmlHell/> <XML/> REST { 'json':true }
  • 8. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | 8 Why should you care about REST web services?
  • 9. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | 9 Why does Oracle care about REST web services? Over 60 groups now using it as a standard The standard is driving faster adoption Common integration technology for Fusion Apps Core technology for Oracle's cloud stack
  • 10. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | 10 Why should you care about REST web services? Over 60 groups now using it as a standard The standard is driving faster adoption Common integration technology for Fusion Apps Core technology for Oracle's cloud stack Defacto development solution for web/JS, mobile etc Huge uptake across vendors, open source, IT industry Common language for integration solutions Available wherever the web is available
  • 11. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | No Really?! Why should I care about REST? 11
  • 12. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | No Really?! Why should I care about REST? 12 // Javascript var xhr = new XMLHttpRequest(); xhr.onreadystatechange = function() { if (xhr.readyState == 4) { var data = xhr.responseText; doSomething(data); } } xhr.open('GET', 'https://myhost/myapp/orders/1001’, true); xhr.send(null); // Java DefaultHttpClient httpClient = new DefaultHttpClient(); HttpGet getRequest = new HttpGet("https://myhost/myapp/orders/1001"); HttpResponse response = httpClient.execute(getRequest); BufferedReader br = new BufferedReader( new InputStreamReader((response.getEntity().getContent()))); // jquery $.getJSON( "https://myhost/myapp/orders/1001", function( data ) { doSomething(data); }); // Php <?php $url = 'http://myhost/myapp/orders/1001'; $response = file_get_contents($url); $data = json_decode($response); var_dump($data); ?> // Ruby require 'json' require 'net/http’ url = 'http://whatever/service' response = Net::HTTP.get_response(URI.parse(url)) data = JSON.parse(response.body) print data // Python import json import requests url = 'http://myhost/myapp/orders/1001' response = requests.get(url) data = response.json() print data // Android DefaultHttpClient httpClient = new DefaultHttpClient(); HttpGet getRequest = new HttpGet("https://myhost/myapp/orders/1001"); HttpResponse response = httpClient.execute(getRequest); BufferedReader br = new BufferedReader( new InputStreamReader((response.getEntity().getContent())));
  • 13. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | 13 Exam Question 1 Describe the core concepts of REST web services. Exam Question 2 Explain REST web services using pictures.
  • 14. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | http://cloud.oracle.com/mobile/index.html Understanding REST: You are already an expert Everyday you use a browser And you enter URLs to "GET" a "resource" A URL is comprised of a remote server A path And a web page "resource" of a specific "media type"
  • 15. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | http://cloud.oracle.com/mobile/index.html It's not a human accessing the resource, it's software
  • 16. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | http://cloud.oracle.com/mobile/index.html And their accessing a remote service It doesn't have to be web pages, it can be any file (media type) It's not a human accessing the resource, it's software
  • 17. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | http://cloud.oracle.com/mobile/index.html HTTP Request HTTP Response And they utilize the HTTP protocol The client makes a HTTP request The server responds There can be many request-response cycles
  • 18. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | http://cloud.oracle.com/mobile/index.html Request Response HTTP Request The HTTP request carries a payload
  • 19. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | HTTP Request GET /mobile/index.html HTTP/1.1 Host: cloud.oracle.com User-Agent: Mozilla/5.0 Chrome/3.6 Accept: text/html Accept-Language: en-us Accept-Encoding: gzip,deflate Accept-Charset: utf-8 Keep-Alive: 115 Connection: keep-alive
  • 20. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | HTTP Request GET /mobile/index.html HTTP/1.1 Host: cloud.oracle.com User-Agent: Mozilla/5.0 Chrome/3.6 Accept: text/html Accept-Language: en-us Accept-Encoding: gzip,deflate Accept-Charset: utf-8 Keep-Alive: 115 Connection: keep-alive HTTP
  • 21. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | HTTP Request GET /mobile/index.html HTTP/1.1 Host: cloud.oracle.com User-Agent: Mozilla/5.0 Chrome/3.6 Accept: text/html Accept-Language: en-us Accept-Encoding: gzip,deflate Accept-Charset: utf-8 Keep-Alive: 115 Connection: keep-alive HTTP HTTP Verb: GET/HEAD/PUT /POST/DELETE
  • 22. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | HTTP Request GET /mobile/index.html HTTP/1.1 Host: cloud.oracle.com User-Agent: Mozilla/5.0 Chrome/3.6 Accept: text/html Accept-Language: en-us Accept-Encoding: gzip,deflate Accept-Charset: utf-8 Keep-Alive: 115 Connection: keep-alive HTTP HTTP Verb: GET/HEAD/PUT /POST/DELETE URI: Server
  • 23. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | HTTP Request GET /mobile/index.html HTTP/1.1 Host: cloud.oracle.com User-Agent: Mozilla/5.0 Chrome/3.6 Accept: text/html Accept-Language: en-us Accept-Encoding: gzip,deflate Accept-Charset: utf-8 Keep-Alive: 115 Connection: keep-alive HTTP HTTP Verb: GET/HEAD/PUT /POST/DELETE URI: Server URI: Path + Resource
  • 24. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | HTTP Request GET /mobile/index.html HTTP/1.1 Host: cloud.oracle.com User-Agent: Mozilla/5.0 Chrome/3.6 Accept: text/html Accept-Language: en-us Accept-Encoding: gzip,deflate Accept-Charset: utf-8 Keep-Alive: 115 Connection: keep-alive HTTP HTTP Verb: GET/HEAD/PUT /POST/DELETE URI: Server URI: Path + Resource HTTP Headers
  • 25. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | HTTP Request GET /mobile/index.html HTTP/1.1 Host: cloud.oracle.com User-Agent: Mozilla/5.0 Chrome/3.6 Accept: text/html Accept-Language: en-us Accept-Encoding: gzip,deflate Accept-Charset: utf-8 Keep-Alive: 115 Connection: keep-alive HTTP HTTP Verb: GET/HEAD/PUT /POST/DELETE URI: Server URI: Path + Resource HTTP Headers Accept
  • 26. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | HTTP Request GET /mobile/index.html HTTP/1.1 Host: cloud.oracle.com User-Agent: Mozilla/5.0 Chrome/3.6 Accept: text/html Accept-Language: en-us Accept-Encoding: gzip,deflate Accept-Charset: utf-8 Keep-Alive: 115 Connection: keep-alive HTTP HTTP Verb: GET/HEAD/PUT /POST/DELETE URI: Server URI: Path + Resource HTTP Headers Accept No body
  • 27. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | http://cloud.oracle.com/mobile/index.html Request Response HTTP Response
  • 28. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | http://cloud.oracle.com/mobile/data.json Request Response HTTP Response HTTP/1.1 200 OK Date: 26 Jan 2015 00:02:25 GMT Server: Apache/2.0.55 (Ubuntu) Connection: Keep-Alive Etag: "1a690fe-40df-f1645340" <html> <head> <title>Oracle MCS</title> </head> ..etc..
  • 29. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | http://cloud.oracle.com/mobile/data.json Request Response HTTP Response HTTP/1.1 200 OK Date: 26 Jan 2015 00:02:25 GMT Server: Apache/2.0.55 (Ubuntu) Connection: Keep-Alive Etag: "1a690fe-40df-f1645340" <html> <head> <title>Oracle MCS</title> </head> ..etc.. Status Code
  • 30. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | http://cloud.oracle.com/mobile/data.json Request Response HTTP Response HTTP/1.1 200 OK Date: 26 Jan 2015 00:02:25 GMT Server: Apache/2.0.55 (Ubuntu) Connection: Keep-Alive Etag: "1a690fe-40df-f1645340" <html> <head> <title>Oracle MCS</title> </head> ..etc.. Payload Status Code
  • 31. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | Understanding REST: The four slide introduction • Resources • HTTP verbs • Status codes • Media types http://host/path/departmentsGET http://host/path/employeesGET http://host/path/departments/hrGET http://host/path/employees/101GET http://host/path/departments/hr/employeesGET
  • 32. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | Understanding REST: The four slide introduction • Resources • HTTP verbs • Status codes • Media types DELETE PUT HEAD GET POST 'Read' a resource 'Create' a resource 'Update or Create' 'Delete' a resource 'Read' resource headers
  • 33. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | Understanding REST: The four slide introduction • Resources • HTTP verbs • Status codes • Media types Informational Success Redirection Client Error Server Error 4xx 3xx 5xx 1xx 2xx
  • 34. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | Understanding REST: The four slide introduction • Resources • HTTP verbs • Status codes • Media types Payload type 'requested' by client – Via HTTP Parameter "accept" – Defines MIME types. e.g. • application/json, application/xml, image/gif {"departments: [ {"id":"MAN","name":"Manfacturing"}, {"id":"HR","name":"Human Resources"}, {"id":"FIN","name":"Finance"}, ...etc... ]}
  • 35. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | Understanding JSON: The three slide introduction JSON is a standard using human-readable text to transmit data objects of attribute-value pairs. It is typically used in machine to machine communications and is a contemporary replacement for the older XML standard. - Wikipedia { "firstName":"John", "lastName":"Smith", "isAlive":true, "age":25, "address": { "streetAddress":"21 2nd Street", "city":"New York", "state":"NY", "postalCode":"10021-3100" }, "phoneNumbers": [ {"type":"home", "number":"1234"}, {"type":"office","number":"4567"} ], "children":[], "spouse":null }
  • 36. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | • Textual data payloads • Human readable • Supports validation & schemas • "Fat free" alternative to XML • Compact mobile friendly payloads • JavaScript has inbuilt support Understanding JSON: The three slide introduction { "firstName":"John", "lastName":"Smith", "isAlive":true, "age":25, "address": { "streetAddress":"21 2nd Street", "city":"New York", "state":"NY", "postalCode":"10021-3100" }, "phoneNumbers": [ {"type":"home", "number":"1234"}, {"type":"office","number":"4567"} ], "children":[], "spouse":null }
  • 37. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | { "firstName":"John", "lastName":"Smith", "isAlive":true, "age":25, "address": { "streetAddress":"21 2nd Street", "city":"New York", "state":"NY", "postalCode":"10021-3100" }, "phoneNumbers": [ {"type":"home", "number":"1234"}, {"type":"office","number":"4567"} ], "children":[], "spouse":null } • Blocks delineated by ellipses • Key-value pairs, separated by colon – Key with quotes – Strings & dates with quotes – Boolean, integers, null without quotes – Supports nesting of records – Supports arrays/collections – Empty array – Null values • Elements are comma delimited Understanding JSON: The three slide introduction
  • 38. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | 38 Why?Congratulations! You're now a REST expert I feel kind of… icky
  • 39. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | Program Agenda REST & JSON Overview Oracle REST Data Services Overview Demonstration 1 2 3 39
  • 40. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |  Provides external data access via HTTP  For modern development frameworks  REST is contemporary choice for  JavaScript (web), mobile, cloud solutions  Maps standard HTTP/S RESTful calls to SQL  Declaratively returns results in JSON format  Supports high number of end users 40 Oracle REST Data Services (ORDS)
  • 41. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | 41 Release History Version Date Description 1.0 2010 First release as Oracle APEX Listener with with support for OWA toolkit used by APEX 1.1 2011 First release with REST support for JSON, Microdata, CSV, Pagination. Also added FOP 2.0 2012 OAuth2 support, Integrated with APEX, Multi Database, SQL Developer integration 2.0.5 2013 Added PDB support 2.0.6 2014 Renamed to Oracle REST Data Services to emphasize REST commitment 2.0.8 2014 Added REST Filtering 3.0 2015 REST AutoTable, NoSQL, DB12 JSON, Bulk loading over REST,…
  • 42. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | Oracle DatabaseHTTP/S client Oracle REST Data Services Transform
  • 43. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | Oracle DatabaseHTTP/S client Oracle REST Data Services Transform ORDS runs in any Java EE container: e.g. WLS, Tomcat, Glassfish HTTP/S Enhanced version of the Oracle Java mod_plsql Apache module There’s also a standalone version for dev purposes It comes by default with Oracle DBaaS
  • 44. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | Oracle DatabaseHTTP/S client Oracle REST Data Services Transform HTTP/S https://myhost/myapp/sales/orders/1001 HTTP/S & URI Module Template Client makes a HTTP 'GET' request Context Root
  • 45. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | Oracle DatabaseHTTP/S client Oracle REST Data Services Transform https://myhost/myapp/sales/orders/1001 HTTP/S & URI Module Template ORDS maps to "ORDERS" SQL Context Root Map and Bind SELECT * FROM ORDERS WHERE ORDERNO = :b1 HTTP/S
  • 46. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | Oracle DatabaseHTTP/S client Oracle REST Data Services Transform https://myhost/myapp/sales/orders/1001 HTTP/S & URI Module Template JDBC SQL Call Context Root SELECT * FROM ORDERS WHERE ORDERNO = :b1 SQLMap and BindHTTP/S
  • 47. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | Oracle DatabaseHTTP/S client Oracle REST Data Services Transform https://myhost/myapp/sales/orders/1001 HTTP/S & URI Module TemplateContext Root SELECT * FROM ORDERS WHERE ORDERNO = :b1 SQLMap and Bind Result Set DB returns result set HTTP/S
  • 48. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | Oracle DatabaseHTTP/S client Oracle REST Data Services Transform https://myhost/myapp/sales/orders/1001 HTTP/S & URI Module TemplateContext Root SELECT * FROM ORDERS WHERE ORDERNO = :b1 SQLMap and Bind Transform Result Set { "orderno": 1001, "name": "Scott King", "address": "500 Main street, Innovation CA", "items": [ { "itemno": 404, "quantity": 7, "status": "in process"}, { "itemno": 303, "quantity": 32, "status": "closed"} ] } HTTP/S Transform to JSON, CSV, Excel or Binary
  • 49. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | Oracle DatabaseHTTP/S client Oracle REST Data Services Transform https://myhost/myapp/sales/orders/1001 HTTP/S & URI Module TemplateContext Root SELECT * FROM ORDERS WHERE ORDERNO = :b1 SQLMap and Bind { "orderno": 1001, "name": "Scott King", "address": "500 Main street, Innovation CA", "items": [ { "itemno": 404, "quantity": 7, "status": "in process"}, { "itemno": 303, "quantity": 32, "status": "closed"} ] } JSON HTTP/S Response to HTTP request Transform Result Set
  • 50. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | Summary: Serving JSON results from the database  App developers call named URI over HTTP(S) to retrieve and update data  Oracle REST Data Services (ORDS) Developer defines URI<>SQL mapping/binding  Utilizes the data stored in standard relational tables and columns Oracle Database HTTP/S HTTP/S client Map and Bind SQL Transform Result SetJSON Oracle REST Data Services Transform
  • 51. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | Program Agenda REST & JSON Overview Oracle REST Data Services Overview Demonstration 1 2 3 51
  • 52. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | 52 http://bit.ly/letstalkoracle001
  • 53. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | 53
  • 54. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | Installing ORDS support in the Database • Several routes: 1. Scripts 2. APEX 3. SQL Developer 54
  • 55. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | 55
  • 56. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | 56
  • 57. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | 57
  • 58. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | 58
  • 59. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | 59
  • 60. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | 60
  • 61. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | 61
  • 62. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | 62
  • 63. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | 63
  • 64. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | 64
  • 65. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | 65
  • 66. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | 66
  • 67. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | 67
  • 68. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | 68
  • 69. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | 69
  • 70. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | 70
  • 71. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | 71
  • 72. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | 72
  • 73. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | 73
  • 74. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | Enabling ORDS support in the Database • Several routes: 1. PL/SQL APIs 2. APEX 3. SQL Developer 74
  • 75. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | Enabling AutoREST Support 75
  • 76. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | 76
  • 77. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | 77
  • 78. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | 78
  • 79. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | 79
  • 80. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | 80
  • 81. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | 81
  • 82. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | 82
  • 83. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | 83
  • 84. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | 84
  • 85. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | 85
  • 86. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | 86
  • 87. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | 87
  • 88. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | 88
  • 89. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | 89
  • 90. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | 90
  • 91. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | • Add as ?q=<filter> • Ensure to escape the filter • Operators – $eq,$gt,$lt,$lte,$gte, – $ne,$instr,$asof • Logical – $and, $or • Examples: ?q={ "qty": { "$gt": 20 } } ?q={"$and": [{"price": {"$ne": 1.99}},{"price": {"$notnull": ""}}] ?q={"price": [{"$ne": 1.99}},{"$notnull": ""}] ?q={"$or": [{"qty": {"$lt": 20}},{"sale": {"$eq": "TRUE"}}] ?q={$asof: {"$timestamp": ”……"}} Generic Filtering via URI Query Support
  • 92. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | Configuring Modules & Templates 92
  • 93. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | 93
  • 94. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | 94
  • 95. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | 95
  • 96. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | 96
  • 97. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | 97
  • 98. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | 98
  • 99. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | 99
  • 100. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | 100
  • 101. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | 101
  • 102. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | 102
  • 103. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | 103
  • 104. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | 104
  • 105. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | 105
  • 106. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | 106
  • 107. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | 107
  • 108. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | 108
  • 109. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | 109
  • 110. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | 110
  • 111. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | 111
  • 112. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | 112
  • 113. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | 113
  • 114. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | 114
  • 115. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | 115
  • 116. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | 116 For you to understand Common IT language Unlock your IT silos Unlock your data Data is a key asset Drive the business Consider the API world Consider Microservices Overall REST should be a key technology for:
  • 117. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | 117 JSON inside the db PL/JSON, APEX_JSON.. REST & JSON out of the db Node.js DB Driver, ORDS.. ….#cough #cough and just about every middleware product #hint #hint. Don't forget the alternatives:
  • 118. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | Learn More With Gordon Smith 118 http://bit.ly/letstalkoracle003
  • 119. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | 119

Editor's Notes

  1. This is a Safe Harbor Front slide, one of two Safe Harbor Statement slides included in this template. One of the Safe Harbor slides must be used if your presentation covers material affected by Oracle’s Revenue Recognition Policy To learn more about this policy, e-mail: Revrec-americasiebc_us@oracle.com For internal communication, Safe Harbor Statements are not required. However, there is an applicable disclaimer (Exhibit E) that should be used, found in the Oracle Revenue Recognition Policy for Future Product Communications. Copy and paste this link into a web browser, to find out more information.   http://my.oracle.com/site/fin/gfo/GlobalProcesses/cnt452504.pdf For all external communications such as press release, roadmaps, PowerPoint presentations, Safe Harbor Statements are required. You can refer to the link mentioned above to find out additional information/disclaimers required depending on your audience.