SlideShare a Scribd company logo
1 of 52
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
Developing RESTful
Services
w/Oracle REST Data Services (ORDS) &
Oracle SQL Developer
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
whoami
 a tools geek since 2001
 blogs at thatjeffsmith.com tweets at @thatjeffsmith
 Product Manager for
 SQL Developer
 SQLcl
 SQL Developer Data Modeler
 Oracle REST Data Services
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
Safe Harbor Statement
The preceding 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.
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
Program Agenda
REST is Ubiquitous…What is REST?
Overview of ORDS (flexible, extensible, secure)
Automatic REST Feature for Tables: Examples
1
2
3
4
5
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
REST…What is it and why should we care?
REST has become a foundational part of web application stacks
5
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
REpresentational State Transfer (REST) is Everywhere
• REST is easy to grasp, easy to learn and easy to use
– Small uniform set of operations: GET, POST, PUT, DELETE etc that work similarly across all APIs
– Small set of uniform status codes: 200, 201, 404, 500, …
– URLs & hyperlinks encourage stateless behavior, easy to dive in and test out APIs
– Text based protocol with simple request/response model, easy to introspect and understand
– Accessible from any application platform or programming language
• Like HTTP, TCP & Unix, REST has become a foundational part of the computing world
6
REST APIs are the norm, and will continue to be for the foreseeable
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
Oracle REST Data Services (ORDS)
• ORDS Enables Developers With Database Skills to Develop REST and JSON
APIs for Oracle Database
– Just need SQL, PL/SQL, and Oracle Database knowledge
– Low code solution…
– …no need to learn Java!
• ORDS enables data access developers to
– Automatically generate REST APIs for basic functions on tables and views
• GET (query), PUT (insert), POST (update), etc.
– Write REST APIs that call custom SQL queries and PL/SQL procedures
7
So How Does ORDS Fit Into This?
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
What is ORDS?
• Java JEE mid tier application, e.g., WebLogic, Tomcat, Glassfish
– Also supports “Standalone” mode for development via embedded Jetty
• For input, maps/binds URI to SQL and PL/SQL
• For output, transforms results to JSON and other formats
8
Oracle REST Data ServicesHTTP(S) client Oracle Database
SQLMap & BindURI
JSON Transform to JSON SQL Result Set
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
• JavaScript Object Notation
– Derived from JS, but many languages have native support
• Lighter than XML
• Easy for humans to read/write
• Easy for machines to parse/generate
What is JSON? (JAY-sun)
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
Supports Multiple Oracle Data Stores
10
Oracle
REST Data Service
REST
Oracle NoSQL Database
Oracle Database 12c (Document Store)
Oracle Database (Relational)
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
Going from REST to the Database & Back
• Let’s review quickly how the Resource Collection Model works
• Sending data up to the database via ORDS and receiving data back relies on this model
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
The Resource Collection
A RESTful Design Pattern
12
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
Resource Collection Pattern
• MASTER RESOURCE: called the Collection URI:
A Table (or View)
https://site.com/ords/hr/employees/
• DETAIL RESOURCE; called the Item URI:
A Record in Said Table (or View)
https://site.com/ords/hr/employees/:id (:id => Primary
Key)
13
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
Example REST Resource
Resource has:
- tabular data
- nested data
- hyperlinks
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
Ok, Let’s Get to the Good Stuff!
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
ORDS is THE REST Solution for Oracle Database
• Custom SQL and PL/SQL
– Data binding or OWA Toolkit (HTP.P)
• Auto Table Enablement
– CRUD + Bulk Load
• Auto PL/SQL Enablement (RPC)
– Full to and from JSON support
• Full SQL Scripting
– sqldev/sqlcl library via REST
• Predefined OS Command
– Initially used in DBAAS Monitor
• Native Java Code
– Get Info directly from JDBC properties
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
AUTO REST for Tables
Examples
17
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
Auto enablement of RESTful request modules,
publishes these URI Handlers for Tables & Views
Requires ZERO code
• Table Metadata
• Get ( Select )
• Query ( Filtering )
• Insert
• Update
• Delete
• Bulk load
Auto Table/VIEW APIs/REST End Points
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
DECLARE
PRAGMA AUTONOMOUS_TRANSACTION;
BEGIN
ORDS.ENABLE_OBJECT(p_enabled => TRUE,
p_schema => 'HR',
p_object => 'DEPARTMENTS',
p_object_type => 'TABLE',
p_object_alias => 'depts',
p_auto_rest_auth => FALSE);
commit;
END;
GUI & PL/SQL APIs Available
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
Retrieve the Collection Metadata
METHOD : GET
RESPONSE: 200 OK
• JSON
• Collection (Schema)
• Canonical
• Describes (Table)
Screenshots demonstrate REST calls using POSTMAN
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
Retrieve the Collection (Table – All of the Rows)
21
200
JSON
METHOD : GET
RESPONSE: 200 OK
• JSON
• More?
• Next Page
• First Page
• Described By
• Self
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
Retrieve a Detail Resource (Table – A Specific Row)
22
METHOD : GET /:PK
RESPONSE: 200 OK
• JSON
• Self
• Described By
• Collection
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
Apply Predicates to Your Collection (Table – Where/Order)
METHOD : GET /?q={pred}
RESPONSE: 200 OK
• JSON
• More?
• Next Page
• First Page
• Described By
• Self
?q={"department_id": {
"$lt": 3}
}
…
WHERE DEPARTMENT_ID < 3
FULL Docs/Examples
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
Add a Row
24
METHOD : POST
REQUEST BODY : JSON
RESPONSE: 201 Created
• Location (Header)
• JSON (Body)
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
Update a Row
25
METHOD : PUT /:PK
REQUEST BODY : JSON
RESPONSE: 200 OK
• Location (Header)
• JSON (Body)
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
Delete a Row
METHOD : DELETE /:ID
RESPONSE: 200 OK
• JSON (Body)
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
Batch Load
METHOD : POST /batchload
REQUEST BODY : CSV
RESPONSE: 200 OK
• Text (Body)
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
A Quick Review…
DELETE
POST
GET
PUT
/some/collection/ ‘Read’ a Collection
/some/collection/:id ‘Update’ an Item
/some/collection/:id ‘Read’ an Item
/some/collection/ ‘Add’ an Item
/some/collection/:id ‘Delete’ an Item
GET
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
Database Resources available via REST/ORDS
• AUTO REST Tables and Views – Available TODAY
• SQL & PL/SQL Code Blocks – Available TODAY
• AUTO RPC Store Procedures
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
• Execute via POST
• Pass parameters via BODY {JSON}
• Output returned as {JSON}
– REFCURSORs? Check!
– Complex types, SDO_GEOMETRY,
Intervals, Custom types? Check!
Auto-Publish URI’s for PL/SQL Programs
Remote Procedure Call (RPC)
AUTO Support for PL/SQL Programs
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
Execute a Stored Procedure
METHOD : POST
REQUEST BODY : JSON
RESPONSE: 200 OK
• JSON (Body)
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
Oracle REST Data Services: RESTful Services
When AUTO is Not Enough
RESTful Services
• Execute any SQL or PL/SQL
• Module => Template(s) => Handler(s)
• PL/SQL API and GUI Support
• SECURE! Priv & Role Driven
• Supports OAUTH2
• Example (DOCS)
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
REST Development – in Oracle SQL Developer
Oracle SQL Developer version 4.2
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
REST Development – in Oracle SQL Developer
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
REST Development – CLI?
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
ALL APIs and No APPS Makes REST a Boring Boy…
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
Using Oracle JET with ORDS
Building rich web & mobile apps using REST APIs
37
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
Oracle JET & Oracle REST Data Services
• Both Oracle JET & Oracle REST Data Services comply with the Oracle REST
Standard, as do many other Oracle products that offer a REST API.
• The centrepiece of this standard is the Collection Resource Pattern we
discussed earlier
• Oracle JET provides rich functionality for interacting with REST Collections
• This makes it super-easy to wire JET UIs and ORDS APIs together
38
Meant to go together
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
<script type="text/javascript" language="javascript">
$(document).ready(function() {
$.getJSON("http://servername/ords/db/demo/emp",
function(data) {
$(data.items).each(function (index, value) {
$("#rpt").append(
'<tr>'
+ '<td class="text-center"><a href="form.html#'
+ value.empno + '">Edit</a></td>'
+ '<td class="text-right">' + value.empno +
'</td>'
+ '<td class="text-center">' + value.dname +
'</td>'
+ '<td class="text-left">' + value.ename +
'</td>'
+ '<td class="text-left">' + value.job +
'</td>'
+ '<td class="text-right">' + value.sal +
'</td>'
+ '<td class="text-right">' + value.sal_diff +
'</td>'
+ '<td class="text-right">' + value.comm + '</td>
+ '<td class="text-center">' + value.rank +
'</td>'
+ '</tr>');
});
});
});
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
Powered by Oracle JET, ORDS, REST, and the Oracle Public Cloud
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
REST API for the Database Itself
41
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
A customer asked for REST services that could be used to
• INSTALL Oracle
• CREATE DATABASE
PUT /database/ ?
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
• Take existing, internal APIs and ‘clean up’ for public consumption
• Consistent URIs for Cloud (across services) and On Premises
• Deploy via ORDS Updates
• ORDS Dev Calendar to Synch up with Cloud, Quarterly Updates
• Prioritize around Lifecyle Operations
• APIs will have Swagger style Oracle DOCs treatment
The Plan
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
Lifecycle Is Critical – Automate Everything
Operational ‘Buckets’
• VM
• Database
• Backup & Recovery
• Instance Management
• Security
• Performance
• Features
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
The ‘Buckets’
Security
Instance
VM
DB
Backup
Perf
State(start, stop, status), Shape(current, change), Image(copy, move,
drop, snapshot…
Params(list, change), State(create, drop, clone, start, stop, relocate,
plug, unplug…)
Locations(list, update), Windows(list, update), Backups(list, details),
Backup(now, backup to trace)…
Sessions(List, Kill, Trace), Pools(Flush), Logging(Current, Switch),
Storage(tblspc-add, edit, list)
Auditing(Trails, ChangeSettings, Delete), User(list, create, drop, list
privs, grant/revoke priv), Roles(list, create, drop…)
AWR, ADDM, ASH, SQL Tuning Advisor, RTSM
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
Automatic API Doc
Gen via Swagger
• Inventory REST API
• Descriptions
• Examples
• Test via Curl
• Oracle Docs Integration
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
Securing REST APIs
47
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
ORDS is Flexible - Security
Caveats
• Almost all dev/demo/blog is done with security off & with HTTP
• Always, always, always secure REST services and run with HTTPS
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
First Party Authentication
• Oracle REST Data Services specific solution
• Only available to the author of the API, application must be deployed on
same origin as API
• https://example.com/api & https://example.com/app ✓
• https://api.example.com & https://app.example.com ✗
• User enters credentials in sign-in form, ORDS issues cookie, cookie is only
validated by ORDS if the request is determined to originate from the from
the same origin as the REST Service.
49
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
About OAuth 2.0
• IETF standard for securing access to REST APIs
• Comes in two forms:
• Two Legged - For Business to Business, server to server applications
• Example: Sync HR data between internal applications
• Three Legged - For Business to Consumer, app to end-user applications
• Example: Share subset of HR data with external benefits provider after
employee approves access.
• Third party registers client, issued credentials, uses credentials to acquire
access token, uses access token with request to prove authorization
50
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
External Authentication
• Comes in many flavors, for example:
• Oracle Access Manager - SSO cookie at Oracle OHS server level
authenticates users stored in Oracle Identity Manager
• ORDS does not perform authentication, just authorization.
• Usually relies on HTTP cookies, need to restrict CORS allowed Origins to
avoid CSRF
51
APEX Authentication too (read users from a db table)
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
Learn More
About Oracle REST Data Services
oracle.com/rest
@OracleREST @cdivilly
@krisrice @thatjeffsmith

More Related Content

What's hot

Sqoop on Spark for Data Ingestion
Sqoop on Spark for Data IngestionSqoop on Spark for Data Ingestion
Sqoop on Spark for Data IngestionDataWorks Summit
 
Oracle Drivers configuration for High Availability, is it a developer's job?
Oracle Drivers configuration for High Availability, is it a developer's job?Oracle Drivers configuration for High Availability, is it a developer's job?
Oracle Drivers configuration for High Availability, is it a developer's job?Ludovico Caldara
 
The Top 5 Reasons to Deploy Your Applications on Oracle RAC
The Top 5 Reasons to Deploy Your Applications on Oracle RACThe Top 5 Reasons to Deploy Your Applications on Oracle RAC
The Top 5 Reasons to Deploy Your Applications on Oracle RACMarkus Michalewicz
 
Oracle GoldenGate Performance Tuning
Oracle GoldenGate Performance TuningOracle GoldenGate Performance Tuning
Oracle GoldenGate Performance TuningBobby Curtis
 
Oracle_Multitenant_19c_-_All_About_Pluggable_D.pdf
Oracle_Multitenant_19c_-_All_About_Pluggable_D.pdfOracle_Multitenant_19c_-_All_About_Pluggable_D.pdf
Oracle_Multitenant_19c_-_All_About_Pluggable_D.pdfSrirakshaSrinivasan2
 
Oracle 12c PDB insights
Oracle 12c PDB insightsOracle 12c PDB insights
Oracle 12c PDB insightsKirill Loifman
 
MongoDB Fundamentals
MongoDB FundamentalsMongoDB Fundamentals
MongoDB FundamentalsMongoDB
 
Oracle RAC Internals - The Cache Fusion Edition
Oracle RAC Internals - The Cache Fusion EditionOracle RAC Internals - The Cache Fusion Edition
Oracle RAC Internals - The Cache Fusion EditionMarkus Michalewicz
 
Practical Operation Automation with StackStorm
Practical Operation Automation with StackStormPractical Operation Automation with StackStorm
Practical Operation Automation with StackStormShu Sugimoto
 
Oracle sharding : Installation & Configuration
Oracle sharding : Installation & ConfigurationOracle sharding : Installation & Configuration
Oracle sharding : Installation & Configurationsuresh gandhi
 
Oracle Active Data Guard: Best Practices and New Features Deep Dive
Oracle Active Data Guard: Best Practices and New Features Deep Dive Oracle Active Data Guard: Best Practices and New Features Deep Dive
Oracle Active Data Guard: Best Practices and New Features Deep Dive Glen Hawkins
 
Oracle Multitenant meets Oracle RAC - IOUG 2014 Version
Oracle Multitenant meets Oracle RAC - IOUG 2014 VersionOracle Multitenant meets Oracle RAC - IOUG 2014 Version
Oracle Multitenant meets Oracle RAC - IOUG 2014 VersionMarkus Michalewicz
 
Low Latency OLAP with Hadoop and HBase
Low Latency OLAP with Hadoop and HBaseLow Latency OLAP with Hadoop and HBase
Low Latency OLAP with Hadoop and HBaseDataWorks Summit
 
MySQL InnoDB Cluster and Group Replication in a Nutshell
MySQL InnoDB Cluster and Group Replication in a NutshellMySQL InnoDB Cluster and Group Replication in a Nutshell
MySQL InnoDB Cluster and Group Replication in a NutshellFrederic Descamps
 
REST Enabling your Oracle Database (2018 Update)
REST Enabling your Oracle Database (2018 Update)REST Enabling your Oracle Database (2018 Update)
REST Enabling your Oracle Database (2018 Update)Jeff Smith
 
Extreme Replication - Performance Tuning Oracle GoldenGate
Extreme Replication - Performance Tuning Oracle GoldenGateExtreme Replication - Performance Tuning Oracle GoldenGate
Extreme Replication - Performance Tuning Oracle GoldenGateBobby Curtis
 
Integrating Microservices with Apache Camel
Integrating Microservices with Apache CamelIntegrating Microservices with Apache Camel
Integrating Microservices with Apache CamelChristian Posta
 
Oracle RAC Virtualized - In VMs, in Containers, On-premises, and in the Cloud
Oracle RAC Virtualized - In VMs, in Containers, On-premises, and in the CloudOracle RAC Virtualized - In VMs, in Containers, On-premises, and in the Cloud
Oracle RAC Virtualized - In VMs, in Containers, On-premises, and in the CloudMarkus Michalewicz
 
The Proxy Wars - MySQL Router, ProxySQL, MariaDB MaxScale
The Proxy Wars - MySQL Router, ProxySQL, MariaDB MaxScaleThe Proxy Wars - MySQL Router, ProxySQL, MariaDB MaxScale
The Proxy Wars - MySQL Router, ProxySQL, MariaDB MaxScaleColin Charles
 
MySQL InnoDB Cluster - New Features in 8.0 Releases - Best Practices
MySQL InnoDB Cluster - New Features in 8.0 Releases - Best PracticesMySQL InnoDB Cluster - New Features in 8.0 Releases - Best Practices
MySQL InnoDB Cluster - New Features in 8.0 Releases - Best PracticesKenny Gryp
 

What's hot (20)

Sqoop on Spark for Data Ingestion
Sqoop on Spark for Data IngestionSqoop on Spark for Data Ingestion
Sqoop on Spark for Data Ingestion
 
Oracle Drivers configuration for High Availability, is it a developer's job?
Oracle Drivers configuration for High Availability, is it a developer's job?Oracle Drivers configuration for High Availability, is it a developer's job?
Oracle Drivers configuration for High Availability, is it a developer's job?
 
The Top 5 Reasons to Deploy Your Applications on Oracle RAC
The Top 5 Reasons to Deploy Your Applications on Oracle RACThe Top 5 Reasons to Deploy Your Applications on Oracle RAC
The Top 5 Reasons to Deploy Your Applications on Oracle RAC
 
Oracle GoldenGate Performance Tuning
Oracle GoldenGate Performance TuningOracle GoldenGate Performance Tuning
Oracle GoldenGate Performance Tuning
 
Oracle_Multitenant_19c_-_All_About_Pluggable_D.pdf
Oracle_Multitenant_19c_-_All_About_Pluggable_D.pdfOracle_Multitenant_19c_-_All_About_Pluggable_D.pdf
Oracle_Multitenant_19c_-_All_About_Pluggable_D.pdf
 
Oracle 12c PDB insights
Oracle 12c PDB insightsOracle 12c PDB insights
Oracle 12c PDB insights
 
MongoDB Fundamentals
MongoDB FundamentalsMongoDB Fundamentals
MongoDB Fundamentals
 
Oracle RAC Internals - The Cache Fusion Edition
Oracle RAC Internals - The Cache Fusion EditionOracle RAC Internals - The Cache Fusion Edition
Oracle RAC Internals - The Cache Fusion Edition
 
Practical Operation Automation with StackStorm
Practical Operation Automation with StackStormPractical Operation Automation with StackStorm
Practical Operation Automation with StackStorm
 
Oracle sharding : Installation & Configuration
Oracle sharding : Installation & ConfigurationOracle sharding : Installation & Configuration
Oracle sharding : Installation & Configuration
 
Oracle Active Data Guard: Best Practices and New Features Deep Dive
Oracle Active Data Guard: Best Practices and New Features Deep Dive Oracle Active Data Guard: Best Practices and New Features Deep Dive
Oracle Active Data Guard: Best Practices and New Features Deep Dive
 
Oracle Multitenant meets Oracle RAC - IOUG 2014 Version
Oracle Multitenant meets Oracle RAC - IOUG 2014 VersionOracle Multitenant meets Oracle RAC - IOUG 2014 Version
Oracle Multitenant meets Oracle RAC - IOUG 2014 Version
 
Low Latency OLAP with Hadoop and HBase
Low Latency OLAP with Hadoop and HBaseLow Latency OLAP with Hadoop and HBase
Low Latency OLAP with Hadoop and HBase
 
MySQL InnoDB Cluster and Group Replication in a Nutshell
MySQL InnoDB Cluster and Group Replication in a NutshellMySQL InnoDB Cluster and Group Replication in a Nutshell
MySQL InnoDB Cluster and Group Replication in a Nutshell
 
REST Enabling your Oracle Database (2018 Update)
REST Enabling your Oracle Database (2018 Update)REST Enabling your Oracle Database (2018 Update)
REST Enabling your Oracle Database (2018 Update)
 
Extreme Replication - Performance Tuning Oracle GoldenGate
Extreme Replication - Performance Tuning Oracle GoldenGateExtreme Replication - Performance Tuning Oracle GoldenGate
Extreme Replication - Performance Tuning Oracle GoldenGate
 
Integrating Microservices with Apache Camel
Integrating Microservices with Apache CamelIntegrating Microservices with Apache Camel
Integrating Microservices with Apache Camel
 
Oracle RAC Virtualized - In VMs, in Containers, On-premises, and in the Cloud
Oracle RAC Virtualized - In VMs, in Containers, On-premises, and in the CloudOracle RAC Virtualized - In VMs, in Containers, On-premises, and in the Cloud
Oracle RAC Virtualized - In VMs, in Containers, On-premises, and in the Cloud
 
The Proxy Wars - MySQL Router, ProxySQL, MariaDB MaxScale
The Proxy Wars - MySQL Router, ProxySQL, MariaDB MaxScaleThe Proxy Wars - MySQL Router, ProxySQL, MariaDB MaxScale
The Proxy Wars - MySQL Router, ProxySQL, MariaDB MaxScale
 
MySQL InnoDB Cluster - New Features in 8.0 Releases - Best Practices
MySQL InnoDB Cluster - New Features in 8.0 Releases - Best PracticesMySQL InnoDB Cluster - New Features in 8.0 Releases - Best Practices
MySQL InnoDB Cluster - New Features in 8.0 Releases - Best Practices
 

Similar to REST Enabling Your Oracle Database

Oracle database 12c_and_DevOps
Oracle database 12c_and_DevOpsOracle database 12c_and_DevOps
Oracle database 12c_and_DevOpsMaria Colgan
 
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 2018Jeff Smith
 
Change Management for Oracle Database with SQLcl
Change Management for Oracle Database with SQLcl Change Management for Oracle Database with SQLcl
Change Management for Oracle Database with SQLcl Jeff Smith
 
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
 
NoSQL and SQL - Why Choose? Enjoy the best of both worlds with MySQL
NoSQL and SQL - Why Choose? Enjoy the best of both worlds with MySQLNoSQL and SQL - Why Choose? Enjoy the best of both worlds with MySQL
NoSQL and SQL - Why Choose? Enjoy the best of both worlds with MySQLAndrew Morgan
 
MySQL Cluster as Transactional NoSQL (KVS)
MySQL Cluster as Transactional NoSQL (KVS)MySQL Cluster as Transactional NoSQL (KVS)
MySQL Cluster as Transactional NoSQL (KVS)Ryusuke Kajiyama
 
Oracle restful api & data live charting by Oracle Apex - داشبورد آنلاین (داده...
Oracle restful api & data live charting by Oracle Apex - داشبورد آنلاین (داده...Oracle restful api & data live charting by Oracle Apex - داشبورد آنلاین (داده...
Oracle restful api & data live charting by Oracle Apex - داشبورد آنلاین (داده...mahdi ahmadi
 
Introdução ao Oracle NoSQL
Introdução ao Oracle NoSQLIntrodução ao Oracle NoSQL
Introdução ao Oracle NoSQLBruno Borges
 
A practical introduction to Oracle NoSQL Database - OOW2014
A practical introduction to Oracle NoSQL Database - OOW2014A practical introduction to Oracle NoSQL Database - OOW2014
A practical introduction to Oracle NoSQL Database - OOW2014Anuj Sahni
 
Hacking Oracle Web Applications With Metasploit
Hacking Oracle Web Applications With MetasploitHacking Oracle Web Applications With Metasploit
Hacking Oracle Web Applications With MetasploitChris Gates
 
MySQL Document Store
MySQL Document StoreMySQL Document Store
MySQL Document StoreMario Beck
 
OUGN 2016: Experiences with REST support on OSB/SOA Suite
OUGN 2016: Experiences with REST support on OSB/SOA SuiteOUGN 2016: Experiences with REST support on OSB/SOA Suite
OUGN 2016: Experiences with REST support on OSB/SOA SuiteJon Petter Hjulstad
 
RMOUG MySQL 5.7 New Features
RMOUG MySQL 5.7 New FeaturesRMOUG MySQL 5.7 New Features
RMOUG MySQL 5.7 New FeaturesDave Stokes
 
REST - Why, When and How? at AMIS25
REST - Why, When and How? at AMIS25REST - Why, When and How? at AMIS25
REST - Why, When and How? at AMIS25Jon Petter Hjulstad
 
Expose your data as an api is with oracle rest data services -spoug Madrid
Expose your data as an api is with oracle rest data services -spoug MadridExpose your data as an api is with oracle rest data services -spoug Madrid
Expose your data as an api is with oracle rest data services -spoug MadridVinay Kumar
 
ODTUG_NoPlsql_vs_SmartDB_Part1_and_2.pptx
ODTUG_NoPlsql_vs_SmartDB_Part1_and_2.pptxODTUG_NoPlsql_vs_SmartDB_Part1_and_2.pptx
ODTUG_NoPlsql_vs_SmartDB_Part1_and_2.pptxToon Koppelaars
 
Oracle Application Express 20.2 New Features
Oracle Application Express 20.2 New FeaturesOracle Application Express 20.2 New Features
Oracle Application Express 20.2 New Featuresmsewtz
 
OUGLS 2016: Guided Tour On The MySQL Source Code
OUGLS 2016: Guided Tour On The MySQL Source CodeOUGLS 2016: Guided Tour On The MySQL Source Code
OUGLS 2016: Guided Tour On The MySQL Source CodeGeorgi Kodinov
 

Similar to REST Enabling Your Oracle Database (20)

Oracle database 12c_and_DevOps
Oracle database 12c_and_DevOpsOracle database 12c_and_DevOps
Oracle database 12c_and_DevOps
 
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
 
Databasecentricapisonthecloudusingplsqlandnodejscon3153oow2016 160922021655
Databasecentricapisonthecloudusingplsqlandnodejscon3153oow2016 160922021655Databasecentricapisonthecloudusingplsqlandnodejscon3153oow2016 160922021655
Databasecentricapisonthecloudusingplsqlandnodejscon3153oow2016 160922021655
 
Change Management for Oracle Database with SQLcl
Change Management for Oracle Database with SQLcl Change Management for Oracle Database with SQLcl
Change Management for Oracle Database with SQLcl
 
Leverage integration cloud_service_for_ebs_
Leverage integration cloud_service_for_ebs_Leverage integration cloud_service_for_ebs_
Leverage integration cloud_service_for_ebs_
 
NoSQL and SQL - Why Choose? Enjoy the best of both worlds with MySQL
NoSQL and SQL - Why Choose? Enjoy the best of both worlds with MySQLNoSQL and SQL - Why Choose? Enjoy the best of both worlds with MySQL
NoSQL and SQL - Why Choose? Enjoy the best of both worlds with MySQL
 
MySQL Cluster as Transactional NoSQL (KVS)
MySQL Cluster as Transactional NoSQL (KVS)MySQL Cluster as Transactional NoSQL (KVS)
MySQL Cluster as Transactional NoSQL (KVS)
 
Oracle restful api & data live charting by Oracle Apex - داشبورد آنلاین (داده...
Oracle restful api & data live charting by Oracle Apex - داشبورد آنلاین (داده...Oracle restful api & data live charting by Oracle Apex - داشبورد آنلاین (داده...
Oracle restful api & data live charting by Oracle Apex - داشبورد آنلاین (داده...
 
Introdução ao Oracle NoSQL
Introdução ao Oracle NoSQLIntrodução ao Oracle NoSQL
Introdução ao Oracle NoSQL
 
A practical introduction to Oracle NoSQL Database - OOW2014
A practical introduction to Oracle NoSQL Database - OOW2014A practical introduction to Oracle NoSQL Database - OOW2014
A practical introduction to Oracle NoSQL Database - OOW2014
 
Hacking oracle using metasploit
Hacking oracle using metasploitHacking oracle using metasploit
Hacking oracle using metasploit
 
Hacking Oracle Web Applications With Metasploit
Hacking Oracle Web Applications With MetasploitHacking Oracle Web Applications With Metasploit
Hacking Oracle Web Applications With Metasploit
 
MySQL Document Store
MySQL Document StoreMySQL Document Store
MySQL Document Store
 
OUGN 2016: Experiences with REST support on OSB/SOA Suite
OUGN 2016: Experiences with REST support on OSB/SOA SuiteOUGN 2016: Experiences with REST support on OSB/SOA Suite
OUGN 2016: Experiences with REST support on OSB/SOA Suite
 
RMOUG MySQL 5.7 New Features
RMOUG MySQL 5.7 New FeaturesRMOUG MySQL 5.7 New Features
RMOUG MySQL 5.7 New Features
 
REST - Why, When and How? at AMIS25
REST - Why, When and How? at AMIS25REST - Why, When and How? at AMIS25
REST - Why, When and How? at AMIS25
 
Expose your data as an api is with oracle rest data services -spoug Madrid
Expose your data as an api is with oracle rest data services -spoug MadridExpose your data as an api is with oracle rest data services -spoug Madrid
Expose your data as an api is with oracle rest data services -spoug Madrid
 
ODTUG_NoPlsql_vs_SmartDB_Part1_and_2.pptx
ODTUG_NoPlsql_vs_SmartDB_Part1_and_2.pptxODTUG_NoPlsql_vs_SmartDB_Part1_and_2.pptx
ODTUG_NoPlsql_vs_SmartDB_Part1_and_2.pptx
 
Oracle Application Express 20.2 New Features
Oracle Application Express 20.2 New FeaturesOracle Application Express 20.2 New Features
Oracle Application Express 20.2 New Features
 
OUGLS 2016: Guided Tour On The MySQL Source Code
OUGLS 2016: Guided Tour On The MySQL Source CodeOUGLS 2016: Guided Tour On The MySQL Source Code
OUGLS 2016: Guided Tour On The MySQL Source Code
 

More from Jeff Smith

Oracle REST Data Services: POUG Edition
Oracle REST Data Services: POUG EditionOracle REST Data Services: POUG Edition
Oracle REST Data Services: POUG EditionJeff Smith
 
Oracle SQL Developer Tips and Tricks: Data Edition
Oracle SQL Developer Tips and Tricks: Data EditionOracle SQL Developer Tips and Tricks: Data Edition
Oracle SQL Developer Tips and Tricks: Data EditionJeff Smith
 
RESTful Services for your Oracle Autonomous Database
RESTful Services for your Oracle Autonomous DatabaseRESTful Services for your Oracle Autonomous Database
RESTful Services for your Oracle Autonomous DatabaseJeff Smith
 
Oracle SQLcl: Formatting your Query Results
Oracle SQLcl: Formatting your Query ResultsOracle SQLcl: Formatting your Query Results
Oracle SQLcl: Formatting your Query ResultsJeff Smith
 
Debugging PL/SQL from your APEX Applications with Oracle SQL Developer
Debugging PL/SQL from your APEX Applications with Oracle SQL DeveloperDebugging PL/SQL from your APEX Applications with Oracle SQL Developer
Debugging PL/SQL from your APEX Applications with Oracle SQL DeveloperJeff Smith
 
Oracle Database Management REST API
Oracle Database Management REST APIOracle Database Management REST API
Oracle Database Management REST APIJeff Smith
 
Oracle SQL Developer Data Modeler - for SQL Server
Oracle SQL Developer Data Modeler - for SQL ServerOracle SQL Developer Data Modeler - for SQL Server
Oracle SQL Developer Data Modeler - for SQL ServerJeff Smith
 
Oracle SQL Developer: You're Doing it Wrong!
Oracle SQL Developer: You're Doing it Wrong!Oracle SQL Developer: You're Doing it Wrong!
Oracle SQL Developer: You're Doing it Wrong!Jeff Smith
 
Social Media - Why a Database Person Should Care
Social Media  - Why a Database Person Should CareSocial Media  - Why a Database Person Should Care
Social Media - Why a Database Person Should CareJeff Smith
 
Oracle SQL Developer Reports
Oracle SQL Developer ReportsOracle SQL Developer Reports
Oracle SQL Developer ReportsJeff Smith
 
Oracle SQL Developer: 3 Features You're Not Using But Should Be
Oracle SQL Developer: 3 Features You're Not Using But Should BeOracle SQL Developer: 3 Features You're Not Using But Should Be
Oracle SQL Developer: 3 Features You're Not Using But Should BeJeff Smith
 
Pennsylvania Banner User Group Webinar: Oracle SQL Developer Tips & Tricks
Pennsylvania Banner User Group Webinar: Oracle SQL Developer Tips & TricksPennsylvania Banner User Group Webinar: Oracle SQL Developer Tips & Tricks
Pennsylvania Banner User Group Webinar: Oracle SQL Developer Tips & TricksJeff Smith
 
PL/SQL All the Things in Oracle SQL Developer
PL/SQL All the Things in Oracle SQL DeveloperPL/SQL All the Things in Oracle SQL Developer
PL/SQL All the Things in Oracle SQL DeveloperJeff Smith
 
Debugging PL/SQL with Oracle SQL Developer
Debugging PL/SQL with Oracle SQL DeveloperDebugging PL/SQL with Oracle SQL Developer
Debugging PL/SQL with Oracle SQL DeveloperJeff Smith
 
All of the Performance Tuning Features in Oracle SQL Developer
All of the Performance Tuning Features in Oracle SQL DeveloperAll of the Performance Tuning Features in Oracle SQL Developer
All of the Performance Tuning Features in Oracle SQL DeveloperJeff Smith
 
If You Oracle Then You Should Twitter Too
If You Oracle Then You Should Twitter TooIf You Oracle Then You Should Twitter Too
If You Oracle Then You Should Twitter TooJeff Smith
 
SQLcl overview - A new Command Line Interface for Oracle Database
SQLcl overview - A new Command Line Interface for Oracle DatabaseSQLcl overview - A new Command Line Interface for Oracle Database
SQLcl overview - A new Command Line Interface for Oracle DatabaseJeff Smith
 
Oracle SQL Developer for SQL Server?
Oracle SQL Developer for SQL Server?Oracle SQL Developer for SQL Server?
Oracle SQL Developer for SQL Server?Jeff Smith
 
My Favorite Oracle SQL Developer Data Modeler Features
My Favorite Oracle SQL Developer Data Modeler FeaturesMy Favorite Oracle SQL Developer Data Modeler Features
My Favorite Oracle SQL Developer Data Modeler FeaturesJeff Smith
 
Oracle Database 12c Feature Support in Oracle SQL Developer
Oracle Database 12c Feature Support in Oracle SQL DeveloperOracle Database 12c Feature Support in Oracle SQL Developer
Oracle Database 12c Feature Support in Oracle SQL DeveloperJeff Smith
 

More from Jeff Smith (20)

Oracle REST Data Services: POUG Edition
Oracle REST Data Services: POUG EditionOracle REST Data Services: POUG Edition
Oracle REST Data Services: POUG Edition
 
Oracle SQL Developer Tips and Tricks: Data Edition
Oracle SQL Developer Tips and Tricks: Data EditionOracle SQL Developer Tips and Tricks: Data Edition
Oracle SQL Developer Tips and Tricks: Data Edition
 
RESTful Services for your Oracle Autonomous Database
RESTful Services for your Oracle Autonomous DatabaseRESTful Services for your Oracle Autonomous Database
RESTful Services for your Oracle Autonomous Database
 
Oracle SQLcl: Formatting your Query Results
Oracle SQLcl: Formatting your Query ResultsOracle SQLcl: Formatting your Query Results
Oracle SQLcl: Formatting your Query Results
 
Debugging PL/SQL from your APEX Applications with Oracle SQL Developer
Debugging PL/SQL from your APEX Applications with Oracle SQL DeveloperDebugging PL/SQL from your APEX Applications with Oracle SQL Developer
Debugging PL/SQL from your APEX Applications with Oracle SQL Developer
 
Oracle Database Management REST API
Oracle Database Management REST APIOracle Database Management REST API
Oracle Database Management REST API
 
Oracle SQL Developer Data Modeler - for SQL Server
Oracle SQL Developer Data Modeler - for SQL ServerOracle SQL Developer Data Modeler - for SQL Server
Oracle SQL Developer Data Modeler - for SQL Server
 
Oracle SQL Developer: You're Doing it Wrong!
Oracle SQL Developer: You're Doing it Wrong!Oracle SQL Developer: You're Doing it Wrong!
Oracle SQL Developer: You're Doing it Wrong!
 
Social Media - Why a Database Person Should Care
Social Media  - Why a Database Person Should CareSocial Media  - Why a Database Person Should Care
Social Media - Why a Database Person Should Care
 
Oracle SQL Developer Reports
Oracle SQL Developer ReportsOracle SQL Developer Reports
Oracle SQL Developer Reports
 
Oracle SQL Developer: 3 Features You're Not Using But Should Be
Oracle SQL Developer: 3 Features You're Not Using But Should BeOracle SQL Developer: 3 Features You're Not Using But Should Be
Oracle SQL Developer: 3 Features You're Not Using But Should Be
 
Pennsylvania Banner User Group Webinar: Oracle SQL Developer Tips & Tricks
Pennsylvania Banner User Group Webinar: Oracle SQL Developer Tips & TricksPennsylvania Banner User Group Webinar: Oracle SQL Developer Tips & Tricks
Pennsylvania Banner User Group Webinar: Oracle SQL Developer Tips & Tricks
 
PL/SQL All the Things in Oracle SQL Developer
PL/SQL All the Things in Oracle SQL DeveloperPL/SQL All the Things in Oracle SQL Developer
PL/SQL All the Things in Oracle SQL Developer
 
Debugging PL/SQL with Oracle SQL Developer
Debugging PL/SQL with Oracle SQL DeveloperDebugging PL/SQL with Oracle SQL Developer
Debugging PL/SQL with Oracle SQL Developer
 
All of the Performance Tuning Features in Oracle SQL Developer
All of the Performance Tuning Features in Oracle SQL DeveloperAll of the Performance Tuning Features in Oracle SQL Developer
All of the Performance Tuning Features in Oracle SQL Developer
 
If You Oracle Then You Should Twitter Too
If You Oracle Then You Should Twitter TooIf You Oracle Then You Should Twitter Too
If You Oracle Then You Should Twitter Too
 
SQLcl overview - A new Command Line Interface for Oracle Database
SQLcl overview - A new Command Line Interface for Oracle DatabaseSQLcl overview - A new Command Line Interface for Oracle Database
SQLcl overview - A new Command Line Interface for Oracle Database
 
Oracle SQL Developer for SQL Server?
Oracle SQL Developer for SQL Server?Oracle SQL Developer for SQL Server?
Oracle SQL Developer for SQL Server?
 
My Favorite Oracle SQL Developer Data Modeler Features
My Favorite Oracle SQL Developer Data Modeler FeaturesMy Favorite Oracle SQL Developer Data Modeler Features
My Favorite Oracle SQL Developer Data Modeler Features
 
Oracle Database 12c Feature Support in Oracle SQL Developer
Oracle Database 12c Feature Support in Oracle SQL DeveloperOracle Database 12c Feature Support in Oracle SQL Developer
Oracle Database 12c Feature Support in Oracle SQL Developer
 

Recently uploaded

Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAndikSusilo4
 
Snow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter RoadsSnow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter RoadsHyundai Motor Group
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Alan Dix
 
How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?XfilesPro
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxMaking_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxnull - The Open Security Community
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your BudgetHyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your BudgetEnjoy Anytime
 

Recently uploaded (20)

Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & Application
 
Snow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter RoadsSnow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter Roads
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
 
How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Vulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptxVulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptx
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxMaking_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your BudgetHyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
 

REST Enabling Your Oracle Database

  • 1. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | Developing RESTful Services w/Oracle REST Data Services (ORDS) & Oracle SQL Developer
  • 2. Copyright © 2014 Oracle and/or its affiliates. All rights reserved. | whoami  a tools geek since 2001  blogs at thatjeffsmith.com tweets at @thatjeffsmith  Product Manager for  SQL Developer  SQLcl  SQL Developer Data Modeler  Oracle REST Data Services
  • 3. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | Safe Harbor Statement The preceding 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.
  • 4. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | Program Agenda REST is Ubiquitous…What is REST? Overview of ORDS (flexible, extensible, secure) Automatic REST Feature for Tables: Examples 1 2 3 4 5
  • 5. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | REST…What is it and why should we care? REST has become a foundational part of web application stacks 5
  • 6. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | REpresentational State Transfer (REST) is Everywhere • REST is easy to grasp, easy to learn and easy to use – Small uniform set of operations: GET, POST, PUT, DELETE etc that work similarly across all APIs – Small set of uniform status codes: 200, 201, 404, 500, … – URLs & hyperlinks encourage stateless behavior, easy to dive in and test out APIs – Text based protocol with simple request/response model, easy to introspect and understand – Accessible from any application platform or programming language • Like HTTP, TCP & Unix, REST has become a foundational part of the computing world 6 REST APIs are the norm, and will continue to be for the foreseeable
  • 7. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | Oracle REST Data Services (ORDS) • ORDS Enables Developers With Database Skills to Develop REST and JSON APIs for Oracle Database – Just need SQL, PL/SQL, and Oracle Database knowledge – Low code solution… – …no need to learn Java! • ORDS enables data access developers to – Automatically generate REST APIs for basic functions on tables and views • GET (query), PUT (insert), POST (update), etc. – Write REST APIs that call custom SQL queries and PL/SQL procedures 7 So How Does ORDS Fit Into This?
  • 8. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | What is ORDS? • Java JEE mid tier application, e.g., WebLogic, Tomcat, Glassfish – Also supports “Standalone” mode for development via embedded Jetty • For input, maps/binds URI to SQL and PL/SQL • For output, transforms results to JSON and other formats 8 Oracle REST Data ServicesHTTP(S) client Oracle Database SQLMap & BindURI JSON Transform to JSON SQL Result Set
  • 9. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | • JavaScript Object Notation – Derived from JS, but many languages have native support • Lighter than XML • Easy for humans to read/write • Easy for machines to parse/generate What is JSON? (JAY-sun)
  • 10. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | Supports Multiple Oracle Data Stores 10 Oracle REST Data Service REST Oracle NoSQL Database Oracle Database 12c (Document Store) Oracle Database (Relational)
  • 11. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | Going from REST to the Database & Back • Let’s review quickly how the Resource Collection Model works • Sending data up to the database via ORDS and receiving data back relies on this model
  • 12. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | The Resource Collection A RESTful Design Pattern 12
  • 13. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | Resource Collection Pattern • MASTER RESOURCE: called the Collection URI: A Table (or View) https://site.com/ords/hr/employees/ • DETAIL RESOURCE; called the Item URI: A Record in Said Table (or View) https://site.com/ords/hr/employees/:id (:id => Primary Key) 13
  • 14. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | Example REST Resource Resource has: - tabular data - nested data - hyperlinks
  • 15. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | Ok, Let’s Get to the Good Stuff!
  • 16. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | ORDS is THE REST Solution for Oracle Database • Custom SQL and PL/SQL – Data binding or OWA Toolkit (HTP.P) • Auto Table Enablement – CRUD + Bulk Load • Auto PL/SQL Enablement (RPC) – Full to and from JSON support • Full SQL Scripting – sqldev/sqlcl library via REST • Predefined OS Command – Initially used in DBAAS Monitor • Native Java Code – Get Info directly from JDBC properties
  • 17. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | AUTO REST for Tables Examples 17
  • 18. Copyright © 2014 Oracle and/or its affiliates. All rights reserved. | Auto enablement of RESTful request modules, publishes these URI Handlers for Tables & Views Requires ZERO code • Table Metadata • Get ( Select ) • Query ( Filtering ) • Insert • Update • Delete • Bulk load Auto Table/VIEW APIs/REST End Points
  • 19. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | DECLARE PRAGMA AUTONOMOUS_TRANSACTION; BEGIN ORDS.ENABLE_OBJECT(p_enabled => TRUE, p_schema => 'HR', p_object => 'DEPARTMENTS', p_object_type => 'TABLE', p_object_alias => 'depts', p_auto_rest_auth => FALSE); commit; END; GUI & PL/SQL APIs Available
  • 20. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | Retrieve the Collection Metadata METHOD : GET RESPONSE: 200 OK • JSON • Collection (Schema) • Canonical • Describes (Table) Screenshots demonstrate REST calls using POSTMAN
  • 21. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | Retrieve the Collection (Table – All of the Rows) 21 200 JSON METHOD : GET RESPONSE: 200 OK • JSON • More? • Next Page • First Page • Described By • Self
  • 22. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | Retrieve a Detail Resource (Table – A Specific Row) 22 METHOD : GET /:PK RESPONSE: 200 OK • JSON • Self • Described By • Collection
  • 23. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | Apply Predicates to Your Collection (Table – Where/Order) METHOD : GET /?q={pred} RESPONSE: 200 OK • JSON • More? • Next Page • First Page • Described By • Self ?q={"department_id": { "$lt": 3} } … WHERE DEPARTMENT_ID < 3 FULL Docs/Examples
  • 24. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | Add a Row 24 METHOD : POST REQUEST BODY : JSON RESPONSE: 201 Created • Location (Header) • JSON (Body)
  • 25. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | Update a Row 25 METHOD : PUT /:PK REQUEST BODY : JSON RESPONSE: 200 OK • Location (Header) • JSON (Body)
  • 26. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | Delete a Row METHOD : DELETE /:ID RESPONSE: 200 OK • JSON (Body)
  • 27. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | Batch Load METHOD : POST /batchload REQUEST BODY : CSV RESPONSE: 200 OK • Text (Body)
  • 28. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | A Quick Review… DELETE POST GET PUT /some/collection/ ‘Read’ a Collection /some/collection/:id ‘Update’ an Item /some/collection/:id ‘Read’ an Item /some/collection/ ‘Add’ an Item /some/collection/:id ‘Delete’ an Item GET
  • 29. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | Database Resources available via REST/ORDS • AUTO REST Tables and Views – Available TODAY • SQL & PL/SQL Code Blocks – Available TODAY • AUTO RPC Store Procedures
  • 30. Copyright © 2014 Oracle and/or its affiliates. All rights reserved. | • Execute via POST • Pass parameters via BODY {JSON} • Output returned as {JSON} – REFCURSORs? Check! – Complex types, SDO_GEOMETRY, Intervals, Custom types? Check! Auto-Publish URI’s for PL/SQL Programs Remote Procedure Call (RPC) AUTO Support for PL/SQL Programs
  • 31. Copyright © 2014 Oracle and/or its affiliates. All rights reserved. | Execute a Stored Procedure METHOD : POST REQUEST BODY : JSON RESPONSE: 200 OK • JSON (Body)
  • 32. Copyright © 2014 Oracle and/or its affiliates. All rights reserved. | Oracle REST Data Services: RESTful Services When AUTO is Not Enough RESTful Services • Execute any SQL or PL/SQL • Module => Template(s) => Handler(s) • PL/SQL API and GUI Support • SECURE! Priv & Role Driven • Supports OAUTH2 • Example (DOCS)
  • 33. Copyright © 2014 Oracle and/or its affiliates. All rights reserved. | REST Development – in Oracle SQL Developer Oracle SQL Developer version 4.2
  • 34. Copyright © 2014 Oracle and/or its affiliates. All rights reserved. | REST Development – in Oracle SQL Developer
  • 35. Copyright © 2014 Oracle and/or its affiliates. All rights reserved. | REST Development – CLI?
  • 36. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | ALL APIs and No APPS Makes REST a Boring Boy…
  • 37. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | Using Oracle JET with ORDS Building rich web & mobile apps using REST APIs 37
  • 38. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | Oracle JET & Oracle REST Data Services • Both Oracle JET & Oracle REST Data Services comply with the Oracle REST Standard, as do many other Oracle products that offer a REST API. • The centrepiece of this standard is the Collection Resource Pattern we discussed earlier • Oracle JET provides rich functionality for interacting with REST Collections • This makes it super-easy to wire JET UIs and ORDS APIs together 38 Meant to go together
  • 39. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | <script type="text/javascript" language="javascript"> $(document).ready(function() { $.getJSON("http://servername/ords/db/demo/emp", function(data) { $(data.items).each(function (index, value) { $("#rpt").append( '<tr>' + '<td class="text-center"><a href="form.html#' + value.empno + '">Edit</a></td>' + '<td class="text-right">' + value.empno + '</td>' + '<td class="text-center">' + value.dname + '</td>' + '<td class="text-left">' + value.ename + '</td>' + '<td class="text-left">' + value.job + '</td>' + '<td class="text-right">' + value.sal + '</td>' + '<td class="text-right">' + value.sal_diff + '</td>' + '<td class="text-right">' + value.comm + '</td> + '<td class="text-center">' + value.rank + '</td>' + '</tr>'); }); }); });
  • 40. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | Powered by Oracle JET, ORDS, REST, and the Oracle Public Cloud
  • 41. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | REST API for the Database Itself 41
  • 42. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | A customer asked for REST services that could be used to • INSTALL Oracle • CREATE DATABASE PUT /database/ ?
  • 43. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | • Take existing, internal APIs and ‘clean up’ for public consumption • Consistent URIs for Cloud (across services) and On Premises • Deploy via ORDS Updates • ORDS Dev Calendar to Synch up with Cloud, Quarterly Updates • Prioritize around Lifecyle Operations • APIs will have Swagger style Oracle DOCs treatment The Plan
  • 44. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | Lifecycle Is Critical – Automate Everything Operational ‘Buckets’ • VM • Database • Backup & Recovery • Instance Management • Security • Performance • Features
  • 45. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | The ‘Buckets’ Security Instance VM DB Backup Perf State(start, stop, status), Shape(current, change), Image(copy, move, drop, snapshot… Params(list, change), State(create, drop, clone, start, stop, relocate, plug, unplug…) Locations(list, update), Windows(list, update), Backups(list, details), Backup(now, backup to trace)… Sessions(List, Kill, Trace), Pools(Flush), Logging(Current, Switch), Storage(tblspc-add, edit, list) Auditing(Trails, ChangeSettings, Delete), User(list, create, drop, list privs, grant/revoke priv), Roles(list, create, drop…) AWR, ADDM, ASH, SQL Tuning Advisor, RTSM
  • 46. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | Automatic API Doc Gen via Swagger • Inventory REST API • Descriptions • Examples • Test via Curl • Oracle Docs Integration
  • 47. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | Securing REST APIs 47
  • 48. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | ORDS is Flexible - Security Caveats • Almost all dev/demo/blog is done with security off & with HTTP • Always, always, always secure REST services and run with HTTPS
  • 49. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | First Party Authentication • Oracle REST Data Services specific solution • Only available to the author of the API, application must be deployed on same origin as API • https://example.com/api & https://example.com/app ✓ • https://api.example.com & https://app.example.com ✗ • User enters credentials in sign-in form, ORDS issues cookie, cookie is only validated by ORDS if the request is determined to originate from the from the same origin as the REST Service. 49
  • 50. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | About OAuth 2.0 • IETF standard for securing access to REST APIs • Comes in two forms: • Two Legged - For Business to Business, server to server applications • Example: Sync HR data between internal applications • Three Legged - For Business to Consumer, app to end-user applications • Example: Share subset of HR data with external benefits provider after employee approves access. • Third party registers client, issued credentials, uses credentials to acquire access token, uses access token with request to prove authorization 50
  • 51. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | External Authentication • Comes in many flavors, for example: • Oracle Access Manager - SSO cookie at Oracle OHS server level authenticates users stored in Oracle Identity Manager • ORDS does not perform authentication, just authorization. • Usually relies on HTTP cookies, need to restrict CORS allowed Origins to avoid CSRF 51 APEX Authentication too (read users from a db table)
  • 52. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | Learn More About Oracle REST Data Services oracle.com/rest @OracleREST @cdivilly @krisrice @thatjeffsmith

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.
  2. Describe a RESTful Design Pattern, that defines how RESTful APIs are typically structured Explain how Hyperlinks facilitate loose coupling between clients and servers and enable each to evolve at their own pace Talk about the challenges of modelling tabular relational data as hierarchical nested Web resources Describe how concurrency is handled on the Web Explain the options for securing REST APIs, and give detail on the options, note this could be a talk in itself (which it was @ OOW15 - CON1748)
  3. RESTful APIs typically follow a very uniform pattern, termed the Resource Collection Focus is on modelling resources, and manipulating resources using uniform operations. Little emphasis on modelling operations
  4. There have been many many remote procedure call/distributed communication protocols. Many have been very deeply specified with thousands of pages of specifications, but in the end the industry moved away from these protocols to a much looser concept. So loose it cannot even deemed a protocol, rather REST is referred to as an architectural style. REST won not by being the most advanced, or the most capable, or the most efficient, but by being the easiest to get to grips with. Which is both a blessing and a curse. The world is full of less than optimal REST APIs. Because REST is so approachable folks quickly move to building and shipping APIs without considering some of the more thorny issues that every distributed application has to deal with How to manage concurrency, how to deal with lost updates, co-ordinate transactions How to deal with unavailability How to deal with massive scale Oracle REST Data Services is designed to deal with many of these issues, we’ve done the hard thinking and chosen approaches to deal with these issues so developers using ORDS don’t need to worry about them so much. I want to draw a comparison between REST and another foundational technology, UNIX. When I think of UNIX I picture big air conditioned rooms in data centres full of big iron servers. But that’s not the reality of UNIX today. It’s not just data centres and backend servers. The reality is UNIX is all around you, you wear it on your wrist, you carry it in your pocket, it powers the movies you watch when sat on an aeroplane, it controls the car you drive, it is literally everywhere. It is part of the fabric of our reality, but it’s not something out there in front of you. It’s a building block, something atop which much of the rest of the technology in our lives is built upon. I’m sure everyone in this room knows how to get around in UNIX, I’m sure that wasn’t always the case, there was a time when all I knew was MS-DOS and Windows. UNIX was a foreign land, and even seemed like something that was fading away under the march of Windows, but that time was so long ago and now I can’t picture a future where knowing and being comfortable using UNIX won’t be a valuable skill for at least another decade or two. I feel REST is following a similar trajectory. It is almost as old as the HTTP protocol itself, and it’s popularity and ubiquity has taken a considerable amount of time to build, but now that it’s value has been recognised, I don’t see it’s utility being displaced until the next paradigm shift in computing technology occurs. It has become one of the building blocks we take for granted. And thus everyone needs to know and understand REST and more importantly every piece of technology involved in distributed computing needs to be a good and competent REST citizen.
  5. Enables database developer to control access to the database, instead of offering free for all access, provide controlled APIs that execute well designed and performant SQL/PLSQL Remove client developer from having to worry about sizing and managing database connection pools.
  6. RESTful APIs typically follow a very uniform pattern, termed the Resource Collection Focus is on modelling resources, and manipulating resources using uniform operations. Little emphasis on modelling operations
  7. The Collection URI is the entry point to the API, it’s function is to list all the items in the collection and provide an endpoint for creating new resources. It is typically a concrete URI, without any wildcarding/patterning. The Item URI is parameterized/wildcarded, it represents the naming pattern for all Item Resources in the Collection. It’s function is to provide the detail of a resource, along with the means to update and/or delete the resource.
  8. RESTful APIs typically follow a very uniform pattern, termed the Resource Collection Focus is on modelling resources, and manipulating resources using uniform operations. Little emphasis on modelling operations
  9. Perform a GET on the Collection URI to retrieve the resource In ORDS the response is a JSON document with two main elements: items: lists the items in the collection links: provides hyperlinks to help navigate the collection (next) and to identify the URI to use to POST new Items to the Collection
  10. Perform a GET on the Collection URI to retrieve the resource In ORDS the response is a JSON document with two main elements: items: lists the items in the collection links: provides hyperlinks to help navigate the collection (next) and to identify the URI to use to POST new Items to the Collection
  11. Perform a GET on the Collection URI to retrieve the resource In ORDS the response is a JSON document with two main elements: items: lists the items in the collection links: provides hyperlinks to help navigate the collection (next) and to identify the URI to use to POST new Items to the Collection
  12. Perform a GET on the Collection URI to retrieve the resource In ORDS the response is a JSON document with two main elements: items: lists the items in the collection links: provides hyperlinks to help navigate the collection (next) and to identify the URI to use to POST new Items to the Collection
  13. In the live demonstration we saw an application built with Oracle JET to communicate with a set of REST APIs defined entirely using ORDS. I wanted to talk a little more about this integration and how powerful it is.
  14. I talked earlier about how the loosely defined REST paradigm won out over the many deeply and strongly specified technologies that went before it. Forever a complaint with those technologies was the difficulty of achieving robust interoperability both between applications and framework technologies, particularly across vendors. Oracle JET and ORDS are built by two completely different teams in Oracle. We have never co-ordinated with each other, we’ve hardly even communicated with each other. Yet you can plug our two products together with great ease. We both adhere to a common Oracle standard, but even that standard is nowhere near as tightly specified as something like a CORBA spec. It seems paradoxical, how come when we have loosely specified completely uncoordinated developement of two products that they can fit together so easily, especially when past efforts which attempted to dot every i and cross every t failed to deliver such interoperability? This is what demonstrates the true power of REST and the reason it is has triumphed over other approaches. It has well defined semantics for the basic behaviours that are broadly applicable across many different types of applications. It has barely enough specification rather than too much specification. It would seem that humans co-ordinate better when there is a bare minimum of rules rather than where there are too many regulations to run foul off.