SlideShare uma empresa Scribd logo
1 de 42
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
Oracle REST Data Services
( Formerly APEX Listener)
Kris Rice
Senior Director Database Tools
Best Practices
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
Safe Harbor
• 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.
3
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
Agenda
• Overview
• New Features in 2.x
• Installation
• Configuration
• Multiple Database
• RESTful APIs
• Obligatory Oracle Database Cloud
4
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
Overview
Oracle REST Data Services
 OWA Toolkit support
 Application Express customization
 Oracle DB JSON Support
 Oracle NoSQL Database support
 Turns Database into an RESTFul API service
 Allows publishing of URI based access to Oracle
database over REST
 Results in JSON or CSV
 Mapping of URI to SQL or PL/SQL
 All HTML methods GET, PUT, POST, DELETE, PATCH
 Oauth2 integration
 Highly scalable
5
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
Architecture
Oracle REST Data Services
 J2EE Application
 No Oracle Home required
 Supported deployments
 WebLogic
 Glassfish
 Apache Tomcat
 Standalone – For development
6
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
Architecture
Oracle REST Data Services
7
Java Mid Tiers
HTTPS
JDBC
Internet
Firewall
Firewall
Oracle
NoSQL
Apache httpd
RMI
 Separate static content
 No Mid-Tier state
 Scales Horizontally
 Use AJP to talk to backend
 Allows internal and external access
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
2.0 Features
8
 Command Line Configuration
 Multi Database support
 ICAP Server integration
 FOP support
 2.0.8 adds FOP 1.1
 PL/SQL and JavaScript based validation Function
 Extensibility
 REST Filtering
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
2.0 - Database Users
9
APEX_LISTNER
•Reads REST Definitions
APEX_PUBLIC_USER
•Apex/OWA main connection pool
•Size according to number of concurrent apex users
APEX_REST_PUBLIC_USER
•REST Connection pool for all REST operation
•Size according to concurent REST calls
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
2.0 Installation – Step 1
10
 Application Express 4.2.2+ required
 Run apex_rest_config.sql
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
2.0 Installation – Step 2
11
 Run java –jar ords.war
 Prompts for:
 Location to store configuration
 Database host/port/sid or service
 3 Database Users
 Path to APEX images
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
Configuration via SQL Developer
12
 File Based for manual setup
 SQL Developer based
 Secured via webserver
 Retrieve remote config
 REST based deployment
 Configuration Validation
 SQLDev is an Oauth client
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
Configuration via Command Line
13
 Running java -jar ords.war help
configdir Set the value of the web.xml config.dir property
help Describe the usage of this program or its commands
map-url Map a URL pattern to the named database connection
migrate Migrate a 1.x configuration to 2.x format
setup Configure database connection
standalone Launch in standalone
static Generate a Web Application Archive (WAR)
to serve Oracle Application Express static resources
user Create or update credentials for a user for sqldev config
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
Configuration Files
14
 defaults.xml
All Common settings and defaults for all connection pools
 ords/standalone/standalone.properties
 Standalone settings such as /i/ and port #
 conf/apex.xml
Configuration for APEX/OWA
 conf/apex_al.xml
APEX_LISTENER – reads REST Configuration
 conf/apex_rt.xml
APEX_PUBLIC_PUBLIC_LISTENER – Base connection for REST
 credentials
Users for configuration from SQL Developer
 role-mapping.xml
Maps Webserver Roles into RESTful Roles
 url-mapping.xml
Multiple database configurations
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
Connection Pooling
15
 Each REST enabled schema grants proxy connect
 Allows for smaller common pool
 Connection opens proxied connection
 All SQL/PLSQL execute at the schema
 Proxied connection is closed and returned to the pool
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
THE number one thing you must do
16
 Configure the database connection pool
 Set the max size
 Set the initial size
 Set the timeouts
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
Multiple Database
17
 Routes based on rules to any number of databases
 Rules are contained in url-mappings.xml
 3 Type of Rules: uri-pattern,base-url, and base-path
<pool name="leads_db"
base-url="sales.example.com/apex/leads" />
<pool name="leads_db"
base-path="/sales/leads" />
<pool name="sales_db"
uri-pattern="https://.*.sales.example.com/apex/.*" />
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
Multi-Database Base-URL Example
18
 Assume the listener is deployed at context path: /apex, then:
<pool name="leads_db" base-url="sales.example.com/apex/leads" />
<pool name="support_db" base-url="https://support.example.com/apex" />
 Match Rule 1
http://sales.example.com/apex/leads/f?p=1:1
https://sales.example.com/apex/leads/f?p:=1:1
 Match Rule 2
https://support.example.com/apex/f?p:=1:1
http://support.example.com/apex/f?p:=1:1
 No Matches
http://example.com/apex/f?p:=1:1
http://example.com/apex/leads/f?p:=1:1
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
Multi-Database Base-Path Example
19
 Assume the listener is deployed at context path: /apex, then:
<pool name="leads_db" base-path="/sales/leads" />
 Match Rule 1
http://example.com/apex/sales/leads/f?p=1:1
 No Matches
http://example.com/apex/sales/f?p=1:1
http://example.com/apex/f?p=1:1
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
Multi-Database Pattern Example
20
 Assume the listener is deployed at context path: /apex, then:
<pool name="sales_db”
uri-pattern="https://.*.sales.example.com/apex/.*"/>
 Match Rule
https://leads.sales.example.com/apex/f?p=1:1
https://deals.sales.example.com/apex/f?p=1:1
 No Matches
http://hr.example.com/apex/f?p=1:1
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
Deployment Choices
21
Multiple Mappings
/sales /emp /nhl
/sales /emp /nhl
 One ORDS with mappings
 Single webserver
 Single management
 Single upgrade/patch
 One ORDS per mapping
 Multiple webserver
 Individual control
 Staggered upgrades
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
Virus Scanner Integration
22
 A lightweight HTTP-like protocol specified in RFC 3507
 Scans all file uploads for viruses before it reaches the
database
 Supported by most commercial Virus scan server
 Tested with Symantec and McAfee
 Multiple Open source options such as ClamAV
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
ClamAV
23
 Install ClamAV
 http://oracle-base.com/articles/linux/linux-antivirus-clamav.php
 Add ICAP support
 http://c-icap.sourceforge.net/install.html
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
JavaScript based Validation
24
 Completely eliminates the database
 Leverages JavaScript knowledge
 Limit based on HTTP Headers
function isValid()
{
if ( URI.indexOf('hi')>0 ) { return 'false';}
return 'true';
}
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
PL/SQL based Validation
25
 Use binds in PL/SQL Validation
 The following are automatically bound if detected
 URL
 PROCNAME
 P_FLOW_ID
 P_FLOW_STEP_ID
 P_INSTANCE
 P_PAGE_SUBMISSION_ID
 P_REQUEST
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
Extensibility
26
 Pre and Post Process in PL/SQL
<entry key="procedure.postProcess"></entry>
<entry key="procedure.preProcess"></entry>
 Pre and Post Process in Java
FOP2PDF
Caching
File Download
 Preprocess files in Java
Virus Scanner
Excel Upload
 Register new Java extentions
<entry key="apex.extensions"></entry>
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
Java Extensibility - Example
27
 Called for every request before the database call
 Requests can be Handled, Modified, or Declined
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
REST Filtering
28
 Developer now has ability to filter REST requests on the server
 Operators
$eq,$gt,$lt,$lte,$gte,$ne,$instr
 Logical
$and, $or
 Time Based ( coming in 3.0 )
$asof
 Examples:
{ "qty": { "$gt": 20 } }
{"$and": [{"price": {"$ne": 1.99}},{"price": {"$notnull": ""}}]
{"price": [{"$ne": 1.99}},{"$notnull": ""}]
{"$or": [{"qty": {"$lt": 20}},{"sale": {"$eq": "TRUE"}}]
$asof: {"$timestamp": ”……"}
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
Something went wrong aka Debug Mode
29
 Printing Errors to the browser
 Enable simple debug
 Full logging of everything via java.util.logging
 Full write up on Colm’s Blog
 http://is.gd/ords_debug
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
Log Requests to Database
30
 Capture all PLSQL calls
 Capture all Binds
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
3.0 New Features
31
 Fully committed to REST enablement
 Simplified installation
 Auto Table enablement
 Client REST filtering
 PL/SQL API for Rest definition
 Bulk CSV loading over REST
 Oracle NoSQL Support
 Database 12.1.0.2 JSON Collections
 New Plugin framework
 Jetty for Embedded webserver
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
3.0 New Features
32
 One line install
 java -jar build/built/ords.war install
 Installs new ORDS_METADATA schema
 Migrates settings from 2.0 to 3.0
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
Auto REST Enablement
33
 Simple menu to enable tables
 Any combination of operations
 Query
 Insert
 Update
 Delete
 Metadata
 Bulk Loading
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
Bulk Loading over REST
34
 Factored CSV import from SQL Developer
 POST the CSV in the body to
/ords/schema-alias/tables/table-alias/batchload
 Feedback is in the response body
 Multiple options for the load
Passed via headers
delete=false|true|truncate
batchRows=50|<n>
batchesPerCommit=10|<n>
errors=50|<n>|UNLIMITED
errorsMax=<n>
responseFormat=RAW|SQL
responseEncoding=UTF8|<encoding-name>
responseLocales=null|<locales>
dateFormat= <format-string>
timestampFormat=<format-string>
timestampTZFormat=<format-string>
locale=<locale>
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
Oracle NoSQL
35
 Connect to any KVStore
 NoSQL 3.0 introduces TableAPI
 Access via full primary key, partial key, or indexes
 REST is accessible from any language
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
Standalone - Jetty
36
 Eclipse Project
http://www.eclipse.org/jetty/
 Full webserver
 Auto creation of Self Signed SSL
 SPDY Support
 Apache style access log
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
THE number one thing you must do
37
 Configure the database connection pool
 Set the max size
 Set the initial size
 Set the timeouts
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
Oracle Cloud
Easy and Graceful Deployment
Deploy Anywhere
Gracefully move workloads between on-premise and public cloud
Same Architecture
Same Standards
Same Products
On Premises
Traditional Deployment
or Private Cloud
On Cloud
Automated or
Fully Managed
Unified Management
Enterprise Manager manages both On Premise and Cloud*
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | 39
Oracle Database Cloud – Schema Service
Introduction
• Fully Managed Service
• Monthly Subscription by Database Size (5, 20, 50 GB)
• Single Database Schema, Each tenant is a single schema
• Database patches and upgrades performed during scheduled maintenance
windows
• Deployed on Engineered Systems
• DB Edition is a modified “limited” (security locked down) EE
• Available since October 2013
Database schema service provides http access, see full instance services to gain full access to a full Oracle Database.
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
Oracle Database Cloud - Schema Service
Schema Service Tools
• Drag and drop data
movement
• Database Browsing
• Define RESTful Web
Services
• Deploy APEX Apps
• SQL worksheet*
• Command Line SQL over
https*
SQL Developer
Oracle REST
Data Services
Oracle Application
Express (APEX)
Java Cloud Service -
SaaS Extension
• Allows publishing of URI
based access to Oracle
database over REST
• Results in JSON or CSV
• Mapping of URI to SQL
or PL/SQL
• All HTML methods GET,
PUT, POST, DELETE,
PATCH
• Oauth2 integration
• Highly scalable
• Java platform specially built to
deploy extension for Oracle
Software as a Service offerings,
including Sales Cloud, Service
Cloud, and Marketing Cloud.
• Dedicated environment running
WebLogic Server.
• Three pre-configured sizes
• Applications are managed
through Oracle Cloud tooling; no
customer access to the
underlying infrastructure is
required.
• Available as an Extra Cost
Service.
• Create Tables
• Run any SQL
• Run SQL Scripts
• Browse Database Objects
• Define RESTful Web Services
• Build APEX Apps
• Deploy pre-built productivity
apps “Packaged Apps”
• Deploy custom apps
Included with Schema Service
40
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
Oracle Database as a Service – Rich New Tools
Local HTML5 Admin App
41
Oracle REST Data Services Best Practices/ Overview

Mais conteúdo relacionado

Mais procurados

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
 
Oracle db performance tuning
Oracle db performance tuningOracle db performance tuning
Oracle db performance tuningSimon Huang
 
Introduction to PySpark
Introduction to PySparkIntroduction to PySpark
Introduction to PySparkRussell Jurney
 
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
 
ASP.NET Web API
ASP.NET Web APIASP.NET Web API
ASP.NET Web APIhabib_786
 
Apache Hadoop Security - Ranger
Apache Hadoop Security - RangerApache Hadoop Security - Ranger
Apache Hadoop Security - RangerIsheeta Sanghi
 
Building Data Pipelines for Solr with Apache NiFi
Building Data Pipelines for Solr with Apache NiFiBuilding Data Pipelines for Solr with Apache NiFi
Building Data Pipelines for Solr with Apache NiFiBryan Bende
 
REST APIs with Spring
REST APIs with SpringREST APIs with Spring
REST APIs with SpringJoshua Long
 
GraphQL as an alternative approach to REST (as presented at Java2Days/CodeMon...
GraphQL as an alternative approach to REST (as presented at Java2Days/CodeMon...GraphQL as an alternative approach to REST (as presented at Java2Days/CodeMon...
GraphQL as an alternative approach to REST (as presented at Java2Days/CodeMon...luisw19
 
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
 
New Generation Oracle RAC Performance
New Generation Oracle RAC PerformanceNew Generation Oracle RAC Performance
New Generation Oracle RAC PerformanceAnil Nair
 
Oracle GoldenGate on Docker
Oracle GoldenGate on DockerOracle GoldenGate on Docker
Oracle GoldenGate on DockerBobby Curtis
 
Design Beautiful REST + JSON APIs
Design Beautiful REST + JSON APIsDesign Beautiful REST + JSON APIs
Design Beautiful REST + JSON APIsStormpath
 
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
 
Understanding REST APIs in 5 Simple Steps
Understanding REST APIs in 5 Simple StepsUnderstanding REST APIs in 5 Simple Steps
Understanding REST APIs in 5 Simple StepsTessa Mero
 
Understanding REST
Understanding RESTUnderstanding REST
Understanding RESTNitin Pande
 
Introduction to Apache NiFi 1.11.4
Introduction to Apache NiFi 1.11.4Introduction to Apache NiFi 1.11.4
Introduction to Apache NiFi 1.11.4Timothy Spann
 
What is new in Apache Hive 3.0?
What is new in Apache Hive 3.0?What is new in Apache Hive 3.0?
What is new in Apache Hive 3.0?DataWorks Summit
 

Mais procurados (20)

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?
 
Oracle db performance tuning
Oracle db performance tuningOracle db performance tuning
Oracle db performance tuning
 
Introduction to PySpark
Introduction to PySparkIntroduction to PySpark
Introduction to PySpark
 
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
 
OData Services
OData ServicesOData Services
OData Services
 
ASP.NET Web API
ASP.NET Web APIASP.NET Web API
ASP.NET Web API
 
Apache Hadoop Security - Ranger
Apache Hadoop Security - RangerApache Hadoop Security - Ranger
Apache Hadoop Security - Ranger
 
Building Data Pipelines for Solr with Apache NiFi
Building Data Pipelines for Solr with Apache NiFiBuilding Data Pipelines for Solr with Apache NiFi
Building Data Pipelines for Solr with Apache NiFi
 
REST APIs with Spring
REST APIs with SpringREST APIs with Spring
REST APIs with Spring
 
GraphQL as an alternative approach to REST (as presented at Java2Days/CodeMon...
GraphQL as an alternative approach to REST (as presented at Java2Days/CodeMon...GraphQL as an alternative approach to REST (as presented at Java2Days/CodeMon...
GraphQL as an alternative approach to REST (as presented at Java2Days/CodeMon...
 
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
 
One PDB to go, please!
One PDB to go, please!One PDB to go, please!
One PDB to go, please!
 
New Generation Oracle RAC Performance
New Generation Oracle RAC PerformanceNew Generation Oracle RAC Performance
New Generation Oracle RAC Performance
 
Oracle GoldenGate on Docker
Oracle GoldenGate on DockerOracle GoldenGate on Docker
Oracle GoldenGate on Docker
 
Design Beautiful REST + JSON APIs
Design Beautiful REST + JSON APIsDesign Beautiful REST + JSON APIs
Design Beautiful REST + JSON APIs
 
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)
 
Understanding REST APIs in 5 Simple Steps
Understanding REST APIs in 5 Simple StepsUnderstanding REST APIs in 5 Simple Steps
Understanding REST APIs in 5 Simple Steps
 
Understanding REST
Understanding RESTUnderstanding REST
Understanding REST
 
Introduction to Apache NiFi 1.11.4
Introduction to Apache NiFi 1.11.4Introduction to Apache NiFi 1.11.4
Introduction to Apache NiFi 1.11.4
 
What is new in Apache Hive 3.0?
What is new in Apache Hive 3.0?What is new in Apache Hive 3.0?
What is new in Apache Hive 3.0?
 

Destaque

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 ServicesKris Rice
 
Oracle REST Data Services
Oracle REST Data ServicesOracle REST Data Services
Oracle REST Data ServicesChris Muir
 
Moving to the APEX Listener
Moving to the APEX ListenerMoving to the APEX Listener
Moving to the APEX ListenerDimitri Gielis
 
Under The Hood of Pluggable Databases by Alex Gorbachev, Pythian, Oracle OpeW...
Under The Hood of Pluggable Databases by Alex Gorbachev, Pythian, Oracle OpeW...Under The Hood of Pluggable Databases by Alex Gorbachev, Pythian, Oracle OpeW...
Under The Hood of Pluggable Databases by Alex Gorbachev, Pythian, Oracle OpeW...Alex Gorbachev
 
A Primer on Web Components in APEX
A Primer on Web Components in APEXA Primer on Web Components in APEX
A Primer on Web Components in APEXDimitri Gielis
 
Oracle’s Advanced Analytics & Machine Learning 12.2c New Features & Road Map;...
Oracle’s Advanced Analytics & Machine Learning 12.2c New Features & Road Map;...Oracle’s Advanced Analytics & Machine Learning 12.2c New Features & Road Map;...
Oracle’s Advanced Analytics & Machine Learning 12.2c New Features & Road Map;...Charlie Berger
 
Oracle Transparent Data Encryption (TDE) 12c
Oracle Transparent Data Encryption (TDE) 12cOracle Transparent Data Encryption (TDE) 12c
Oracle Transparent Data Encryption (TDE) 12cNabeel Yoosuf
 
Simplify Consolidation with Oracle Database 12c
Simplify Consolidation with Oracle Database 12cSimplify Consolidation with Oracle Database 12c
Simplify Consolidation with Oracle Database 12cMaris Elsins
 
Introduction to Machine Learning for Oracle Database Professionals
Introduction to Machine Learning for Oracle Database ProfessionalsIntroduction to Machine Learning for Oracle Database Professionals
Introduction to Machine Learning for Oracle Database ProfessionalsAlex Gorbachev
 
Oracle application express ppt
Oracle application express pptOracle application express ppt
Oracle application express pptAbhinaw Kumar
 
Oracle SQL Developer Tips & Tricks
Oracle SQL Developer Tips & TricksOracle SQL Developer Tips & Tricks
Oracle SQL Developer Tips & TricksJeff Smith
 
Oracle Application Express (APEX) and Microsoft Sharepoint integration
Oracle Application Express (APEX) and Microsoft Sharepoint integrationOracle Application Express (APEX) and Microsoft Sharepoint integration
Oracle Application Express (APEX) and Microsoft Sharepoint integrationDimitri Gielis
 
Microservices + Oracle: A Bright Future
Microservices + Oracle: A Bright FutureMicroservices + Oracle: A Bright Future
Microservices + Oracle: A Bright FutureKelly Goetsch
 
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
 

Destaque (15)

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
 
Oracle REST Data Services
Oracle REST Data ServicesOracle REST Data Services
Oracle REST Data Services
 
Moving to the APEX Listener
Moving to the APEX ListenerMoving to the APEX Listener
Moving to the APEX Listener
 
Under The Hood of Pluggable Databases by Alex Gorbachev, Pythian, Oracle OpeW...
Under The Hood of Pluggable Databases by Alex Gorbachev, Pythian, Oracle OpeW...Under The Hood of Pluggable Databases by Alex Gorbachev, Pythian, Oracle OpeW...
Under The Hood of Pluggable Databases by Alex Gorbachev, Pythian, Oracle OpeW...
 
A Primer on Web Components in APEX
A Primer on Web Components in APEXA Primer on Web Components in APEX
A Primer on Web Components in APEX
 
Oracle’s Advanced Analytics & Machine Learning 12.2c New Features & Road Map;...
Oracle’s Advanced Analytics & Machine Learning 12.2c New Features & Road Map;...Oracle’s Advanced Analytics & Machine Learning 12.2c New Features & Road Map;...
Oracle’s Advanced Analytics & Machine Learning 12.2c New Features & Road Map;...
 
Oracle Transparent Data Encryption (TDE) 12c
Oracle Transparent Data Encryption (TDE) 12cOracle Transparent Data Encryption (TDE) 12c
Oracle Transparent Data Encryption (TDE) 12c
 
Simplify Consolidation with Oracle Database 12c
Simplify Consolidation with Oracle Database 12cSimplify Consolidation with Oracle Database 12c
Simplify Consolidation with Oracle Database 12c
 
Introduction to Machine Learning for Oracle Database Professionals
Introduction to Machine Learning for Oracle Database ProfessionalsIntroduction to Machine Learning for Oracle Database Professionals
Introduction to Machine Learning for Oracle Database Professionals
 
Oracle application express ppt
Oracle application express pptOracle application express ppt
Oracle application express ppt
 
Oracle SQL Developer Tips & Tricks
Oracle SQL Developer Tips & TricksOracle SQL Developer Tips & Tricks
Oracle SQL Developer Tips & Tricks
 
Oracle Application Express (APEX) and Microsoft Sharepoint integration
Oracle Application Express (APEX) and Microsoft Sharepoint integrationOracle Application Express (APEX) and Microsoft Sharepoint integration
Oracle Application Express (APEX) and Microsoft Sharepoint integration
 
Microservices + Oracle: A Bright Future
Microservices + Oracle: A Bright FutureMicroservices + Oracle: A Bright Future
Microservices + Oracle: A Bright Future
 
RESTful API Design, Second Edition
RESTful API Design, Second EditionRESTful API Design, Second Edition
RESTful API Design, Second Edition
 
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
 

Semelhante a Oracle REST Data Services Best Practices/ Overview

Servlet 4.0 Adopt-a-JSR 10 Minute Infodeck
Servlet 4.0 Adopt-a-JSR 10 Minute InfodeckServlet 4.0 Adopt-a-JSR 10 Minute Infodeck
Servlet 4.0 Adopt-a-JSR 10 Minute InfodeckEdward Burns
 
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 YouDavid Delabassee
 
2015 UJUG, Servlet 4.0 portion
2015 UJUG, Servlet 4.0 portion2015 UJUG, Servlet 4.0 portion
2015 UJUG, Servlet 4.0 portionmnriem
 
Boost Your Content Strategy for REST APIs with Gururaj BS
Boost Your Content Strategy for REST APIs with Gururaj BSBoost Your Content Strategy for REST APIs with Gururaj BS
Boost Your Content Strategy for REST APIs with Gururaj BSInformation Development World
 
Java Library for High Speed Streaming Data
Java Library for High Speed Streaming Data Java Library for High Speed Streaming Data
Java Library for High Speed Streaming Data Oracle Developers
 
HTTP/2 in the Java Platform -- Java Champions call February 2016
HTTP/2 in the Java Platform -- Java Champions call February 2016HTTP/2 in the Java Platform -- Java Champions call February 2016
HTTP/2 in the Java Platform -- Java Champions call February 2016Ed Burns
 
MySQL Tech Tour 2015 - 5.7 Connector/J/Net
MySQL Tech Tour 2015 - 5.7 Connector/J/NetMySQL Tech Tour 2015 - 5.7 Connector/J/Net
MySQL Tech Tour 2015 - 5.7 Connector/J/NetMark Swarbrick
 
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
 
OOW16 - Deploying Oracle E-Business Suite for On-Premises Cloud and Oracle Cl...
OOW16 - Deploying Oracle E-Business Suite for On-Premises Cloud and Oracle Cl...OOW16 - Deploying Oracle E-Business Suite for On-Premises Cloud and Oracle Cl...
OOW16 - Deploying Oracle E-Business Suite for On-Premises Cloud and Oracle Cl...vasuballa
 
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
 
Java EE 7 for WebLogic 12c Developers
Java EE 7 for WebLogic 12c DevelopersJava EE 7 for WebLogic 12c Developers
Java EE 7 for WebLogic 12c DevelopersBruno Borges
 
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 APIsMarta Rauch
 
Apic dc api deep dive
Apic dc api deep dive Apic dc api deep dive
Apic dc api deep dive Cisco DevNet
 
TWJUG August, MySQL JDBC Driver "Connector/J"
TWJUG August, MySQL JDBC Driver "Connector/J"TWJUG August, MySQL JDBC Driver "Connector/J"
TWJUG August, MySQL JDBC Driver "Connector/J"Ryusuke Kajiyama
 
REST API Doc Best Practices
REST API Doc Best PracticesREST API Doc Best Practices
REST API Doc Best PracticesMarta Rauch
 
CON5898 What Servlet 4.0 Means To You
CON5898 What Servlet 4.0 Means To YouCON5898 What Servlet 4.0 Means To You
CON5898 What Servlet 4.0 Means To YouEdward Burns
 
MySQL The State of the Dolphin - jun15
MySQL The State of the Dolphin - jun15MySQL The State of the Dolphin - jun15
MySQL The State of the Dolphin - jun15MySQL Brasil
 
Oracle super cluster for oracle e business suite
Oracle super cluster for oracle e business suiteOracle super cluster for oracle e business suite
Oracle super cluster for oracle e business suiteOTN Systems Hub
 

Semelhante a Oracle REST Data Services Best Practices/ Overview (20)

Servlet 4.0 Adopt-a-JSR 10 Minute Infodeck
Servlet 4.0 Adopt-a-JSR 10 Minute InfodeckServlet 4.0 Adopt-a-JSR 10 Minute Infodeck
Servlet 4.0 Adopt-a-JSR 10 Minute Infodeck
 
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
 
2015 UJUG, Servlet 4.0 portion
2015 UJUG, Servlet 4.0 portion2015 UJUG, Servlet 4.0 portion
2015 UJUG, Servlet 4.0 portion
 
Boost Your Content Strategy for REST APIs with Gururaj BS
Boost Your Content Strategy for REST APIs with Gururaj BSBoost Your Content Strategy for REST APIs with Gururaj BS
Boost Your Content Strategy for REST APIs with Gururaj BS
 
Java Library for High Speed Streaming Data
Java Library for High Speed Streaming Data Java Library for High Speed Streaming Data
Java Library for High Speed Streaming Data
 
HTTP/2 in the Java Platform -- Java Champions call February 2016
HTTP/2 in the Java Platform -- Java Champions call February 2016HTTP/2 in the Java Platform -- Java Champions call February 2016
HTTP/2 in the Java Platform -- Java Champions call February 2016
 
MySQL Tech Tour 2015 - 5.7 Connector/J/Net
MySQL Tech Tour 2015 - 5.7 Connector/J/NetMySQL Tech Tour 2015 - 5.7 Connector/J/Net
MySQL Tech Tour 2015 - 5.7 Connector/J/Net
 
Marcin Szałowicz - MySQL Workbench
Marcin Szałowicz - MySQL WorkbenchMarcin Szałowicz - MySQL Workbench
Marcin Szałowicz - MySQL Workbench
 
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
 
OOW16 - Deploying Oracle E-Business Suite for On-Premises Cloud and Oracle Cl...
OOW16 - Deploying Oracle E-Business Suite for On-Premises Cloud and Oracle Cl...OOW16 - Deploying Oracle E-Business Suite for On-Premises Cloud and Oracle Cl...
OOW16 - Deploying Oracle E-Business Suite for On-Premises Cloud and Oracle Cl...
 
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
 
Java EE 7 for WebLogic 12c Developers
Java EE 7 for WebLogic 12c DevelopersJava EE 7 for WebLogic 12c Developers
Java EE 7 for WebLogic 12c Developers
 
JAX-RS.next
JAX-RS.nextJAX-RS.next
JAX-RS.next
 
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
 
Apic dc api deep dive
Apic dc api deep dive Apic dc api deep dive
Apic dc api deep dive
 
TWJUG August, MySQL JDBC Driver "Connector/J"
TWJUG August, MySQL JDBC Driver "Connector/J"TWJUG August, MySQL JDBC Driver "Connector/J"
TWJUG August, MySQL JDBC Driver "Connector/J"
 
REST API Doc Best Practices
REST API Doc Best PracticesREST API Doc Best Practices
REST API Doc Best Practices
 
CON5898 What Servlet 4.0 Means To You
CON5898 What Servlet 4.0 Means To YouCON5898 What Servlet 4.0 Means To You
CON5898 What Servlet 4.0 Means To You
 
MySQL The State of the Dolphin - jun15
MySQL The State of the Dolphin - jun15MySQL The State of the Dolphin - jun15
MySQL The State of the Dolphin - jun15
 
Oracle super cluster for oracle e business suite
Oracle super cluster for oracle e business suiteOracle super cluster for oracle e business suite
Oracle super cluster for oracle e business suite
 

Último

UI5ers live - Custom Controls wrapping 3rd-party libs.pptx
UI5ers live - Custom Controls wrapping 3rd-party libs.pptxUI5ers live - Custom Controls wrapping 3rd-party libs.pptx
UI5ers live - Custom Controls wrapping 3rd-party libs.pptxAndreas Kunz
 
Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)Ahmed Mater
 
How To Manage Restaurant Staff -BTRESTRO
How To Manage Restaurant Staff -BTRESTROHow To Manage Restaurant Staff -BTRESTRO
How To Manage Restaurant Staff -BTRESTROmotivationalword821
 
Powering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data StreamsPowering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data StreamsSafe Software
 
Precise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive GoalPrecise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive GoalLionel Briand
 
Machine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their EngineeringMachine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their EngineeringHironori Washizaki
 
How to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion ApplicationHow to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion ApplicationBradBedford3
 
MYjobs Presentation Django-based project
MYjobs Presentation Django-based projectMYjobs Presentation Django-based project
MYjobs Presentation Django-based projectAnoyGreter
 
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...Natan Silnitsky
 
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...confluent
 
Salesforce Implementation Services PPT By ABSYZ
Salesforce Implementation Services PPT By ABSYZSalesforce Implementation Services PPT By ABSYZ
Salesforce Implementation Services PPT By ABSYZABSYZ Inc
 
PREDICTING RIVER WATER QUALITY ppt presentation
PREDICTING  RIVER  WATER QUALITY  ppt presentationPREDICTING  RIVER  WATER QUALITY  ppt presentation
PREDICTING RIVER WATER QUALITY ppt presentationvaddepallysandeep122
 
SpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at RuntimeSpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at Runtimeandrehoraa
 
Cyber security and its impact on E commerce
Cyber security and its impact on E commerceCyber security and its impact on E commerce
Cyber security and its impact on E commercemanigoyal112
 
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024StefanoLambiase
 
20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...
20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...
20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...Akihiro Suda
 
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Matt Ray
 
A healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdfA healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdfMarharyta Nedzelska
 
Introduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdfIntroduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdfFerryKemperman
 
Odoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 EnterpriseOdoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 Enterprisepreethippts
 

Último (20)

UI5ers live - Custom Controls wrapping 3rd-party libs.pptx
UI5ers live - Custom Controls wrapping 3rd-party libs.pptxUI5ers live - Custom Controls wrapping 3rd-party libs.pptx
UI5ers live - Custom Controls wrapping 3rd-party libs.pptx
 
Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)
 
How To Manage Restaurant Staff -BTRESTRO
How To Manage Restaurant Staff -BTRESTROHow To Manage Restaurant Staff -BTRESTRO
How To Manage Restaurant Staff -BTRESTRO
 
Powering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data StreamsPowering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data Streams
 
Precise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive GoalPrecise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive Goal
 
Machine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their EngineeringMachine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their Engineering
 
How to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion ApplicationHow to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion Application
 
MYjobs Presentation Django-based project
MYjobs Presentation Django-based projectMYjobs Presentation Django-based project
MYjobs Presentation Django-based project
 
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
 
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
 
Salesforce Implementation Services PPT By ABSYZ
Salesforce Implementation Services PPT By ABSYZSalesforce Implementation Services PPT By ABSYZ
Salesforce Implementation Services PPT By ABSYZ
 
PREDICTING RIVER WATER QUALITY ppt presentation
PREDICTING  RIVER  WATER QUALITY  ppt presentationPREDICTING  RIVER  WATER QUALITY  ppt presentation
PREDICTING RIVER WATER QUALITY ppt presentation
 
SpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at RuntimeSpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at Runtime
 
Cyber security and its impact on E commerce
Cyber security and its impact on E commerceCyber security and its impact on E commerce
Cyber security and its impact on E commerce
 
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
 
20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...
20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...
20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...
 
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
 
A healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdfA healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdf
 
Introduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdfIntroduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdf
 
Odoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 EnterpriseOdoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 Enterprise
 

Oracle REST Data Services Best Practices/ Overview

  • 1.
  • 2. Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | Oracle REST Data Services ( Formerly APEX Listener) Kris Rice Senior Director Database Tools Best Practices
  • 3. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | Safe Harbor • 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. 3
  • 4. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | Agenda • Overview • New Features in 2.x • Installation • Configuration • Multiple Database • RESTful APIs • Obligatory Oracle Database Cloud 4
  • 5. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | Overview Oracle REST Data Services  OWA Toolkit support  Application Express customization  Oracle DB JSON Support  Oracle NoSQL Database support  Turns Database into an RESTFul API service  Allows publishing of URI based access to Oracle database over REST  Results in JSON or CSV  Mapping of URI to SQL or PL/SQL  All HTML methods GET, PUT, POST, DELETE, PATCH  Oauth2 integration  Highly scalable 5
  • 6. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | Architecture Oracle REST Data Services  J2EE Application  No Oracle Home required  Supported deployments  WebLogic  Glassfish  Apache Tomcat  Standalone – For development 6
  • 7. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | Architecture Oracle REST Data Services 7 Java Mid Tiers HTTPS JDBC Internet Firewall Firewall Oracle NoSQL Apache httpd RMI  Separate static content  No Mid-Tier state  Scales Horizontally  Use AJP to talk to backend  Allows internal and external access
  • 8. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | 2.0 Features 8  Command Line Configuration  Multi Database support  ICAP Server integration  FOP support  2.0.8 adds FOP 1.1  PL/SQL and JavaScript based validation Function  Extensibility  REST Filtering
  • 9. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | 2.0 - Database Users 9 APEX_LISTNER •Reads REST Definitions APEX_PUBLIC_USER •Apex/OWA main connection pool •Size according to number of concurrent apex users APEX_REST_PUBLIC_USER •REST Connection pool for all REST operation •Size according to concurent REST calls
  • 10. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | 2.0 Installation – Step 1 10  Application Express 4.2.2+ required  Run apex_rest_config.sql
  • 11. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | 2.0 Installation – Step 2 11  Run java –jar ords.war  Prompts for:  Location to store configuration  Database host/port/sid or service  3 Database Users  Path to APEX images
  • 12. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | Configuration via SQL Developer 12  File Based for manual setup  SQL Developer based  Secured via webserver  Retrieve remote config  REST based deployment  Configuration Validation  SQLDev is an Oauth client
  • 13. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | Configuration via Command Line 13  Running java -jar ords.war help configdir Set the value of the web.xml config.dir property help Describe the usage of this program or its commands map-url Map a URL pattern to the named database connection migrate Migrate a 1.x configuration to 2.x format setup Configure database connection standalone Launch in standalone static Generate a Web Application Archive (WAR) to serve Oracle Application Express static resources user Create or update credentials for a user for sqldev config
  • 14. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | Configuration Files 14  defaults.xml All Common settings and defaults for all connection pools  ords/standalone/standalone.properties  Standalone settings such as /i/ and port #  conf/apex.xml Configuration for APEX/OWA  conf/apex_al.xml APEX_LISTENER – reads REST Configuration  conf/apex_rt.xml APEX_PUBLIC_PUBLIC_LISTENER – Base connection for REST  credentials Users for configuration from SQL Developer  role-mapping.xml Maps Webserver Roles into RESTful Roles  url-mapping.xml Multiple database configurations
  • 15. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | Connection Pooling 15  Each REST enabled schema grants proxy connect  Allows for smaller common pool  Connection opens proxied connection  All SQL/PLSQL execute at the schema  Proxied connection is closed and returned to the pool
  • 16. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | THE number one thing you must do 16  Configure the database connection pool  Set the max size  Set the initial size  Set the timeouts
  • 17. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | Multiple Database 17  Routes based on rules to any number of databases  Rules are contained in url-mappings.xml  3 Type of Rules: uri-pattern,base-url, and base-path <pool name="leads_db" base-url="sales.example.com/apex/leads" /> <pool name="leads_db" base-path="/sales/leads" /> <pool name="sales_db" uri-pattern="https://.*.sales.example.com/apex/.*" />
  • 18. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | Multi-Database Base-URL Example 18  Assume the listener is deployed at context path: /apex, then: <pool name="leads_db" base-url="sales.example.com/apex/leads" /> <pool name="support_db" base-url="https://support.example.com/apex" />  Match Rule 1 http://sales.example.com/apex/leads/f?p=1:1 https://sales.example.com/apex/leads/f?p:=1:1  Match Rule 2 https://support.example.com/apex/f?p:=1:1 http://support.example.com/apex/f?p:=1:1  No Matches http://example.com/apex/f?p:=1:1 http://example.com/apex/leads/f?p:=1:1
  • 19. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | Multi-Database Base-Path Example 19  Assume the listener is deployed at context path: /apex, then: <pool name="leads_db" base-path="/sales/leads" />  Match Rule 1 http://example.com/apex/sales/leads/f?p=1:1  No Matches http://example.com/apex/sales/f?p=1:1 http://example.com/apex/f?p=1:1
  • 20. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | Multi-Database Pattern Example 20  Assume the listener is deployed at context path: /apex, then: <pool name="sales_db” uri-pattern="https://.*.sales.example.com/apex/.*"/>  Match Rule https://leads.sales.example.com/apex/f?p=1:1 https://deals.sales.example.com/apex/f?p=1:1  No Matches http://hr.example.com/apex/f?p=1:1
  • 21. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | Deployment Choices 21 Multiple Mappings /sales /emp /nhl /sales /emp /nhl  One ORDS with mappings  Single webserver  Single management  Single upgrade/patch  One ORDS per mapping  Multiple webserver  Individual control  Staggered upgrades
  • 22. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | Virus Scanner Integration 22  A lightweight HTTP-like protocol specified in RFC 3507  Scans all file uploads for viruses before it reaches the database  Supported by most commercial Virus scan server  Tested with Symantec and McAfee  Multiple Open source options such as ClamAV
  • 23. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | ClamAV 23  Install ClamAV  http://oracle-base.com/articles/linux/linux-antivirus-clamav.php  Add ICAP support  http://c-icap.sourceforge.net/install.html
  • 24. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | JavaScript based Validation 24  Completely eliminates the database  Leverages JavaScript knowledge  Limit based on HTTP Headers function isValid() { if ( URI.indexOf('hi')>0 ) { return 'false';} return 'true'; }
  • 25. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | PL/SQL based Validation 25  Use binds in PL/SQL Validation  The following are automatically bound if detected  URL  PROCNAME  P_FLOW_ID  P_FLOW_STEP_ID  P_INSTANCE  P_PAGE_SUBMISSION_ID  P_REQUEST
  • 26. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | Extensibility 26  Pre and Post Process in PL/SQL <entry key="procedure.postProcess"></entry> <entry key="procedure.preProcess"></entry>  Pre and Post Process in Java FOP2PDF Caching File Download  Preprocess files in Java Virus Scanner Excel Upload  Register new Java extentions <entry key="apex.extensions"></entry>
  • 27. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | Java Extensibility - Example 27  Called for every request before the database call  Requests can be Handled, Modified, or Declined
  • 28. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | REST Filtering 28  Developer now has ability to filter REST requests on the server  Operators $eq,$gt,$lt,$lte,$gte,$ne,$instr  Logical $and, $or  Time Based ( coming in 3.0 ) $asof  Examples: { "qty": { "$gt": 20 } } {"$and": [{"price": {"$ne": 1.99}},{"price": {"$notnull": ""}}] {"price": [{"$ne": 1.99}},{"$notnull": ""}] {"$or": [{"qty": {"$lt": 20}},{"sale": {"$eq": "TRUE"}}] $asof: {"$timestamp": ”……"}
  • 29. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | Something went wrong aka Debug Mode 29  Printing Errors to the browser  Enable simple debug  Full logging of everything via java.util.logging  Full write up on Colm’s Blog  http://is.gd/ords_debug
  • 30. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | Log Requests to Database 30  Capture all PLSQL calls  Capture all Binds
  • 31. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | 3.0 New Features 31  Fully committed to REST enablement  Simplified installation  Auto Table enablement  Client REST filtering  PL/SQL API for Rest definition  Bulk CSV loading over REST  Oracle NoSQL Support  Database 12.1.0.2 JSON Collections  New Plugin framework  Jetty for Embedded webserver
  • 32. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | 3.0 New Features 32  One line install  java -jar build/built/ords.war install  Installs new ORDS_METADATA schema  Migrates settings from 2.0 to 3.0
  • 33. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | Auto REST Enablement 33  Simple menu to enable tables  Any combination of operations  Query  Insert  Update  Delete  Metadata  Bulk Loading
  • 34. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | Bulk Loading over REST 34  Factored CSV import from SQL Developer  POST the CSV in the body to /ords/schema-alias/tables/table-alias/batchload  Feedback is in the response body  Multiple options for the load Passed via headers delete=false|true|truncate batchRows=50|<n> batchesPerCommit=10|<n> errors=50|<n>|UNLIMITED errorsMax=<n> responseFormat=RAW|SQL responseEncoding=UTF8|<encoding-name> responseLocales=null|<locales> dateFormat= <format-string> timestampFormat=<format-string> timestampTZFormat=<format-string> locale=<locale>
  • 35. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | Oracle NoSQL 35  Connect to any KVStore  NoSQL 3.0 introduces TableAPI  Access via full primary key, partial key, or indexes  REST is accessible from any language
  • 36. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | Standalone - Jetty 36  Eclipse Project http://www.eclipse.org/jetty/  Full webserver  Auto creation of Self Signed SSL  SPDY Support  Apache style access log
  • 37. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | THE number one thing you must do 37  Configure the database connection pool  Set the max size  Set the initial size  Set the timeouts
  • 38. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | Oracle Cloud Easy and Graceful Deployment Deploy Anywhere Gracefully move workloads between on-premise and public cloud Same Architecture Same Standards Same Products On Premises Traditional Deployment or Private Cloud On Cloud Automated or Fully Managed Unified Management Enterprise Manager manages both On Premise and Cloud*
  • 39. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | 39 Oracle Database Cloud – Schema Service Introduction • Fully Managed Service • Monthly Subscription by Database Size (5, 20, 50 GB) • Single Database Schema, Each tenant is a single schema • Database patches and upgrades performed during scheduled maintenance windows • Deployed on Engineered Systems • DB Edition is a modified “limited” (security locked down) EE • Available since October 2013 Database schema service provides http access, see full instance services to gain full access to a full Oracle Database.
  • 40. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | Oracle Database Cloud - Schema Service Schema Service Tools • Drag and drop data movement • Database Browsing • Define RESTful Web Services • Deploy APEX Apps • SQL worksheet* • Command Line SQL over https* SQL Developer Oracle REST Data Services Oracle Application Express (APEX) Java Cloud Service - SaaS Extension • Allows publishing of URI based access to Oracle database over REST • Results in JSON or CSV • Mapping of URI to SQL or PL/SQL • All HTML methods GET, PUT, POST, DELETE, PATCH • Oauth2 integration • Highly scalable • Java platform specially built to deploy extension for Oracle Software as a Service offerings, including Sales Cloud, Service Cloud, and Marketing Cloud. • Dedicated environment running WebLogic Server. • Three pre-configured sizes • Applications are managed through Oracle Cloud tooling; no customer access to the underlying infrastructure is required. • Available as an Extra Cost Service. • Create Tables • Run any SQL • Run SQL Scripts • Browse Database Objects • Define RESTful Web Services • Build APEX Apps • Deploy pre-built productivity apps “Packaged Apps” • Deploy custom apps Included with Schema Service 40
  • 41. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | Oracle Database as a Service – Rich New Tools Local HTML5 Admin App 41

Notas do Editor

  1. *EM to cloud coming
  2. Over provisioned space by 20%.