
{"id":7056,"date":"2022-06-23T14:50:40","date_gmt":"2022-06-23T14:50:40","guid":{"rendered":"https:\/\/rax-stg-wp-aws.com\/blogs\/ords-relation-with-sql-developer\/"},"modified":"2026-11-03T19:27:42","modified_gmt":"2026-11-03T19:27:42","slug":"ords-relation-with-sql-developer","status":"publish","type":"blogs","link":"https:\/\/www.rackspace.com\/de\/blogs\/ords-relation-with-sql-developer\/","title":{"rendered":"ORDS Relation with SQL Developer"},"content":{"rendered":"<p><strong>DEFINITION<\/strong><\/p>\n<p>Oracle REST Data Services are based on Java Enterprise Edition and provide security, RESTful Web Services, and flexibility through support for deployment in different type of configurations like standalone mode, Apache Tomcat and Oracle WebLogic Server.<\/p>\n<p><strong>MECHANISM<\/strong><\/p>\n<p>ORDS provides JAVA application platform to develop REST APIs for the Oracle Database, NoSQL Databases and JSON Document store.&nbsp;<br \/>\nOne of the biggest advantages of the ORDS is that it eliminates the need for installing client drivers. The other advantage being that developers need not to maintain the drivers, thus the accessibility of these APIs is akin to external services that are extended globally via API technology. The following snapshot depicts how this technology bridges HTTPS and the Oracle Database.<\/p>\n<p><img decoding=\"async\" src=\"\/wp-content\/uploads\/2026\/blog_article_images\/26226-body-Picture1_2.png\" alt=\"ORDS Pic 1\" \/><\/p>\n<p><a href=\"https:\/\/www.oracle.com\/database\/technologies\/appdev\/rest.html\"><em>Image Source<\/em><\/a><\/p>\n<p><strong>ARCHITECTURE<\/strong><\/p>\n<p>Coming to the functionality of the architecture, between the Oracle Application Express engine and a web browser, the Web server is the basic requirement for proxy requests, and ORDS is the solution to this need. Added feature by ORDS is an embedded JDBC driver, which is used for providing connectivity, and thus, nullifies the need for Oracle Home requirement in the deployment process.<\/p>\n<p><img decoding=\"async\" src=\"\/wp-content\/uploads\/2026\/blog_article_images\/26226-body-Picture2_2.png\" alt=\"ORDS Pic 2 \" \/><\/p>\n<p><a href=\"https:\/\/docs.oracle.com\/en\/solutions\/deploy-ords-ha-oci\/index.html#GUID-A6EBA585-B388-46E1-84E4-AE99BCA5CFB4\"><em>Image Source<\/em><\/a>&nbsp;<\/p>\n<p><strong>DEPLOYMENT OPTIONS INCLUDE<\/strong><\/p>\n<ol>\n<li>Standalone Mode.<\/li>\n<li>Oracle WebLogic Server.<\/li>\n<li>Apache Tomcat<\/li>\n<\/ol>\n<p><strong>YOU CAN DOWNLOAD ORACLE ORDS <a href=\"http:\/\/www.oracle.com\/technetwork\/developer-tools\/rest-data-services\/downloads\/index.html\">HERE<\/a><\/strong><\/p>\n<p><img decoding=\"async\" src=\"\/wp-content\/uploads\/2026\/blog_article_images\/26226-body-Picture3_4.png\" alt=\"ORDS Pic 3\" \/><\/p>\n<p><strong>ORDS OFFERS THE FOLLOWING FEATURES<\/strong>:<\/p>\n<ol>\n<li>PL\/SQL Gateway<\/li>\n<li>Database management REST API<\/li>\n<li>Web Services (HTTPS)<\/li>\n<li>SQL Developer Web<\/li>\n<\/ol>\n<p><strong>GENERAL INFO FOR INSTALLATION<\/strong><\/p>\n<p>*A command line interface (CLI) is the primary tool for installation and configuration before final deployment of ORDS.*<br \/>\n*ORDS gets started in standalone mode via database configured from stored configuration files.*<br \/>\n*The list of commands available for deployment can be identified by, validating the directory\/folder that has &#8216;ords.war&#8217; file.*<br \/>\n*The following command needs to be executed to do the same.<\/p>\n<p>&#8220;<em>Copyjava -jar ords.war help configdir<\/em>&#8220;<\/p>\n<p><strong>INSTALL ORACLE REST DATA SERVICES w\/SQL DEVELOPER<\/strong><\/p>\n<p>Some of the tasks that SQL developers do make the following tasks convenient for the users.&nbsp;<\/p>\n<ol>\n<li>Installing ORDS<\/li>\n<li>Running ORDS<\/li>\n<li>REST enable TABLES<\/li>\n<li>Develop RESTful Services<\/li>\n<\/ol>\n<p>Now, to understand more logically and briefly, the following screenshots have two components for ORDS installation:<\/p>\n<ol>\n<li>Windows 7 Machine&nbsp;<\/li>\n<li>Virtual-Box Oracle Linux appliance having Database 12c running on it.<\/li>\n<\/ol>\n<p>Windows 7 Machine from the above two is needed to accomplish the Installation part, and it is designed\/configured in a manner that the Virtual-Box database handles the REST requests over it.<\/p>\n<p>The following snapshot is taken from the SQL Developer \u2018Version 4.1\u2019.<\/p>\n<p><img decoding=\"async\" src=\"\/wp-content\/uploads\/2026\/blog_article_images\/26226-body-Picture4_3.png\" alt=\"ORDS Pic 4\" \/><\/p>\n<p>&nbsp;<br \/>\nNow, there are two options for the deployment of ORDS to database.<\/p>\n<ol>\n<li>ORDS to a particular PDB serves ONLY that PDB.&nbsp;<\/li>\n<li>For serving multiple PDBs, install on CDB.<\/li>\n<\/ol>\n<p><em>The following screenshot will show, which version of ORDS you are about to deploy.<\/em><\/p>\n<p><img decoding=\"async\" src=\"\/wp-content\/uploads\/2026\/blog_article_images\/26226-body-Picture5_2.png\" alt=\"ORDS Pic 5\" \/><\/p>\n<p>\n<strong>APEX_PUBLIC_USER <\/strong>&#8211; This is the Least privileged account, and it is used for Oracle Application Express configuration and mod_plsql. These accounts are created once all the steps required to configure RESTful Web services are completed.<\/p>\n<p><strong>APEX_REST_PUBLIC_USER<\/strong> \u2013 This Revokes RESTful services which are stored under Oracle Application Express.<\/p>\n<p><strong>APEX_LISTENER <\/strong>\u2013 This Queries different aspects of RESTful services which are stored under Oracle Application Express.<\/p>\n<p>&nbsp;<\/p>\n<p><img decoding=\"async\" src=\"\/wp-content\/uploads\/2026\/blog_article_images\/26226-body-Picture6_1.png\" alt=\"ORDS Picture 6\" \/><\/p>\n<p><strong>Note<\/strong>:&nbsp; &nbsp;Oracle REST Data Services (ORDS) provides many options for authenticating users, which can be classified as:&nbsp;&nbsp;<\/p>\n<p>&#8211; OAuth client<br \/>\n&nbsp;&nbsp;&nbsp; &nbsp;&#8211; APEX User<br \/>\n&nbsp;&nbsp;&nbsp; &nbsp;&#8211; Database Schema User<br \/>\n&nbsp;&nbsp;&nbsp; &nbsp;&#8211; OS User<\/p>\n<p><em>&#8211; Authentication confirms your identity and allows you into the system, whereas Authorization decides what you can do once you gain access.<\/em><\/p>\n<p><em>&#8211; There is a big difference in both terms and their respective conditions.<\/em><\/p>\n<p><strong><em>To create users, you will need a high-privileged account (SYS).<\/em><\/strong><\/p>\n<p><img decoding=\"async\" src=\"\/wp-content\/uploads\/2026\/blog_article_images\/26226-body-Picture7_1.png\" alt=\"ORDS Pic 7\" \/><\/p>\n<p>&#8211; <em>Going forward, Installer sets up default tablespaces for the new users and prompts the APEX_PUBLIC_USER to test its connectivity to the database.<\/em><\/p>\n<p>&#8211; <em>The mode of installation chosen here is the standalone mode<\/em>.<\/p>\n<p>&#8211;&nbsp; &nbsp; <em>Advanced Mode is for production and Standalone Mode is for Development and Testing (these are recommendations from MOS).<\/em><\/p>\n<p><img decoding=\"async\" src=\"\/wp-content\/uploads\/2026\/blog_article_images\/26226-body-Picture8_0.png\" alt=\"ORDS Pic 8\" \/><\/p>\n<p>&nbsp;<\/p>\n<p>&#8211;&nbsp;&nbsp; &nbsp;In the final stages of the wizard, few users are created with admin access to log into ORDS.<\/p>\n<p>&#8211;&nbsp;&nbsp; &nbsp;Embedded Jetty user accounts are the name given to these schemas.<\/p>\n<p>&#8211;&nbsp;&nbsp; &nbsp;Two types of roles are assigned to these users. &nbsp;<\/p>\n<p>&nbsp;1. &nbsp;&nbsp; &nbsp;SQL developer<br \/>\n&nbsp;2. &nbsp;&nbsp; &nbsp;Administrative&nbsp;<\/p>\n<p><em>Admin role is the one which gives the user right to login via HTTP and then authenticate to deploy a REST Service.<\/em><\/p>\n<p><em>Admin role is also needed to make any modifications\/changes to your ORDS configuration as well.<\/em><\/p>\n<p><img decoding=\"async\" src=\"\/wp-content\/uploads\/2026\/blog_article_images\/26226-body-Picture9_0.png\" alt=\"ORDS Pic 9\" \/><\/p>\n<p>The <strong>\u2018FINISH&#8217;<\/strong> button** page is termed as the last window on GUI which is to confirm all the parameters entered during the installation, before moving ahead.&nbsp;<\/p>\n<p>After clicking on this button, SQL Developer completes the database part installation and later initiates ORDS.<\/p>\n<p><img decoding=\"async\" src=\"\/wp-content\/uploads\/2026\/blog_article_images\/26226-body-Picture10_0.png\" alt=\"ORDS Pic 10\" \/><\/p>\n<p>&#8211; <strong>ORDS URL <\/strong>is composed of the following parameters:<br \/>\n&nbsp; &nbsp; &nbsp;`https:\/\/example.com\/&lt;warfile&gt;\/&lt;schemaname&gt;\/&lt;module&gt;\/&lt;service&gt;`&nbsp;<\/p>\n<p>&#8211; If you want to remove ords from the above-mentioned URL., then this can be achieved by two following ways.<\/p>\n<p>&nbsp;&#8211; &nbsp;&nbsp; &nbsp;By renaming ORDS.war, to something Like, API.war, or<br \/>\n&nbsp;&#8211; Modifying the Web Server to have a routing rule.<\/p>\n<p><strong>NOTE:&nbsp;If schema needs to be ORDS enabled, it needs to be verified as to how it will appear in the web service URL.<\/strong><\/p>\n<p><img decoding=\"async\" src=\"\/wp-content\/uploads\/2026\/blog_article_images\/26226-body-Picture11.PNG\" alt=\"ORDS Pic 11\" \/><\/p>\n<p>&gt;&gt;Also, if newer versions for the APIs are introduced and thus some changes are required in ORDS URL with the same, then it is better to use the ORDS module as the version number e.g., modules v1, v2 etc.&nbsp;<br \/>\nThis ensures that the details regarding the old one can be used around for a while until the new one goes-live. To make it clearer you can consider the following example.<br \/>\n&nbsp;http:\/\/example.com:8080\/api\/erp\/v1\/customer\/1234<\/p>\n<p><strong>Algorithm of the ORDS URL and how it is processed.<\/strong><\/p>\n<ul>\n<li><em>Request is sent to ORDS.<\/em><\/li>\n<li><em>It is forwarded to the database.<\/em><\/li>\n<li><em>Schema is determined which match the requested content.<\/em><\/li>\n<li><em>Proxy is connected as that USER<\/em><\/li>\n<li><em>RESTful Services get mapped to the related template.<\/em><\/li>\n<li><em>Authorization is performed to validate the proper role\/privilege.<\/em><\/li>\n<li><em>SQL or PL\/SQL code is searched and verified, behind the Service Module Handler<\/em><\/li>\n<li><em>Code gets executed.<\/em><\/li>\n<li><em>Results are derived and then they are transformed to JSON format.<\/em><\/li>\n<li><em>Connection is transferred back to the connection pool <\/em>(Basically, User connection as PROXY is no longer valid and is dropped).<\/li>\n<\/ul>\n<p><strong>CONCLUSION<\/strong><\/p>\n<p>The question arises when should one use ORDS&#8221;?&nbsp;<\/p>\n<p>Well, usually &#8220;it depends&#8221; and in this case it does. The best way it can be described is its ability to Expose data RESTfully.<br \/>\nMobile applications for EBS users simplify connectivity to other middleware, expediting Master Data Management (MDM), which in turn builds a bridge between Business and IT.<\/p>\n<p>It is a fast and lightweight method of allowing you to capture data.<br \/>\nORDS is a prime example of having a data capturing machine for very little cost along with its peers such as AWS EC2 instance and Oracle NoSQL database. Large numbers of small to medium-sized businesses need the Oracle database, APEX and ORDS which all combined provide the right sized solution to be able to consolidate data from Salesforce and e-Business Suite to put together some consolidated reporting.<\/p>\n<p>Even if these organizations grow in the future, they will already have REST services which are much easier to plug into middleware solutions such as Fusion Middleware and Mule.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>ORDS Relation with SQL Developer<\/p>\n","protected":false},"author":2,"featured_media":7058,"menu_order":0,"comment_status":"open","ping_status":"open","template":"","format":"standard","meta":{"content-type":"","nid":"26226","content_type":"blog","created_by":"10130","authored_on":"2023-11-08T15:50:40+00:00","field_article_industries":"","tag_category":"Technical","field_blog_author_text":"by Himanshu Bansal, Oracle Database Administrator, Rackspace Technology","seo_description":"Explore the integration between Oracle REST Data Services (ORDS) and SQL Developer. Develop RESTful web services with secure deployment options.\r\n","field_featured_image":"","insights_image":"\/wp-content\/uploads\/2026\/blog_technical_images\/26226-insights_image-oracle-technical-blog-1-insights.jpg","field_partners":"","rxt_platforms":"Oracle","product":"","publisheddate":"2022-06-23T14:50:40","rxt_solutions":"Databases","opengraph_tag":"","x_tag":"","teaser_flag":"Technical Blog","seo_titile":"Oracle REST Data Services deployment | Rackspace Technology","field_topics":"","field_slug":"\/ords-relation-with-sql-developer","footnotes":""},"categories":[178],"tags":[204],"class_list":["post-7056","blogs","type-blogs","status-publish","format-standard","has-post-thumbnail","hentry","category-blog","tag-technical"],"_links":{"self":[{"href":"https:\/\/www.rackspace.com\/de\/wp-json\/wp\/v2\/blogs\/7056","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.rackspace.com\/de\/wp-json\/wp\/v2\/blogs"}],"about":[{"href":"https:\/\/www.rackspace.com\/de\/wp-json\/wp\/v2\/types\/blogs"}],"author":[{"embeddable":true,"href":"https:\/\/www.rackspace.com\/de\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.rackspace.com\/de\/wp-json\/wp\/v2\/comments?post=7056"}],"version-history":[{"count":2,"href":"https:\/\/www.rackspace.com\/de\/wp-json\/wp\/v2\/blogs\/7056\/revisions"}],"predecessor-version":[{"id":8814,"href":"https:\/\/www.rackspace.com\/de\/wp-json\/wp\/v2\/blogs\/7056\/revisions\/8814"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.rackspace.com\/de\/wp-json\/wp\/v2\/media\/7058"}],"wp:attachment":[{"href":"https:\/\/www.rackspace.com\/de\/wp-json\/wp\/v2\/media?parent=7056"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.rackspace.com\/de\/wp-json\/wp\/v2\/categories?post=7056"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.rackspace.com\/de\/wp-json\/wp\/v2\/tags?post=7056"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}