31

Extending Oracle ADF to Cloud and Mobile

  • Upload
    others

  • View
    6

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Extending Oracle ADF to Cloud and Mobile
Page 2: Extending Oracle ADF to Cloud and Mobile

Copyright©2016Oracleand/oritsaffiliates.Allrightsreserved.

ExtendingOracleADFtoCloudandMobile

FrankNimphiusSeniorPrincipalProductManagementOracleMobilityNovember,2016

ExposingADFBusinessComponentsBusinessServicesonREST

Page 3: Extending Oracle ADF to Cloud and Mobile

Copyright©2016Oracleand/oritsaffiliates.Allrightsreserved. 3

"THEFOLLOWINGISINTENDEDTOOUTLINEOURGENERALPRODUCTDIRECTION.ITISINTENDEDFORINFORMATIONPURPOSESONLY,ANDMAYNOTBEINCORPORATEDINTOANYCONTRACT.ITISNOTACOMMITMENTTODELIVERANYMATERIAL,CODE,ORFUNCTIONALITY,ANDSHOULDNOTBERELIEDUPONINMAKINGPURCHASINGDECISIONS.THEDEVELOPMENT,RELEASE,ANDTIMINGOFANYFEATURESORFUNCTIONALITYDESCRIBEDFORORACLE'SPRODUCTSREMAINSATTHESOLEDISCRETIONOFORACLE."

Page 4: Extending Oracle ADF to Cloud and Mobile

Copyright©2016Oracleand/oritsaffiliates.Allrightsreserved. 4

How to use Oracle ADF in Cloud and Mobile Apps

Return of Investment

Extension Strategy Be part of the Future

Easy Please!

Page 5: Extending Oracle ADF to Cloud and Mobile

Copyright©2016Oracleand/oritsaffiliates.Allrightsreserved.

IntegraYonstrategies

MobileBrowser

EmbeddedWebPages

ServiceSharing

DataModelSharing

5

Page 6: Extending Oracle ADF to Cloud and Mobile

Copyright©2016Oracleand/oritsaffiliates.Allrightsreserved. 6

AgendaItem

HowtodotheRESTthingWithADFBC?

Page 7: Extending Oracle ADF to Cloud and Mobile

Copyright©2016Oracleand/oritsaffiliates.Allrightsreserved. 7

ViewObjectInstanceDepartments

ApplicaDonModule

ViewObjectInstanceEmployees

ViewObjectInstanceEmployees

DataM

odel

RESTInterfaceRESTResourceDepartments

CollecYon/ObjectCustomJavaRowFinder/VC

RESTfiltering

RESTURI–GET,PUT,POST,Delete,PATCH{host:port}/{path}/rest/{version}/Departments

/{deptId}

/{deptId}/children

/{deptId}/child/Employees/{empId}

/{deptnameviarowfinder}

/{…}?{querycondiYon}

HowitWorks

Page 8: Extending Oracle ADF to Cloud and Mobile

Copyright©2016Oracleand/oritsaffiliates.Allrightsreserved.

DemonstraYonBuildingADFBCRESTServices

8

§  ConfigureApplicaYonModuleforREST§  ADFBCRESTversioning§  CreaYngResourcesfromViewObjects

Page 9: Extending Oracle ADF to Cloud and Mobile

Copyright©2016Oracleand/oritsaffiliates.Allrightsreserved. 9

oracle.adf.model.servlet.rest.ResourceServlet

RESTFrameworkentrypoint

configuredinweb-xmlforRestproject

…/rest/…

Page 10: Extending Oracle ADF to Cloud and Mobile

Copyright©2016Oracleand/oritsaffiliates.Allrightsreserved.

AnatomyofaADFBCRestRequest

10

hlp://{host}:{port}/{context-root}/rest/{version}/{resource}DELETE

hlp://{host}:{port}/{context-root}/rest/{version}/{resource}POST,PATCH

Post: executeanacYonorcreateanewresource.Patch: Updatearesource.Ifanalributeisnotcontainedintherequestpayload,itwillnotbemodified.

hlp://{host}:{port}/{context-root}/rest/{version}/{resource}?{query)GETGet: QueriesADFBCRestservicefordataanddatastructureresponses.Canusequeryparameters.

Page 11: Extending Oracle ADF to Cloud and Mobile

Copyright©2016Oracleand/oritsaffiliates.Allrightsreserved.

DiscoveringADFBCRestResources

•  /describe– Describeallavailableresources(resourcecatalog).– DescribeasingleresourcecollecYon.– Describeasingleresourceitem.– Describeanestedresourceinaparent-childrelaYonship.

11

hlp://{host}:{port}/{context-root}/rest/{version}/describe

Page 12: Extending Oracle ADF to Cloud and Mobile

Copyright©2016Oracleand/oritsaffiliates.Allrightsreserved.

QueryStrings

• offset– Definestheindexfromwheretostartqueryingresults– Allowsdeveloperstopaginatethrougharesultset

•  Limit– Definesthenumberofrowstofetchforaquery

12

PaginaDon

?offset=3&limit=10

Page 13: Extending Oracle ADF to Cloud and Mobile

Copyright©2016Oracleand/oritsaffiliates.Allrightsreserved.

QueryStrings

• Definesthefields(ViewObjectsalributes)tobeaddedtotheresponsepayload

13

Definefieldsinresponse

?fields={field1},{field2},{field-n}

Page 14: Extending Oracle ADF to Cloud and Mobile

Copyright©2016Oracleand/oritsaffiliates.Allrightsreserved.

•  one-to-manyexpressionstofilterresponsepayload–  E.g.?q=EmployeeId>=100and<=110;Salary>=5000

•  Supportedoperators:–  >–  <–  >=–  <=–  AND–  OR–  =–  LIKE

14

•  SpecialCharacters–  "and'=todefineliterals–  \=toescape–  *=wildcard

QueryStrings

?q

Page 15: Extending Oracle ADF to Cloud and Mobile

Copyright©2016Oracleand/oritsaffiliates.Allrightsreserved.

QueryStrings

• Booleanvaluetrue|false• Resourceitempayloadistodataonly– nolinks,etc.

15

Dataonly

?onlyData

Page 16: Extending Oracle ADF to Cloud and Mobile

Copyright©2016Oracleand/oritsaffiliates.Allrightsreserved.

QueryStrings

• Commaseparatedlistoforderbystatements– {orderBy_alribute_name}:{asc|desc}.– ?orderBy=alribute1:asc,alribute2:asc…

16

Orderby

?orderBy

Page 17: Extending Oracle ADF to Cloud and Mobile

Copyright©2016Oracleand/oritsaffiliates.Allrightsreserved.

InvokingCustom

ViewObject

Method

•  URI:/rest/{version}/{resource}•  HTTPMethod:POST

•  Content-Type:applicaYon/vnd.oracle.adf.acYon+json

•  Payload

17

{"name":"<methodname>","parameters":[{"<argumentname>":"<value>"},{...}]}

Page 18: Extending Oracle ADF to Cloud and Mobile

Copyright©2016Oracleand/oritsaffiliates.Allrightsreserved.

DemonstraYonBuildingADFBCRESTServices

18

§  DiscoverADFBCRESTinPostman§  ExploreRESTResources§  CRUDinPostman

Page 19: Extending Oracle ADF to Cloud and Mobile

Copyright©2016Oracleand/oritsaffiliates.Allrightsreserved. 19

AgendaItem

ADFBCRESTfromOracleMAF

Page 20: Extending Oracle ADF to Cloud and Mobile

Copyright©2016Oracleand/oritsaffiliates.Allrightsreserved.

OracleMobileApplicaYonFramework

20

OracleMobileCloudServiceCustomAPI,RESTConnector

ADFBCRESTAPI

DELETE

POST,PATCH

GETCD

M

RestServiceAdapter

Page 21: Extending Oracle ADF to Cloud and Mobile

Copyright©2016Oracleand/oritsaffiliates.Allrightsreserved.

DemonstraYonMobileApplicaDonFramework

21

§  AccessingADFBCRESTfromOracleMAF§  BuildingApplicaYonsFast

Page 22: Extending Oracle ADF to Cloud and Mobile

Copyright©2016Oracleand/oritsaffiliates.Allrightsreserved. 22

AgendaItem

ADFBCRESTfromOracleJET

Page 23: Extending Oracle ADF to Cloud and Mobile

Copyright©2016Oracleand/oritsaffiliates.Allrightsreserved.

OracleJavaScriptExtensionToolkit(JET)

23

OracleMobileCloudServiceCustomAPI,RESTConnector

ADFBCRESTAPI

DELETE

POST,PATCH

GETJETCo

mmon

Mod

el

MCSSDK

Page 24: Extending Oracle ADF to Cloud and Mobile

Copyright©2016Oracleand/oritsaffiliates.Allrightsreserved. 24

AgendaItem

OracleADFBCRESTIntegraDoninMobileCloudService

Page 25: Extending Oracle ADF to Cloud and Mobile

Copyright©2016Oracleand/oritsaffiliates.Allrightsreserved. 25Imagecourtesyof"imagerymajesYc"atFreeDigitalPhotos.net

WhyshouldIuse

OracleMCS?

Because a swallow doesn't make a Summer.

Page 26: Extending Oracle ADF to Cloud and Mobile

Copyright©2016Oracleand/oritsaffiliates.Allrightsreserved.

MobileBackend

MobileApp ConnectorCustomAPI

Nodehttp://rest/api ADFBCRESTService

ImplementaYonInterface

MobileDeveloperServiceDeveloper

DefinesInterfaceRESTAPI

Mockdata

DefinesImplementaYonNode.jscodeConnectors

OracleMobileCloudServiceCustomAPI

Proxy with Benefits

Connector

Page 27: Extending Oracle ADF to Cloud and Mobile

Copyright©2016Oracleand/oritsaffiliates.Allrightsreserved.

DemonstraYon

27

ConsumingADFBCREST

§  MCSRESTConnector§  MCSCustomAPI

Page 28: Extending Oracle ADF to Cloud and Mobile

Copyright©2016Oracleand/oritsaffiliates.Allrightsreserved. 28Imagecourtesyof"imagerymajesYc"atFreeDigitalPhotos.net

WhataboutOracleMAX?

Using the Express API is all it takes to build MAX apps from ADF BC REST

Page 29: Extending Oracle ADF to Cloud and Mobile

Copyright©2016Oracleand/oritsaffiliates.Allrightsreserved.

DemonstraYon

29

ConsumingADFBCRESTServices

§  OracleMAX

Page 30: Extending Oracle ADF to Cloud and Mobile

Copyright©2016Oracleand/oritsaffiliates.Allrightsreserved.

Summary

ADFBCREST

•  StandingontheShouldersofaGiant•  ExposesADFBCViewObjectsasRESTresources

•  ResponseShaping•  Queryparametersforon-demanddatashapingand–paginaYon

•  Secure–  CORS,CSRFProtecYon,–  ADFSecurity

UseCases

•  ShareADFBCbusinesslogicwithmobileandcloud

•  ExposeADFBClogicasRESTserviceoncloudforconsumpYonbyRESTclientsincludingADF,MAF,REST

•  BuildamobileextensionforanexisYngADFapplicaYon

30

Page 31: Extending Oracle ADF to Cloud and Mobile