Oracle ORDS New features you can't ignore...REST enabled SQL 28 REST enabled SQL provides access to...
Transcript of Oracle ORDS New features you can't ignore...REST enabled SQL 28 REST enabled SQL provides access to...
![Page 1: Oracle ORDS New features you can't ignore...REST enabled SQL 28 REST enabled SQL provides access to the SQL engine via HTTPS Use Cases – Run sql statements on the cloud via https](https://reader030.fdocuments.in/reader030/viewer/2022033123/5e7e409a6819b75829398839/html5/thumbnails/1.jpg)
1
OracleORDSNewfeaturesyoucan'tignore
DietmarAustOpal-Consulting,Köln
www.opal-consulting.de
![Page 2: Oracle ORDS New features you can't ignore...REST enabled SQL 28 REST enabled SQL provides access to the SQL engine via HTTPS Use Cases – Run sql statements on the cloud via https](https://reader030.fdocuments.in/reader030/viewer/2022033123/5e7e409a6819b75829398839/html5/thumbnails/2.jpg)
2AboutDietmar.
• Dipl.-Inform.DietmarAust,FreelanceConsultant• Master'sDegreeinComputerScience(MSCS)
• BuildingOraclebasedWebApplicationssince1997• Portal,Forms,Reports,OWAToolkit,nowAPEX!
• 1997-2000:ConsultantatOracleGermany
• Since09/2000:FreelanceConsultant,Since2006–APEXonly!
• AuthoroftheJasperReportsIntegrationtoolkit• http://www.opal-consulting.de/tools
• 2015DatabaseDeveloperoftheyearintheORDScategory
![Page 3: Oracle ORDS New features you can't ignore...REST enabled SQL 28 REST enabled SQL provides access to the SQL engine via HTTPS Use Cases – Run sql statements on the cloud via https](https://reader030.fdocuments.in/reader030/viewer/2022033123/5e7e409a6819b75829398839/html5/thumbnails/3.jpg)
3AboutDietmar.
Haveaproblemyoucannotsolve?OracleAPEXOracleORDS
Scheduleacallwithme!
www.opal-consulting.de/contact
![Page 4: Oracle ORDS New features you can't ignore...REST enabled SQL 28 REST enabled SQL provides access to the SQL engine via HTTPS Use Cases – Run sql statements on the cloud via https](https://reader030.fdocuments.in/reader030/viewer/2022033123/5e7e409a6819b75829398839/html5/thumbnails/4.jpg)
4Agenda
Coveringnewfeaturesfrom17.4to19.1• PreHook• mod_plsqlmigrationsupport• RESTenabledSQL• DatabaseRESTAPI• Smallerfeatures• Changed,deprecatedandremoved
![Page 5: Oracle ORDS New features you can't ignore...REST enabled SQL 28 REST enabled SQL provides access to the SQL engine via HTTPS Use Cases – Run sql statements on the cloud via https](https://reader030.fdocuments.in/reader030/viewer/2022033123/5e7e409a6819b75829398839/html5/thumbnails/5.jpg)
5Versioninformationinlowerleftcorner
• Whenwasthatnewfeatureintroduced?
![Page 6: Oracle ORDS New features you can't ignore...REST enabled SQL 28 REST enabled SQL provides access to the SQL engine via HTTPS Use Cases – Run sql statements on the cloud via https](https://reader030.fdocuments.in/reader030/viewer/2022033123/5e7e409a6819b75829398839/html5/thumbnails/6.jpg)
6
PreHook
![Page 7: Oracle ORDS New features you can't ignore...REST enabled SQL 28 REST enabled SQL provides access to the SQL engine via HTTPS Use Cases – Run sql statements on the cloud via https](https://reader030.fdocuments.in/reader030/viewer/2022033123/5e7e409a6819b75829398839/html5/thumbnails/7.jpg)
7PreHook
APreHookimplementsapl/sqlhandlerBEFOREaRESTfulcallisprocessedAuthenticatingusers(firstpartyauthentication)hadchallengespreviously:• Hadtobedoneattheapplicationserverlevel
– toocomplicatedformanydevelopers– differentimplementationforeachapplicationserver(Tomcat/Weblogic/Glassfish)
ORDS18.3
![Page 8: Oracle ORDS New features you can't ignore...REST enabled SQL 28 REST enabled SQL provides access to the SQL engine via HTTPS Use Cases – Run sql statements on the cloud via https](https://reader030.fdocuments.in/reader030/viewer/2022033123/5e7e409a6819b75829398839/html5/thumbnails/8.jpg)
8PreHook
MajorUseCases:• Setupuser/roleswithpl/sqlandnotintheapplicationserver
– APEXauthenticationschemesareeasytoimplementwithpl/sql• ImplementVPDrequirementsforRESTfulhandlers
– Collectionandcollectionitemquerieswithoutvpdcontext=>emptyresultset
• Autorestenabledobjectscanaccesstheuseridentity(:current_user)inatrigger
ORDS18.3
![Page 9: Oracle ORDS New features you can't ignore...REST enabled SQL 28 REST enabled SQL provides access to the SQL engine via HTTPS Use Cases – Run sql statements on the cloud via https](https://reader030.fdocuments.in/reader030/viewer/2022033123/5e7e409a6819b75829398839/html5/thumbnails/9.jpg)
9PreHook
1. ConfigurationinORDS/defaults.xml:
– DefinedonconnectionpoollevelforallRESTenabledschemasinthatdatabase
2. Createplsqlfunction
– MustbeexecutablebyallRESTenabledschemasorglobally– ExceptionHandlerisREALLYIMPORTANT– Mayaffectperformance,iscalledbeforeEVERYrequest.
ORDS18.3
�<entrykey="procedure.rest.preHook">myPLSQLFunction</entry>
�FUNCTIONords_prehookRETURNBOOLEAN
![Page 10: Oracle ORDS New features you can't ignore...REST enabled SQL 28 REST enabled SQL provides access to the SQL engine via HTTPS Use Cases – Run sql statements on the cloud via https](https://reader030.fdocuments.in/reader030/viewer/2022033123/5e7e409a6819b75829398839/html5/thumbnails/10.jpg)
10PreHook-Flowofevents
Oracle REST Data
Services
ORDSRunsinWLS,Tomcatcontainer
OracleDB5.DBreturnsJDBCResults
6.ReturnJSON/CSV
1./ords/<RESTfulURI>
2.CallpreHook()
3.Return(yes/no),headersX-ORDS-USERX-ORDS-USER_ROLES
4.CallRESTfulservice()
ORDS18.3
![Page 11: Oracle ORDS New features you can't ignore...REST enabled SQL 28 REST enabled SQL provides access to the SQL engine via HTTPS Use Cases – Run sql statements on the cloud via https](https://reader030.fdocuments.in/reader030/viewer/2022033123/5e7e409a6819b75829398839/html5/thumbnails/11.jpg)
11
ORDS18.3
![Page 12: Oracle ORDS New features you can't ignore...REST enabled SQL 28 REST enabled SQL provides access to the SQL engine via HTTPS Use Cases – Run sql statements on the cloud via https](https://reader030.fdocuments.in/reader030/viewer/2022033123/5e7e409a6819b75829398839/html5/thumbnails/12.jpg)
12PreHook-Flowofevents
Oracle REST Data
Services
ORDSRunsinWLS,Tomcatcontainer
OracleDB5.DBreturnsJDBCResults
6.ReturnJSON/CSV
1./ords/<RESTfulURI>
2.CallpreHook()
3.Return(yes/no),headersX-ORDS-USERX-ORDS-USER_ROLES
4.CallRESTfulservice()
UsesIDENTICALsessionfromconnectionpool
ORDS18.3
⇒ Detectthecallcontext⇒ parsingschema,⇒ URI,httpheaders,basicauth,...
![Page 13: Oracle ORDS New features you can't ignore...REST enabled SQL 28 REST enabled SQL provides access to the SQL engine via HTTPS Use Cases – Run sql statements on the cloud via https](https://reader030.fdocuments.in/reader030/viewer/2022033123/5e7e409a6819b75829398839/html5/thumbnails/13.jpg)
13PreHook–Detectingthecallcontext
http://localhost:8080/ords/rest/ordstest/opal/nf/v1/user-info?x=1
ORDS18.3
![Page 14: Oracle ORDS New features you can't ignore...REST enabled SQL 28 REST enabled SQL provides access to the SQL engine via HTTPS Use Cases – Run sql statements on the cloud via https](https://reader030.fdocuments.in/reader030/viewer/2022033123/5e7e409a6819b75829398839/html5/thumbnails/14.jpg)
14PreHook–DifferentHandlersperSchema
• ImplementingdifferenthandlersperRESTenabledschema?1. DifferentPL/SQLfunctionsperORDSenabledschema
• Globallyexecutableprehookfunctionwithpublicsynonym• Differentlocalfunction(withidenticalname)ineachschemaleveragingOraclenameresolution
2. Singleglobalfunctionwithdifferentcodebasedoncallcontext(parsingschema,module,etc.)
ORDS18.3
![Page 15: Oracle ORDS New features you can't ignore...REST enabled SQL 28 REST enabled SQL provides access to the SQL engine via HTTPS Use Cases – Run sql statements on the cloud via https](https://reader030.fdocuments.in/reader030/viewer/2022033123/5e7e409a6819b75829398839/html5/thumbnails/15.jpg)
15PreHook–IntegrationwithActiveDirectory
• LeveragingSSOHeaderintegrationwithActiveDirectory– https://www.edocr.com/v/lv1rvxvx/nielsdebruijn/Single-Sign-On-for-Oracle-Application-Express-APEX
• BasicIdea:ConnectWebServer/ApplicationServertoActiveDirectoryandsethttpheadervariableSSO_USER
ORDS18.3
![Page 16: Oracle ORDS New features you can't ignore...REST enabled SQL 28 REST enabled SQL provides access to the SQL engine via HTTPS Use Cases – Run sql statements on the cloud via https](https://reader030.fdocuments.in/reader030/viewer/2022033123/5e7e409a6819b75829398839/html5/thumbnails/16.jpg)
16PreHook–IntegrationwithActiveDirectory
• ImplementationinPreHook– worksacrossapplicationservers!
createorreplacefunctionords_prehookreturnbooleanisbeginowa_util.status_line(200,'OK',FALSE);htp.prn('X-ORDS-HOOK-USER:'||owa_util.get_cgi_env('SSO_USER'));returntrue;EXCEPTIONWHENOTHERSTHEN--THISISIMPORTANT!!!ElseORDSmightnotreturnonceanerroroccured.RETURNfalse;END;
ORDS18.3
![Page 17: Oracle ORDS New features you can't ignore...REST enabled SQL 28 REST enabled SQL provides access to the SQL engine via HTTPS Use Cases – Run sql statements on the cloud via https](https://reader030.fdocuments.in/reader030/viewer/2022033123/5e7e409a6819b75829398839/html5/thumbnails/17.jpg)
17
mod_plsqlMigrationSupport
![Page 18: Oracle ORDS New features you can't ignore...REST enabled SQL 28 REST enabled SQL provides access to the SQL engine via HTTPS Use Cases – Run sql statements on the cloud via https](https://reader030.fdocuments.in/reader030/viewer/2022033123/5e7e409a6819b75829398839/html5/thumbnails/18.jpg)
18mod_plsqlDesupport
• DeprecatedsinceOracleHTTPServer(OHS)12.1.3• RemovedinOracleHTTPServer12cversion12.2.1
![Page 19: Oracle ORDS New features you can't ignore...REST enabled SQL 28 REST enabled SQL provides access to the SQL engine via HTTPS Use Cases – Run sql statements on the cloud via https](https://reader030.fdocuments.in/reader030/viewer/2022033123/5e7e409a6819b75829398839/html5/thumbnails/19.jpg)
19mod_plsqlMigrationSupport
• NewfeaturesaddedtoOracleORDStoease1:1migrationfrommod_plsql
• Upuntil17.4– somefeatureswerenotsupported(mainlyauthenticationchoices),
– somehadtoberewritten(e.g.fileupload)
![Page 20: Oracle ORDS New features you can't ignore...REST enabled SQL 28 REST enabled SQL provides access to the SQL engine via HTTPS Use Cases – Run sql statements on the cloud via https](https://reader030.fdocuments.in/reader030/viewer/2022033123/5e7e409a6819b75829398839/html5/thumbnails/20.jpg)
20HTTPBasicauthenticationwithDBuser/pwd
Usingdatabaseaccounts(username/password)toauthenticatePL/SQLgatewaycalls.Inmod_plsqltheusername/pwdwasempty/plsql/logmeofftodeauthenticate
ORDS18.1
![Page 21: Oracle ORDS New features you can't ignore...REST enabled SQL 28 REST enabled SQL provides access to the SQL engine via HTTPS Use Cases – Run sql statements on the cloud via https](https://reader030.fdocuments.in/reader030/viewer/2022033123/5e7e409a6819b75829398839/html5/thumbnails/21.jpg)
21HTTPBasicauthenticationwithDBuser/pwd
SetupinORDS1. Createadummyuserwhichhasnoexecuteprivilegeson
anything(oruseAPEX_PUBLIC_USERforexample)2. Createaplsqlconnectionpoolwiththisuser3. Definejdbc.auth.enabledinplsqlconnectionpool
ORDS18.1
<properties><comment>SavedonFriApr1210:52:47CEST2019</comment><entrykey="db.password">@058A4EE0DA652E95D5BCA4A0B55895AF3B</entry><entrykey="db.servicename">XE</entry><entrykey="db.username">APEX_PUBLIC_USER</entry><entrykey="jdbc.auth.enabled">true</entry></properties>
![Page 22: Oracle ORDS New features you can't ignore...REST enabled SQL 28 REST enabled SQL provides access to the SQL engine via HTTPS Use Cases – Run sql statements on the cloud via https](https://reader030.fdocuments.in/reader030/viewer/2022033123/5e7e409a6819b75829398839/html5/thumbnails/22.jpg)
22HTTPBasicauthenticationwithDBuser/pwd
• Whencallingapublicprocedure– http://vm1/ords/basic_dyn_auth/apex_login– Itwilljustproceedandyouwillnotbeprompted
• Callingaprivateprocedurewilltriggerthechallenge– http://vm1/ords/basic_dyn_auth/opal_demo_ords.user_info
– Thenenterdbuser/pwdforthesession
ORDS18.1
![Page 23: Oracle ORDS New features you can't ignore...REST enabled SQL 28 REST enabled SQL provides access to the SQL engine via HTTPS Use Cases – Run sql statements on the cloud via https](https://reader030.fdocuments.in/reader030/viewer/2022033123/5e7e409a6819b75829398839/html5/thumbnails/23.jpg)
23HTTPBasicauthenticationwithDBuser/pwd
ImportantConstraints• UserMUSTNOTbeREST-enabled• UserMUSTNOThaveexecuteprivilegesonthetargetprocedure
Restrictions• Logout(/pls/logmeoff)isnotsupported,browsermustbeclosed
• Anadditionalroundtripforloginrequired(connectionpoolcannotbeused),mightaffectinitialperformance
ORDS18.1
![Page 24: Oracle ORDS New features you can't ignore...REST enabled SQL 28 REST enabled SQL provides access to the SQL engine via HTTPS Use Cases – Run sql statements on the cloud via https](https://reader030.fdocuments.in/reader030/viewer/2022033123/5e7e409a6819b75829398839/html5/thumbnails/24.jpg)
24CustomAuthentication
Customauthenticationwasusedinmod_plsqlapplicationstoauthenticateusersdynamicallyagainstusertables• Canusebasicauthenticationorloginform• Theauthorize()functioniscalledforeveryrequestImplementationinORDS• Addsettingtoconnectionpool
ORDS18.3
�<entrykey="security.requestAuthenticationFunction">custom_auth_authorize_simple</entry>
![Page 25: Oracle ORDS New features you can't ignore...REST enabled SQL 28 REST enabled SQL provides access to the SQL engine via HTTPS Use Cases – Run sql statements on the cloud via https](https://reader030.fdocuments.in/reader030/viewer/2022033123/5e7e409a6819b75829398839/html5/thumbnails/25.jpg)
25PL/SQLGatewaysupportforcustomauthentication
ORDS18.3
![Page 26: Oracle ORDS New features you can't ignore...REST enabled SQL 28 REST enabled SQL provides access to the SQL engine via HTTPS Use Cases – Run sql statements on the cloud via https](https://reader030.fdocuments.in/reader030/viewer/2022033123/5e7e409a6819b75829398839/html5/thumbnails/26.jpg)
26PerRequestvalidation
Cachingoftherequestvalidationfunctioncanbedisabled.Thefunctionlimitswhichpublicprocedurescanbecalled.
– Bydefaultthefunctionresultiscached(assumption:listofallowedprocsisfixed)
– ProvidemeanstodisablecachingofPL/SQLGatewayprocedurevalidation
• CustomersuseIPAddresses,Userinfoandheaderstoauthorizeeachrequest
<entrykey="security.requestValidationFunction">wwv_flow_epg_include_modules.authorize</entry>
<entrykey="security.maxEntries">0</entry>
ORDS18.3
![Page 27: Oracle ORDS New features you can't ignore...REST enabled SQL 28 REST enabled SQL provides access to the SQL engine via HTTPS Use Cases – Run sql statements on the cloud via https](https://reader030.fdocuments.in/reader030/viewer/2022033123/5e7e409a6819b75829398839/html5/thumbnails/27.jpg)
27
RESTenabledSQL
![Page 28: Oracle ORDS New features you can't ignore...REST enabled SQL 28 REST enabled SQL provides access to the SQL engine via HTTPS Use Cases – Run sql statements on the cloud via https](https://reader030.fdocuments.in/reader030/viewer/2022033123/5e7e409a6819b75829398839/html5/thumbnails/28.jpg)
28RESTenabledSQL
RESTenabledSQLprovidesaccesstotheSQLengineviaHTTPSUseCases
– Runsqlstatementsonthecloudviahttps(nosqlnet/jdbcaccess)
– AlternativetoJDBC/ODBCconnectivityand/ordatabaselinks– „Three-tier“APEXapplicationswherethedatatables/proceduresdon‘thavetoresideinAPEXDB.
ORDS17.4
![Page 29: Oracle ORDS New features you can't ignore...REST enabled SQL 28 REST enabled SQL provides access to the SQL engine via HTTPS Use Cases – Run sql statements on the cloud via https](https://reader030.fdocuments.in/reader030/viewer/2022033123/5e7e409a6819b75829398839/html5/thumbnails/29.jpg)
29RESTenabledSQL–mechanics
HttpPOSTthestatement(s)andgettheresultinJSON
ORDS17.4
![Page 30: Oracle ORDS New features you can't ignore...REST enabled SQL 28 REST enabled SQL provides access to the SQL engine via HTTPS Use Cases – Run sql statements on the cloud via https](https://reader030.fdocuments.in/reader030/viewer/2022033123/5e7e409a6819b75829398839/html5/thumbnails/30.jpg)
30RESTenabledSQL–mechanics
ORDS17.4
![Page 31: Oracle ORDS New features you can't ignore...REST enabled SQL 28 REST enabled SQL provides access to the SQL engine via HTTPS Use Cases – Run sql statements on the cloud via https](https://reader030.fdocuments.in/reader030/viewer/2022033123/5e7e409a6819b75829398839/html5/thumbnails/31.jpg)
31RESTenabledSQL–SetupinORDS
1. Addentrytoconnectionpool
2. (optional)Limitmaxnumberofrows(default:500)
3. RESTenableallaccessibleschemas4. AccessschemaswithURL:https://server:port/ords/<schema_alias>/_/sql
<entrykey="restEnabledSql.active">true</entry>
<entrykey="misc.pagination.maxRows">1500</entry>
ORDS17.4
![Page 32: Oracle ORDS New features you can't ignore...REST enabled SQL 28 REST enabled SQL provides access to the SQL engine via HTTPS Use Cases – Run sql statements on the cloud via https](https://reader030.fdocuments.in/reader030/viewer/2022033123/5e7e409a6819b75829398839/html5/thumbnails/32.jpg)
32RESTenabledSQL-Authentication
• Firstpartyauthentication– ORDScredentialsfile,grantrole„SQLDeveloper“
– AuthenticationinAppserver,grantrole„SQLDeveloper“– =>accesstoALLRESTenabledschemas
• OAuth2ClientCredentials– Grantrole„SQLDeveloper“
• Schemaauthentication(user/passwordforDBschema)– Role„SQLDeveloper“willbeassignedautomatically
ORDS17.4
java–jarords.waruserSQLDEV"SQLDeveloper"
![Page 33: Oracle ORDS New features you can't ignore...REST enabled SQL 28 REST enabled SQL provides access to the SQL engine via HTTPS Use Cases – Run sql statements on the cloud via https](https://reader030.fdocuments.in/reader030/viewer/2022033123/5e7e409a6819b75829398839/html5/thumbnails/33.jpg)
33RESTenabledSQL–GettingStarted
• Documentation:– https://docs.oracle.com/en/database/oracle/oracle-rest-data-services/18.4/aelig/rest-enabled-sql-service.html
• Commands:SQL,PL/SQL,SQLPlus,SQLclcommands– https://docs.oracle.com/en/database/oracle/oracle-rest-data-services/18.4/aelig/rest-enabled-sql-service.html#GUID-AE7F4291-02B1-4608-B5B2-F783A15D8AEB
– Nocommandstoaccesshostornetwork
ORDS17.4
![Page 34: Oracle ORDS New features you can't ignore...REST enabled SQL 28 REST enabled SQL provides access to the SQL engine via HTTPS Use Cases – Run sql statements on the cloud via https](https://reader030.fdocuments.in/reader030/viewer/2022033123/5e7e409a6819b75829398839/html5/thumbnails/34.jpg)
34RESTenabledSQL
SampleapplicationbyKrisRice• http://krisrice.io/2017-09-14-demo-app-for-rest-enabled-sql/
• https://github.com/oracle/oracle-db-tools/tree/master/ords/rest-sql
ORDS17.4
![Page 35: Oracle ORDS New features you can't ignore...REST enabled SQL 28 REST enabled SQL provides access to the SQL engine via HTTPS Use Cases – Run sql statements on the cloud via https](https://reader030.fdocuments.in/reader030/viewer/2022033123/5e7e409a6819b75829398839/html5/thumbnails/35.jpg)
35
Database REST API
![Page 36: Oracle ORDS New features you can't ignore...REST enabled SQL 28 REST enabled SQL provides access to the SQL engine via HTTPS Use Cases – Run sql statements on the cloud via https](https://reader030.fdocuments.in/reader030/viewer/2022033123/5e7e409a6819b75829398839/html5/thumbnails/36.jpg)
36DatabaseRESTAPI
RESTfulAPIforadministeringtheOracleDatabase.Supportsversions11gR2through19c.UseCases• YetanotherinterfaceformanagingyourenvironmentsandautomatingthingsinaDevOpsworldusingcURL,REST,andJSON
ORDS19.1
![Page 37: Oracle ORDS New features you can't ignore...REST enabled SQL 28 REST enabled SQL provides access to the SQL engine via HTTPS Use Cases – Run sql statements on the cloud via https](https://reader030.fdocuments.in/reader030/viewer/2022033123/5e7e409a6819b75829398839/html5/thumbnails/37.jpg)
37DatabaseRESTAPI
CurrentlymostlyGETsPOST/DELETEonlyfor
– Creatingdatapumpjobs
– PluggableDBlifecyclemanagement
– Fleetpatching
ORDS19.1
![Page 38: Oracle ORDS New features you can't ignore...REST enabled SQL 28 REST enabled SQL provides access to the SQL engine via HTTPS Use Cases – Run sql statements on the cloud via https](https://reader030.fdocuments.in/reader030/viewer/2022033123/5e7e409a6819b75829398839/html5/thumbnails/38.jpg)
38DatabaseRESTAPI–Setupindatabase
1. CreateDBAuser
2. RESTenableDBAuser
createuserdbadmin...;grantdbatodbadmin;grantPDB_DBAtodbadmin;--for>=12c
ORDS_ADMIN.ENABLE_SCHEMA(p_schema=>'DBADMIN',p_url_mapping_pattern=>'dbadmin');
ORDS19.1
![Page 39: Oracle ORDS New features you can't ignore...REST enabled SQL 28 REST enabled SQL provides access to the SQL engine via HTTPS Use Cases – Run sql statements on the cloud via https](https://reader030.fdocuments.in/reader030/viewer/2022033123/5e7e409a6819b75829398839/html5/thumbnails/39.jpg)
39DatabaseRESTAPI–SetupinORDS
1. Addentrytoconnectionpool
2. (optional)EnabledatabaseauthenticationifusingDBSchemaauthentication(username/pwd)
or
<entrykey="database.api.enabled">true</entry>
<entrykey="jdbc.auth.enabled">true</entry>
<entrykey="restEnabledSql.active">true</entry>
ORDS19.1
![Page 40: Oracle ORDS New features you can't ignore...REST enabled SQL 28 REST enabled SQL provides access to the SQL engine via HTTPS Use Cases – Run sql statements on the cloud via https](https://reader030.fdocuments.in/reader030/viewer/2022033123/5e7e409a6819b75829398839/html5/thumbnails/40.jpg)
40DatabaseRESTAPI-Authentication
• Firstpartyauthentication– ORDScredentialsfile,grantrole„SQLAdministrator“
– AuthenticationinAppserver,grantrole„SQLAdministrator“• OAuth2ClientCredentials• Schemaauthentication(user/passwordforDBschema)
– Role„SQLAdministrator“willbeassignedautomatically
java–jarords.waruserDBADMIN"SQLAdministrator"
ORDS19.1
![Page 41: Oracle ORDS New features you can't ignore...REST enabled SQL 28 REST enabled SQL provides access to the SQL engine via HTTPS Use Cases – Run sql statements on the cloud via https](https://reader030.fdocuments.in/reader030/viewer/2022033123/5e7e409a6819b75829398839/html5/thumbnails/41.jpg)
41DatabaseRESTAPI–URLs
BaseURLfortheAPI(e.g.sampledbauserdbadmin)– https://server:port/ords/dbadmin/_/db-api/19.1.0/or– https://server:port/ords/dbadmin/_/db-api/latest/
UsequeryfilterinURL– https://server:port/ords/dbadmin/_/db-api/latest/database/
objects/indexes/?q={"$eq":{"table_owner":"MDSYS"}}
ORDS19.1
![Page 42: Oracle ORDS New features you can't ignore...REST enabled SQL 28 REST enabled SQL provides access to the SQL engine via HTTPS Use Cases – Run sql statements on the cloud via https](https://reader030.fdocuments.in/reader030/viewer/2022033123/5e7e409a6819b75829398839/html5/thumbnails/42.jpg)
42DatabaseRESTAPI–Documentation
OpenAPI3.0documentation• https://server:port/ords/dbadmin/_/db-api/latest/metadata-catalog/openapi.json
• Copy/pastetohttps://editor.swagger.io/
ORDS19.1
![Page 43: Oracle ORDS New features you can't ignore...REST enabled SQL 28 REST enabled SQL provides access to the SQL engine via HTTPS Use Cases – Run sql statements on the cloud via https](https://reader030.fdocuments.in/reader030/viewer/2022033123/5e7e409a6819b75829398839/html5/thumbnails/43.jpg)
43DatabaseRESTAPI–GettingStarted
• JeffSmith– https://www.thatjeffsmith.com/archive/2019/04/introducing-the-database-management-rest-api-for-your-oracle-database/
• OracleDocumentation
ORDS19.1
![Page 44: Oracle ORDS New features you can't ignore...REST enabled SQL 28 REST enabled SQL provides access to the SQL engine via HTTPS Use Cases – Run sql statements on the cloud via https](https://reader030.fdocuments.in/reader030/viewer/2022033123/5e7e409a6819b75829398839/html5/thumbnails/44.jpg)
44
Smaller Features
![Page 45: Oracle ORDS New features you can't ignore...REST enabled SQL 28 REST enabled SQL provides access to the SQL engine via HTTPS Use Cases – Run sql statements on the cloud via https](https://reader030.fdocuments.in/reader030/viewer/2022033123/5e7e409a6819b75829398839/html5/thumbnails/45.jpg)
45InternalHttp-HeaderNameChange
HeaderNameChange,X-APEX*Headersdeprecated– Internalheadersnotvisibletotheclient...justbetweendatabaseandmidtier
– Movingforward,ORDSsupportsOracleRDBMSindependentofAPEXinstallation
Implementation– X-APEX-STATUS-CODE=>X-ORDS-STATUS-CODE– X-APEX-FORWARD=>X-ORDS-FORWARD
ORDS18.3
![Page 46: Oracle ORDS New features you can't ignore...REST enabled SQL 28 REST enabled SQL provides access to the SQL engine via HTTPS Use Cases – Run sql statements on the cloud via https](https://reader030.fdocuments.in/reader030/viewer/2022033123/5e7e409a6819b75829398839/html5/thumbnails/46.jpg)
46Newimplicitvariables
NewimplicitvariableshavebeenaddedtosimplifycodingofRESTfulhandlers.
– Variables:status_code=>HeaderX-ORDS-STATUS-CODE:forward_location=>HeaderX-ORDS-FORWARD:body_text=>implicitCLOBlike:body
ORDS18.3
![Page 47: Oracle ORDS New features you can't ignore...REST enabled SQL 28 REST enabled SQL provides access to the SQL engine via HTTPS Use Cases – Run sql statements on the cloud via https](https://reader030.fdocuments.in/reader030/viewer/2022033123/5e7e409a6819b75829398839/html5/thumbnails/47.jpg)
47Newimplicitvariables
ORDS18.3
![Page 48: Oracle ORDS New features you can't ignore...REST enabled SQL 28 REST enabled SQL provides access to the SQL engine via HTTPS Use Cases – Run sql statements on the cloud via https](https://reader030.fdocuments.in/reader030/viewer/2022033123/5e7e409a6819b75829398839/html5/thumbnails/48.jpg)
48Newimplicitvariables
InaPOSThandleryoucouldaccessthebodyofthepostasaBLOB
ORDS18.3
![Page 49: Oracle ORDS New features you can't ignore...REST enabled SQL 28 REST enabled SQL provides access to the SQL engine via HTTPS Use Cases – Run sql statements on the cloud via https](https://reader030.fdocuments.in/reader030/viewer/2022033123/5e7e409a6819b75829398839/html5/thumbnails/49.jpg)
49Newimplicitvariables
Gettingstarted– https://docs.oracle.com/en/database/oracle/oracle-rest-data-services/18.4/aelig/implicit-parameters.html
– https://www.thatjeffsmith.com/archive/2018/10/x-ords-forward-ords-response-forward-to-another-resource/
ORDS18.3
![Page 50: Oracle ORDS New features you can't ignore...REST enabled SQL 28 REST enabled SQL provides access to the SQL engine via HTTPS Use Cases – Run sql statements on the cloud via https](https://reader030.fdocuments.in/reader030/viewer/2022033123/5e7e409a6819b75829398839/html5/thumbnails/50.jpg)
50DispatchPL/SQLGatewaycallsviaORDS_PUBLIC_USER
BUG:29197220-DispatchPL/SQLGatewaycallsviaORDS_PUBLIC_USERtominimizenumberofpoolsrequired
ORDS19.2(safe-harbor)
Previously:separatepools– apex_public_user– apex_listener– apex_rest_public_user– ords_public_user
>=19.2(presumably):unifiedpool– ords_public_user
Transparentproxyconnecttoapex_public_user
![Page 51: Oracle ORDS New features you can't ignore...REST enabled SQL 28 REST enabled SQL provides access to the SQL engine via HTTPS Use Cases – Run sql statements on the cloud via https](https://reader030.fdocuments.in/reader030/viewer/2022033123/5e7e409a6819b75829398839/html5/thumbnails/51.jpg)
51DispatchPL/SQLGatewaycallsviaORDS_PUBLIC_USER
SetupinORDS1. Addtoconnectionpool(apex_pu.xml)ordefaults.xml
2. Deleteallconnectionpoolsbutapex_pu.xml(>=19.2thewizardswillchangeandnotcreatetheotherpoolsanymore)
<entrykey="plsql.gateway.enabled">true</entry>
ORDS19.2(safe-harbor)
![Page 52: Oracle ORDS New features you can't ignore...REST enabled SQL 28 REST enabled SQL provides access to the SQL engine via HTTPS Use Cases – Run sql statements on the cloud via https](https://reader030.fdocuments.in/reader030/viewer/2022033123/5e7e409a6819b75829398839/html5/thumbnails/52.jpg)
52
Changes
![Page 53: Oracle ORDS New features you can't ignore...REST enabled SQL 28 REST enabled SQL provides access to the SQL engine via HTTPS Use Cases – Run sql statements on the cloud via https](https://reader030.fdocuments.in/reader030/viewer/2022033123/5e7e409a6819b75829398839/html5/thumbnails/53.jpg)
53JDKRuntimeRequirement
• Runtimeenvironment– Java8(JDK)isarequirement(>=ORDS17.4)– Java9(JDK)issupported(>=ORDS18.1)
• SupportedforallJava9certifiedAppServers
![Page 54: Oracle ORDS New features you can't ignore...REST enabled SQL 28 REST enabled SQL provides access to the SQL engine via HTTPS Use Cases – Run sql statements on the cloud via https](https://reader030.fdocuments.in/reader030/viewer/2022033123/5e7e409a6819b75829398839/html5/thumbnails/54.jpg)
54DeprecatedFeatures
• 17.4– DeprecationofGlassfishSupport
• 18.1– RemovalofNoSQLsupport– Parameterapex.docTabledeprecated
• =>insteaduseowa.docTable
• Emptycolumnsfixedin19.1
![Page 55: Oracle ORDS New features you can't ignore...REST enabled SQL 28 REST enabled SQL provides access to the SQL engine via HTTPS Use Cases – Run sql statements on the cloud via https](https://reader030.fdocuments.in/reader030/viewer/2022033123/5e7e409a6819b75829398839/html5/thumbnails/55.jpg)
55DeprecatedFeatures
• 18.4– DeprecationofApacheFOPPDFSupport
• Willberemovedin19.2.0• FutureversionsofOracleApplicationExpresswillmovetoanewmechanismtogeneratePDFresources.
![Page 56: Oracle ORDS New features you can't ignore...REST enabled SQL 28 REST enabled SQL provides access to the SQL engine via HTTPS Use Cases – Run sql statements on the cloud via https](https://reader030.fdocuments.in/reader030/viewer/2022033123/5e7e409a6819b75829398839/html5/thumbnails/56.jpg)
56DeprecatedFeatures
• 18.4– DeprecationofURITemplateSyntaxforORDSBasedRESTServices(e.g/employees/{p_empno})
• Willberemovedin19.4.0• =>usemoreexpressivenewersyntax:• (e.g/employees/:p_empno)• https://docs.oracle.com/en/database/oracle/oracle-rest-data-services/18.3/ordjv/doc-files/route-patterns.html
![Page 57: Oracle ORDS New features you can't ignore...REST enabled SQL 28 REST enabled SQL provides access to the SQL engine via HTTPS Use Cases – Run sql statements on the cloud via https](https://reader030.fdocuments.in/reader030/viewer/2022033123/5e7e409a6819b75829398839/html5/thumbnails/57.jpg)
57DeprecatedFeatures
• 18.4– DeprecationofRegularExpressionbasedURLMappings
• Willberemovedin19.4.0• SupportfordefiningURLmappingsusingusingregularexpressionsisdeprecated:
• Use--typebase-pathor--typebase-urlinstead.java-jarords.warmap-url--typeregex
![Page 58: Oracle ORDS New features you can't ignore...REST enabled SQL 28 REST enabled SQL provides access to the SQL engine via HTTPS Use Cases – Run sql statements on the cloud via https](https://reader030.fdocuments.in/reader030/viewer/2022033123/5e7e409a6819b75829398839/html5/thumbnails/58.jpg)
58Questions?
Opal Consulting Zum Tilmeshof 11 50859 Köln Germany
Email / Website [email protected] www.opal-consulting.de
Haveaproblemyoucannotsolve?OracleAPEXOracleORDS
Scheduleacallwithme!
www.opal-consulting.de/contact