If you’re wondering what the top 5 reasons for using ORDS with your Oracle Database, this isn’t that post. This post is about why you should be using the Web interface ORDS provides to build those REST APIs.

But, just in case you were mislead by the post title, here is a quick top-5 reasons to use ORDS for REST APIs:

  1. you simply use SQL and PL/SQL to build your APIs & SQL based endpoints have their output paged, automatically
  2. ORDS automatically converts your HTTPS requests and responses to and from Oracle recognized types/output to {json}
  3. ORDS takes care of security for you – locking down access to your APIs is controlled via standard HTTP roles/privs, and we even give you an OAuth2 client if you so desire…
  4. you don’t need to write any code if you don’t want to – you can simply enabled your existing database objects and structures with our Auto feature (tables, views, & PL/SQL programs)
  5. it’s FAST – you can have it up and running for one or more databases in a few minutes and once it’s up, it’s production ready!
We’re making everything in your Oracle Database, available via HTTPS, securely and performantly.

Back to our original idea…

Now, when you’re ready to build your actual REST APIs, you have a few choices on interfaces. You could use…

  • our PL/SQL API – and you’ll want to when scripting/automating deployments in many cases
  • SQL Developer (desktop) – connect to your db, use the REST Data Services interface in the connection tree
  • APEX – available from SQL Workshop
  • Database Actions / SQL Developer Web – served up by ORDS directly

I’m here to tell you that by far the most rich, rewarding, and productive way to build your APIs is with the REST workshop provided directly by ORDS via SQL Developer Web –

Just click on ‘REST’…

When you install ORDS, you’re asked if you would like to enable Database Actions / SQL Developer Web. If you say ‘Yes’, then any REST Enabled Schema will be able to login with their database credentials and start using our single page web app to work with their Oracle Database.

Here’s a Video tutorial on how to install ORDS and build your first ORDS REST API.

Actually, let’s just embed that, it’s worth a catch-up if you haven’t seen this before.

If you go to visit / watch this on YouTube I’ve added bookmarks so you can jump around.

OK, so onto the actual top 5 reasons you should be using our web interface to build your REST APIs.

1. It’s under active development with frequent updates / new features.

All of the exciting new feature development in ORDS is built for the Web UX, first and foremost.

For example, in your Handler SQL/PLSQL blocks you have access to implicit and explicit parameters via :bind variables.

We wanted to make those as easy as possible to work with, so in our upcoming release (21.3, due any moment now) – you’ll see this:

Your bind variables – either the ones you’ve defined, or the ones you get out-of-the-box, easily accessible.

You’ll see new features and tweaks roll out on a regular 3 months release cycle. Or if you’re in our Autonomous Database Cloud Services, maybe even faster 🙂

2. End-to-end Security

When defining REST APIs you’re asked to provide the the Privilege you want to use to protect the endpoint. Starting also with version 21.3, you’ll be forced to EXPLICITELY say you don’t want to protect an end point. We want ORDS to be easy, but it should also be deliberate. No accidentally making your APIs, ‘open!’

Safety first…and don’t neglect your security schemes until the day before you push to PROD!

Once you’ve protected your APIs, you need a way to access those. One of the things ORDS provides is an OAuth2 client. If you don’t have your own Webserver identity management solution, you can use ours.

You can create your client, assign it the required roles/privs, get your client secret’s and more — all via the GUI, or we’ll generate the cURL necessary for you to build into your apps.

No need to run any SQL to get those Client IDs and Secrets…

3. cURL is as easy as a click

For your REST Modules or REST Enabled objects, if you want to do a quick test of your end-points, cURL is often the first place you run to. And in ORDS, we make it very easy to get those code snippets generated for you.

On a REST Module Handler, click the Hamburger button.

It gets even better for AUTO REST APIs, as we can interrogate the database to get more information about the inputs and their associated data types –

Plop in the values, we’ll dynamically build out the necessary cURL command for you.

4. Built-in OpenAPI 3 Support (the new Swagger)

Instead of taking the {json] descriptions of your REST APIs and going over to editor.swagger.io to paste it in, and THEN get the REST Client & Docs generated, we put that interface directly into ORDS!

Write the code, and then generate the docs and try it out, all in page!

5. Nothing else to install…

No need to install SQL Developer…or install/configure APEX…or even to get a REST Client like Postman or Insomnia.

Just install and startup ORDS – and you have everything you need out of the box to get started.

Now, I do recommend you have a proper source control and CI/CD process implemented for managing and deploying your REST APIs.

ORDS and the REST workshop interface can also help with that, single-click access to those PL/SQL APIs that are used to define your Web Services.

This is code – it needs to be treated as such.

Now, if you DO have SQLcl already up and going, you can use it’s Liquibase integrated feature to automatically create changeLogs for your ORDS based REST Modules!


I'm a Distinguished Product Manager at Oracle. My mission is to help you and your company be more efficient with our database tools.

Write A Comment