Blog

APEX I get, but what is ORDS

APEX I get, but what is ORDS

This article is the first in a series which will look at the Oracle REST Data Services (ORDS previously known as the APEX listener) and APEX and the features that you can unlock.

This first article will examine at a high level what ORDS is and what it offers and explain the fundamental concepts.

ORDS is a Java EE-based alternative for Oracle HTTP server which allows a great deal of functionality including command line based deployment and configuration, enhanced security and most importantly RESTful Web Services.

ORDS can also be deployed using technologies such as WebLogic, Glassfish and Apache as well as from the command line as previously mentioned.

This article will look at ORDS as a standalone service as this is the most basic installation and offers most of the powerful features of ORDS without having to go through the more complex installation.

The first thing to note is that the standalone installation is not supported in production environments and you will see this message when you start it up. This is purely due to the fact that it does not support HTTPS and load testing has not been carried out by Oracle so they are not able to benchmark the level at which support would be offered. However when you start up it is the easiest and quickest way to get things running, prove the concept and then deploy into another container.

When running standalone ORDS utilises the Oracle Grizzly as the framework which offers a stable and well established JEE environment. This is a component of the Glassfish application and as such offers some but not all of the functionality and high end stability.

However there are a lot of features that you can use in the latest versions of ORDS, it is now even possible to administer the APEX listener from SQL developer which is a very powerful tool and allows you to validate your changes before finalising them.

So what does ORDS actually give me is the question that many people ask, well once you have configured it and got it up and running in standalone mode on your machine you can start to investigate this.

Let’s first look at what ORDS actually stands for Oracle Representational state transfer (REST) Data Services. This means that your Oracle Database can be exposed to the Restful Web and also be the PL/SQL engine that APEX uses.

REST is now the dominant Web service design model and has helped to push out SOAP and to an extent WSDL as it is simpler to use. Basically it is a set of principles around system resources and how they are transferred over HTTP using many clients and multiple languages. This means you open up the ability to interact with web resources massively giving a real advantage when it comes to interoperability.

Another key is the concept of stateless requests, in that complete independent requests are sent which include all the data needed to fulfil the request so modern computer topology may see it forwarded, routed, load balanced or failed over without any state needing to be held at intermediate steps to ensure the request still makes sense. This greatly simplifies the server side component design as without a state to synchronise with an external application a layer of complexity is removed.

In essence then what ORDS offers is the ability to interact with your database, and a number of other Web Resources in a simplified manner without the need for some of the more complex and expensive hardware and software implementations.

This will run a standalone version of ORDS as a basic listener, in the following articles I will go into the configuration, deployment into other Web Services, use with APEX, advanced uses and what I see future uses and integrations are shaped like and will be utilised.

Craig is a Senior Development Consultant at Explorer. Craig has an MSc in Computing Science and is an experienced software engineer, utilising development tools such as PL/SQL and APEX to provide bespoke ERP software to both UK and international businesses. Craig has experience developing solutions to connect Oracle systems to a wide range of existing external applications within business environments.