Download Oracle REST Data Services

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts

Entity–attribute–value model wikipedia , lookup

Database wikipedia , lookup

Microsoft Jet Database Engine wikipedia , lookup

Microsoft SQL Server wikipedia , lookup

Navitaire Inc v Easyjet Airline Co. and BulletProof Technologies, Inc. wikipedia , lookup

Relational model wikipedia , lookup

Database model wikipedia , lookup

Open Database Connectivity wikipedia , lookup

SQL wikipedia , lookup

Clusterpoint wikipedia , lookup

PL/SQL wikipedia , lookup

Oracle Database wikipedia , lookup

Transcript
Oracle 12c
as
Document Store
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
Simple Oracle Document Access (SODA)
• Family of API's to built schemaless applications
• Developer working with JSON-Documents, managed by the Oracle
Database
– No SQL needed
Oracle DB as Document Store
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
2
Schema-less Development Concepts
• Store application data as documents rather than in tables and columns
– Typically XML or JSON
• Primary access metaphor is Key/Value
• Database agnostic to the structure of the document
– Application data model not as database schema
– Developers can change data model „on-the-fly“
– (Most) Application changes possible without DBA Support or DB-Outages
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
3
JSON Document Stores
• Schema-less developers gravitate towards JSON document stores
• JSON Document Store Characteris
– Simple, easy to use, document centric API’s
– Indexing and querying of JSON
– Natural fit for popular RESTFul development techniques
• A number of NoSQL databases provide this functionality
– MongoDB & CouchDB
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
4
But ...
• Difficult to perform effective Analytic and Reporting
– No standard query language other than limited Query By Example (QBE) capabilities
– No interface with popular Business Intelligence, Analytics and Reporting tools
– Limited indexing
– Limited support for joins between documents or with other types of data
• Limited support for RDBMS Table stakes
– Concurrency Control
– Transactions
– Read Consistency
– High Availability and Disaster Recovery
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
5
Enabling ‘No-SQL' development on Oracle Database
• Allow “next generation” application development to leverage Oracle
Database
• Allow Oracle Database to store and manage JSON documents
• Provide the “NoSQL” application development experience
– Simple document centric API’s for storing and accessing JSON
– QBE Query capability
– No need to learn SQL
• “NoSQL” means NOT Only SQL
– Can still leverage the power of SQL for
Reporting and Analytics on JSON documents
NoSQL needed
No SQL needed
But possible and very useful
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
6
Simple Oracle Document Access (SODA)
• SODA for Java
– Collection of Java-Classes with Methods zu create & manage collections with JSON-Documents
• SODA for REST
– ORDS 3.0
– REST based Interface (Java Servlet)
– HTTP (PUT, POST, GET & DELETE )
– Could run inside the database
• SQLcl
Access JSON-Documents with SQL
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
7
Schemaless REST-Services via SODA Collection API
Oracle REST Data Services
URI
JSON
Transform
JSON Collection API Auto Generated SQL
Pass Back
{JSON}
JSON
Oracle Database
HTTP(S) client
CRUD Operations as
HTTP Methods
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
List of all Collections
GET
/ords/schema/soda/version
Create Collection
PUT
/ords/schema/soda/version/collection
Add Document
POST
/ords/schema/soda/version/collection
Add Documents
POST
/ords/schema/soda/version/collection?action=insert
Query Collection
GET
/ords/schema/soda/version/collection
Call Document
GET
/ords/schema/soda/version/collection/id
Change Document
PUT
/ords/schema/soda/version/collection/id
Remove Document
DELETE
/ords/schema/soda/version/collection/id
Remove Documents
POST
/ords/schema/soda/version/collection?action=delete
Remove all Documents
POST
/ords/schema/soda/version/collection?action=truncate
Query by Example
POST
/ords/schema/soda/version/collection?action=query
Create/Drop Index
POST
/ords/schema/soda/version/collection?action=unindex
Remove Collection
DELETE
/ords/schema/soda/version/collection
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
Path
/ords/schema/soda/version/collection
Virtuell Folder of ORDS Servlets
Identifier in ORDS, linking to the used DB Schema
Indicator to involve SODA Component for Request in ORDS
Version of SODA for REST
(latest uses most current version)
Name of Collection
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
10
JSON and SQL Duality
>30 Years of Development & Experience
with the query language SQL are
available for JSON-Documents
Oracle Database 12c
JSON
Data Access via
REST or Native API
SQL
JSON in the Database
Analysis / Queries with SQL
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
Oracle REST Data Services: Architecture
Oracle REST Data
Services
URI
JSON Collection API
Auto Generated SQL
Pass Back
{JSON}
Map & Bind
SQL
Transform to JSON
SQL Result Set
{JSON}
HTTP(S) client
NoSQL API
Key Value Lookup
PassBack
{JSON}
JSON Document
Store
Relational Tables
NoSQL-Data
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
12
ORDS_METADATA – SODA Security
ROLES
MyRole
PRIVILEGE_ROLES
MyRole-MyPrivileg
MyPrivileg
MyPrivileg
PRIVILEGES
Pattern 1
Pattern 2
.....
PRIVILEGE_MAPPINGS
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
13
Requirements for SODA
• Oracle Database Release 12.1.0.2 with Patch 20885778
• Possible Java-Container for SODA for REST
– Oracle WebLogic Server (>=11gR1 (10.3.6))
– GlassFish Server (>=Release 3.1.2)
– Apache Tomcat (>=7.0.56)
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
14
Sources
• SODA for REST Developer‘s Guide
– https://docs.oracle.com/cd/E56351_01/doc.30/e58123/toc.htm
• SODA for JAVA @ github
– https://github.com/oracle/SODA-FOR-JAVA
• Whitepaper
– Developing schemaless applications using the Simple Oracle Document Access API’s
– http://www.oracle.com/technetwork/database/appdev-with-soda-2606220.pdf
– Schemaless Application Development with Oracle Database 12c
– http://www.oracle.com/technetwork/database/soda-wp-2531583.pdf
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
15
Sources - German
• Blog – JSON, REST und mehr – mit der Oracle Datenbank
– http://json-rest-oracledb.blogspot.co.uk/
• Oracle Dojo – Arbeiten mit JSON und Oracle12c
– http://www.oracle.com/webfolder/technetwork/de/community/dojo/index.html
• Video – Oracle12c als Document Store
– https://youtu.be/WRXAIAz-0cY
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
16