Click here to load reader
Date post: | 06-Dec-2014 |
Category: |
Technology |
Upload: | amis-friends-of-oracle-and-java |
View: | 1,271 times |
Download: | 0 times |
Click here to load reader
<Insert Picture Here>
Upcoming REST Support in JDeveloper
Steven Davelaar twitter:@stevendavelaar blogs: blogs.oracle.com/jheadstart and blogs.oracle.com/ateam_webcenter Oracle Fusion Middleware Architects Team (the “A-team”)
Disclaimer
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.
Oracle and REST Web Services
• Corporate-wide standardization committee to ensure
consistency in REST services accross ALL products
• Oracle REST Standards include standards for
• Resource naming
• Resource URI
• Resource Metadata
• Resource Catalog
• Pagination
• Security
• Caching
Oracle REST API’s Use JSON Payload
• JavaScript Object Notation
• text-based open standard
designed for human-readable
data interchange. It is derived
from the JavaScript scripting
language for representing simple
data structures and associative
arrays, called objects. Despite its
relationship to JavaScript, it is
language-independent, with
parsers available for many
languages.
Oracle and JSON Schema
• JSON Schema is WSDL + XSD for JSON
• Describes the available Resource URI’s, Request and
Response MediaTypes, Resource metadata, etc.
• Not an industry standard (yet)
• Not yet widely adopted, though Google uses it
• Extensible
• Validation tools available
• Oracle resource catalog will be based on JSON
Schema with keyword extensions
• Oracle will add more metadata for Data Controls / UI
Generation
REST support in Future JDeveloper
versions
• New ADF BC REST wizard to generate RESTful
services using JSON
• New Generic REST Data Control
• New ADF Mobile REST Data Control
ADF BC Rest Services
• The resources are based on VO instances (and its
accessors) and are defined by a Resource Definition
File
• Resource Departments: Based on DepartmentVO and its
accessor to EmployeeVO
• Resource Employees: Based on EmployeeVO
• Each resource definition provides two kinds of
resources:
• Resource Collection
• Resource
ADF BC Rest – Resource Collection
• Departments
• http://server/application/rest/Departments
• Employees
• http://server/application/rest/Employees
• Employees in a "department context"
• http://server/application/rest/Departments/10/Employees
ADF BC Rest – Single Resource
• Department
• http://server/application/rest/Departments/10
• Employee
• http://server/application/rest/Employees/103
• Employee in a "department context"
• http://server/application/rest/Departments/10/Employees/103
Application Module – REST Tab
REST Resources Definition
Example …/rest/Departments
{
ADF BC Rest - Expanding Links
?expand=EmployeesView
ADF BC Rest - No Links
?onlydata
ADF BC Rest - Pagination
• Request param ‘limit’ specifies range size
• Request param ‘offset’ specifies start index
• Example:
• /rest/Departments?limit=3&offset=0
• Retrieves first three departments
ADF BC Rest – Collection Filtering
• Request param ‘query’ can specify “where clause”
• Examples:
• query={DepartmentName M*} -> Returns departments
starting with M
• query={DepartmentName *u*} -> Returns departments
containing an ‘u’ in the name
• query={DepartmentId < 40} -> Returns departments with Id
lower than 40
ADF BC Rest – Payload Filtering
• Request param ‘fields’ can specify comma-delimited
list of attributes to include
• Example:
• /rest/Departments?fields=DepartmentName
• Retutrns only DepartmentName in JSON payload
ADF BC Rest – Resource Catalog
http:/server/application/rest/describe
• Lists all resources, attribute metadata, links, children,
actions
• Describe can also be done for one specifc resource
• http://server/application/rest/Departments/describe
D E M O N S T R A T I O N
Building REST Services with
ADF BC
New ADF Mobile REST Data Control
• Goal: Leverage ADF BC Rest Services
• Support CRUD operations and provide data control
operations that allow the developer to easily use
declarative bindings
• Use metadata exposed by the services' describe
• Support for links and relationships
• Support for paging