upcoming jdeveloper adf business components rest support

20
<Insert Picture Here> Upcoming ADFBC REST Support in JDeveloper Steven Davelaar twitter:@stevendavelaar blog: http://www.ateam-oracle.com/ Oracle Fusion Middleware Architects Team (the “A-Team”)

Upload: steven-davelaar

Post on 05-Dec-2014

2.399 views

Category:

Technology


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

Page 1: 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”)

Page 2: Upcoming JDeveloper ADF Business Components REST support

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.

Page 3: Upcoming JDeveloper ADF Business Components REST support

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

Page 4: Upcoming JDeveloper ADF Business Components REST support

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.

Page 5: Upcoming JDeveloper ADF Business Components REST support

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

Page 6: Upcoming JDeveloper ADF Business Components REST support

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

Page 7: Upcoming JDeveloper ADF Business Components REST support

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

Page 8: Upcoming JDeveloper ADF Business Components REST support

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

Page 9: Upcoming JDeveloper ADF Business Components REST support

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

Page 10: Upcoming JDeveloper ADF Business Components REST support

Application Module – REST Tab

Page 11: Upcoming JDeveloper ADF Business Components REST support

REST Resources Definition

Page 12: Upcoming JDeveloper ADF Business Components REST support

Example -/rest/Departments

Page 13: Upcoming JDeveloper ADF Business Components REST support

ADF BC Rest - Expanding Links

?expand=EmployeesView

Page 14: Upcoming JDeveloper ADF Business Components REST support

ADF BC Rest - No Links

?onlydata

Page 15: Upcoming JDeveloper ADF Business Components REST support

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

Page 16: Upcoming JDeveloper ADF Business Components REST support

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

Page 17: Upcoming JDeveloper ADF Business Components REST support

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

Page 18: Upcoming JDeveloper ADF Business Components REST support

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

Page 19: Upcoming JDeveloper ADF Business Components REST support

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

Page 20: Upcoming JDeveloper ADF Business Components REST support

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