Upcoming JDeveloper ADF Business Components REST support

Post on 05-Dec-2014

2.399 views 8 download

description

Sneak preview of functionality that will be added to future version of JDeveloepr that allow you to expose ADF Business Component view objects as RESTful web services

Transcript of Upcoming JDeveloper ADF Business Components REST support

<Insert Picture Here>

Upcoming ADFBC REST Support in JDeveloper

Steven Davelaar twitter:@stevendavelaarblog: http://www.ateam-oracle.com/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 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 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 REST Data Control

• No longer part of URL Data Control• No longer part of URL 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"• 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"• 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• 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 • 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• 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 specific resource

• http://server/application/rest/Departments/describe

D E M O N S T R A T I O ND 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• Use metadata exposed by the services' describe

• Support for links and relationships

• Support for paging