AMIS Oracle ADF 12c Launch event 06 Steven Davelaar future REST features


Published on

Steven Davelaar about the future REST Features in ADF 12C.

Published in: Technology
  • Be the first to comment

  • Be the first to like this

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

AMIS Oracle ADF 12c Launch event 06 Steven Davelaar future REST features

  1. 1. <Insert Picture Here> Upcoming REST Support in JDeveloper Steven Davelaar twitter:@stevendavelaar blogs: and Oracle Fusion Middleware Architects Team (the “A-team”)
  2. 2. 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.
  3. 3. 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
  4. 4. 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.
  5. 5. 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
  6. 6. 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
  7. 7. 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
  8. 8. 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
  9. 9. 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
  10. 10. Application Module – REST Tab
  11. 11. REST Resources Definition
  12. 12. Example …/rest/Departments
  13. 13. ADF BC Rest - Expanding Links ?expand=EmployeesView
  14. 14. ADF BC Rest - No Links ?onlydata
  15. 15. 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
  16. 16. 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
  17. 17. 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
  18. 18. 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
  19. 19. D E M O N S T R A T I O N Building REST Services with ADF BC
  20. 20. 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