extending oracle adf to cloud and mobile
TRANSCRIPT
![Page 1: Extending Oracle ADF to Cloud and Mobile](https://reader030.vdocuments.net/reader030/viewer/2022012618/619fd79f7457a12fdc07764e/html5/thumbnails/1.jpg)
![Page 2: Extending Oracle ADF to Cloud and Mobile](https://reader030.vdocuments.net/reader030/viewer/2022012618/619fd79f7457a12fdc07764e/html5/thumbnails/2.jpg)
Copyright©2016Oracleand/oritsaffiliates.Allrightsreserved.
ExtendingOracleADFtoCloudandMobile
FrankNimphiusSeniorPrincipalProductManagementOracleMobilityNovember,2016
ExposingADFBusinessComponentsBusinessServicesonREST
![Page 3: Extending Oracle ADF to Cloud and Mobile](https://reader030.vdocuments.net/reader030/viewer/2022012618/619fd79f7457a12fdc07764e/html5/thumbnails/3.jpg)
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](https://reader030.vdocuments.net/reader030/viewer/2022012618/619fd79f7457a12fdc07764e/html5/thumbnails/4.jpg)
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](https://reader030.vdocuments.net/reader030/viewer/2022012618/619fd79f7457a12fdc07764e/html5/thumbnails/5.jpg)
Copyright©2016Oracleand/oritsaffiliates.Allrightsreserved.
IntegraYonstrategies
MobileBrowser
EmbeddedWebPages
ServiceSharing
DataModelSharing
5
![Page 6: Extending Oracle ADF to Cloud and Mobile](https://reader030.vdocuments.net/reader030/viewer/2022012618/619fd79f7457a12fdc07764e/html5/thumbnails/6.jpg)
Copyright©2016Oracleand/oritsaffiliates.Allrightsreserved. 6
AgendaItem
HowtodotheRESTthingWithADFBC?
![Page 7: Extending Oracle ADF to Cloud and Mobile](https://reader030.vdocuments.net/reader030/viewer/2022012618/619fd79f7457a12fdc07764e/html5/thumbnails/7.jpg)
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](https://reader030.vdocuments.net/reader030/viewer/2022012618/619fd79f7457a12fdc07764e/html5/thumbnails/8.jpg)
Copyright©2016Oracleand/oritsaffiliates.Allrightsreserved.
DemonstraYonBuildingADFBCRESTServices
8
§ ConfigureApplicaYonModuleforREST§ ADFBCRESTversioning§ CreaYngResourcesfromViewObjects
![Page 9: Extending Oracle ADF to Cloud and Mobile](https://reader030.vdocuments.net/reader030/viewer/2022012618/619fd79f7457a12fdc07764e/html5/thumbnails/9.jpg)
Copyright©2016Oracleand/oritsaffiliates.Allrightsreserved. 9
oracle.adf.model.servlet.rest.ResourceServlet
RESTFrameworkentrypoint
configuredinweb-xmlforRestproject
…/rest/…
![Page 10: Extending Oracle ADF to Cloud and Mobile](https://reader030.vdocuments.net/reader030/viewer/2022012618/619fd79f7457a12fdc07764e/html5/thumbnails/10.jpg)
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](https://reader030.vdocuments.net/reader030/viewer/2022012618/619fd79f7457a12fdc07764e/html5/thumbnails/11.jpg)
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](https://reader030.vdocuments.net/reader030/viewer/2022012618/619fd79f7457a12fdc07764e/html5/thumbnails/12.jpg)
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](https://reader030.vdocuments.net/reader030/viewer/2022012618/619fd79f7457a12fdc07764e/html5/thumbnails/13.jpg)
Copyright©2016Oracleand/oritsaffiliates.Allrightsreserved.
QueryStrings
• Definesthefields(ViewObjectsalributes)tobeaddedtotheresponsepayload
13
Definefieldsinresponse
?fields={field1},{field2},{field-n}
![Page 14: Extending Oracle ADF to Cloud and Mobile](https://reader030.vdocuments.net/reader030/viewer/2022012618/619fd79f7457a12fdc07764e/html5/thumbnails/14.jpg)
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](https://reader030.vdocuments.net/reader030/viewer/2022012618/619fd79f7457a12fdc07764e/html5/thumbnails/15.jpg)
Copyright©2016Oracleand/oritsaffiliates.Allrightsreserved.
QueryStrings
• Booleanvaluetrue|false• Resourceitempayloadistodataonly– nolinks,etc.
15
Dataonly
?onlyData
![Page 16: Extending Oracle ADF to Cloud and Mobile](https://reader030.vdocuments.net/reader030/viewer/2022012618/619fd79f7457a12fdc07764e/html5/thumbnails/16.jpg)
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](https://reader030.vdocuments.net/reader030/viewer/2022012618/619fd79f7457a12fdc07764e/html5/thumbnails/17.jpg)
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](https://reader030.vdocuments.net/reader030/viewer/2022012618/619fd79f7457a12fdc07764e/html5/thumbnails/18.jpg)
Copyright©2016Oracleand/oritsaffiliates.Allrightsreserved.
DemonstraYonBuildingADFBCRESTServices
18
§ DiscoverADFBCRESTinPostman§ ExploreRESTResources§ CRUDinPostman
![Page 19: Extending Oracle ADF to Cloud and Mobile](https://reader030.vdocuments.net/reader030/viewer/2022012618/619fd79f7457a12fdc07764e/html5/thumbnails/19.jpg)
Copyright©2016Oracleand/oritsaffiliates.Allrightsreserved. 19
AgendaItem
ADFBCRESTfromOracleMAF
![Page 20: Extending Oracle ADF to Cloud and Mobile](https://reader030.vdocuments.net/reader030/viewer/2022012618/619fd79f7457a12fdc07764e/html5/thumbnails/20.jpg)
Copyright©2016Oracleand/oritsaffiliates.Allrightsreserved.
OracleMobileApplicaYonFramework
20
OracleMobileCloudServiceCustomAPI,RESTConnector
ADFBCRESTAPI
DELETE
POST,PATCH
GETCD
M
RestServiceAdapter
![Page 21: Extending Oracle ADF to Cloud and Mobile](https://reader030.vdocuments.net/reader030/viewer/2022012618/619fd79f7457a12fdc07764e/html5/thumbnails/21.jpg)
Copyright©2016Oracleand/oritsaffiliates.Allrightsreserved.
DemonstraYonMobileApplicaDonFramework
21
§ AccessingADFBCRESTfromOracleMAF§ BuildingApplicaYonsFast
![Page 22: Extending Oracle ADF to Cloud and Mobile](https://reader030.vdocuments.net/reader030/viewer/2022012618/619fd79f7457a12fdc07764e/html5/thumbnails/22.jpg)
Copyright©2016Oracleand/oritsaffiliates.Allrightsreserved. 22
AgendaItem
ADFBCRESTfromOracleJET
![Page 23: Extending Oracle ADF to Cloud and Mobile](https://reader030.vdocuments.net/reader030/viewer/2022012618/619fd79f7457a12fdc07764e/html5/thumbnails/23.jpg)
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](https://reader030.vdocuments.net/reader030/viewer/2022012618/619fd79f7457a12fdc07764e/html5/thumbnails/24.jpg)
Copyright©2016Oracleand/oritsaffiliates.Allrightsreserved. 24
AgendaItem
OracleADFBCRESTIntegraDoninMobileCloudService
![Page 25: Extending Oracle ADF to Cloud and Mobile](https://reader030.vdocuments.net/reader030/viewer/2022012618/619fd79f7457a12fdc07764e/html5/thumbnails/25.jpg)
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](https://reader030.vdocuments.net/reader030/viewer/2022012618/619fd79f7457a12fdc07764e/html5/thumbnails/26.jpg)
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](https://reader030.vdocuments.net/reader030/viewer/2022012618/619fd79f7457a12fdc07764e/html5/thumbnails/27.jpg)
Copyright©2016Oracleand/oritsaffiliates.Allrightsreserved.
DemonstraYon
27
ConsumingADFBCREST
§ MCSRESTConnector§ MCSCustomAPI
![Page 28: Extending Oracle ADF to Cloud and Mobile](https://reader030.vdocuments.net/reader030/viewer/2022012618/619fd79f7457a12fdc07764e/html5/thumbnails/28.jpg)
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](https://reader030.vdocuments.net/reader030/viewer/2022012618/619fd79f7457a12fdc07764e/html5/thumbnails/29.jpg)
Copyright©2016Oracleand/oritsaffiliates.Allrightsreserved.
DemonstraYon
29
ConsumingADFBCRESTServices
§ OracleMAX
![Page 30: Extending Oracle ADF to Cloud and Mobile](https://reader030.vdocuments.net/reader030/viewer/2022012618/619fd79f7457a12fdc07764e/html5/thumbnails/30.jpg)
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](https://reader030.vdocuments.net/reader030/viewer/2022012618/619fd79f7457a12fdc07764e/html5/thumbnails/31.jpg)