Oracle REST Data Services

Oracle REST Data Services enables users to turn their Oracle database into modern RESTful API Services. This course will teach you to install ORDS, AutoREST enabled database objects, create custom REST services, secure and deploy them on app servers.
Course info
Level
Beginner
Updated
Feb 13, 2018
Duration
5h 31m
Table of contents
Course Overview
Overview
Understanding and Working with REST Endpoints
Installing and Configuring ORDS Using SQL Developer and Command Line
AutoREST Enabling Schemas, Tables, and Views
Enabling Access to Procedures, Functions, and Packages
Developing REST Services Using SQL and PL/SQL
Securing REST Services
Deploying to Application Servers
REST Enabled SQL Service
Description
Course info
Level
Beginner
Updated
Feb 13, 2018
Duration
5h 31m
Description

REST access to your table data for the CRUD operations is a common need for most web applications. In this course, Oracle REST Data Services, you will learn about this powerful tool that enables users to turn their Oracle databases into highly scalable and secure, enterprise-grade RESTful API Services. ORDS enables REST access to your Oracle database tables, views, and program units with literally no coding. You can easily create more complex, enterprise grade custom REST services, using just your SQL and PL/SQL skills. First, you will start off learning how to install and configure ORDS. Next, you will see how to enable database objects for REST access, as well as create custom REST services. Finally, you will learn how to secure your REST services and deploy them on standard application servers. By the end of this course, you will gain a solid foundation to get started with ORDS, which will enable you to create RESTful services rapidly against your Oracle Database. What you learn will go a long way in easing your development efforts and adoption to the cloud native apps and the micro services architecture.

About the author
About the author

Experienced technologist, with expertise in various aspects of software development lifecycle, architecting software solutions and software development.

More from the author
Getting Productive with SQL Developer
Beginner
3h 53m
20 Apr 2017
More courses by Pankaj Jain
Section Introduction Transcripts
Section Introduction Transcripts

Course Overview
Hello everyone. My name is Pankaj Jain, and I'm very excited to welcome you to my course, Oracle REST Data Services. RESTful web services are a critical component for the microservices architecture and the cloud native apps. Oracle REST data services is a mid-tier Java application, which enables accessing our database resources via modern Enterprise class REST interfaces. With just a few clicks, using Oracle SQL Developer you can enable your database tables and views and program unit for REST access. Database developers can use their familiar SQL and PL/SQL skills to develop these powerful REST services with no Java programming knowledge required. This course will be useful to both the database developers and application developers, as well as the web admins. You only need a basic understanding of the Oracle database objects and SQL and PL/SQL skills to get started. Some of the major concepts we will cover include, installing and configuring Oracle REST data services, enabling Oracle database tables, as well as program units, like procedures, functions, and packages for REST access, writing custom, powerful REST services using just SQL and PL/SQL, understanding how to secure your REST resources using first-party authentication, as well as OAuth 2. 0 authorization framework for third-party access, deploying Oracle REST data services on standard application servers. By the end of this course you will have a solid foundation to get started and be productive with Oracle rest data services. I hope you will join me on this journey to learn about this wonderful tool with the Oracle REST Data Services course at Pluralsight.

Understanding and Working with REST Endpoints
The popularity of RESTful services has been growing steadily with REST based web services becoming critical components of modern web applications. Hello, and welcome to this module on Understanding and Working with REST Endpoints. In this module we will first start off by discussing what is REST, and how simple and intuitive it makes to access and work with resources. Next, we will talk about the benefits of using REST. Then we will discuss what constraints a service has to comply with to be a true REST service. We will also see how REST uses the HTTP verbs like get, put, post, etcetera to perform CRUD operations, as well as the structure of the HTTP request and HTTP response. Finally, we will see demo where we will illustrate some of the REST concepts using the REST services we will build in our course.

AutoREST Enabling Schemas, Tables, and Views
With ORDS, in just a few clicks you can REST enable your schema and generate restful APIs to access your tables and views. Hello, my name is Pankaj Jain, and welcome to this module on AutoREST enabling schemas, tables, and views. SQL Developer makes it really easy to generate basic REST web services that occur in operations against tables in just a few clicks. Along with that, ORDS also generates many other useful APIs. In this module, we will see how to AutoREST enable our database schema for REST access. We looked at it briefly in the last module, but in this module we will take a closer look. Next, we will see how to AutoREST enable database tables. Then, we will look at some of the APIs, which are automatically generated as a result of AutoREST operations. These APIs provide object metadata required for basic insert, update, and delete operations, as well as fetch operations using query filters, batch upload functionality, etc. We will look at each of these APIs. We will also look in detail at the various query filter conditions, which allow you to perform complex queries using the generator REST APIs to slice and dice the data the way you want. We will be demonstrating these using demos and testing these using Curl, Swagger, and RESTED Client.

Enabling Access to Procedures, Functions, and Packages
With ORDS, you can take advantage of the complex processing and business logic you have already coded in your PL/SQL program units. Hello, and welcome to this module on Enabling Access to Procedures, Functions, and Packages. ORDS enables access to standalone procedures, standalone functions, and packaged functions and procedures over http or https for remote procedure call. It only supports the POST method and it should not be considered a replacement for defining RESTful web services using PL/SQL, which needs to follow all the REST constraints. In this module, it will start off looking at some of the unique benefits we gain by having access to PL/SQL program units over the browser. We'll talk about the characteristics of Auto PL/SQL, as well as the URL patterns which are generated. Next, we will see how to access standalone program units without parameters. Even though there are no parameters, we'll still have to pass an empty JSON body. After that, we will see how to enable program units with parameters and how to pass parameters to them. We will see how to enable packaged program units for access. And finally, we will also see how ORDS maps and supports some of these structural data types, like varrays and simple associative arrays. Alright, this is an exciting module. Let's get started.

Developing REST Services Using SQL and PL/SQL
ORDS gives you the option to use SQL and PL/SQL directly to develop more complex and customized REST Services. Hello, my name is Pankaj Jain and welcome to this module on Developing REST Services Using SQL and PL/SQL. Being able to create a REST Service based on custom SQL and PL/SQL gives us a lot of flexibility in defining custom logic and processing to tailor the REST Services the way we want. We can utilize all the features that AWS has to offer and the rich SQL capabilities, at the same time we can use our familiar SQL worksheet in SQL Developer to run and test the queries behind our custom REST Services. This makes the development so much easier. In this module we will start off by examining the organization of the REST Services, how they are structured using resource modules, resource templates, and resource handlers. Next, we will discuss the ways to specify the URI, our Uniform Resource Indictor, for the REST templates using route patterns or URI templates. We will also talk about some rules and best practices around these URIs. We will often have a need to pass parameters to our custom SQL or PL/SQL code, and we will talk about the various ways to pass parameters. Next, we will see a demo to develop a REST Service using SQL. Then we will see how to develop a REST Service using custom PL/SQL and the various ways to pass parameters to it. So this should be an exciting module. Let's get started.

Deploying to Application Servers
ORDS supports industry standard application servers, like Oracle WebLogic, Apache Tomcat, and GlassFish. While standalone mode with the embedded jetty server provides a lot of flexibility and development ease, in production, deployments to one of these servers is recommended. Hello, my name is Pankaj Jain, and welcome to this module on Deploying to Application Servers. In this module, we will start off by discussing the general process or guidance by which we can move ORDS changes from one environment to another, set dev to test, and certain fraud. We will first deploy ORDS on Apache Tomcat. Next, we will deploy and run it out of the GlassFish server. Even though we'll not be covering the deployment to audit of WebLogic server, it should be pretty standard. We will enable a new REST endpoint with Oracle SQL Developer and access it from the standalone mode. This new REST endpoint will also be available through the deployments on Tomcat and GlassFish with no redeployment or any other changes. This will demonstrate that ORDS changes are database driven, and as long as the deployments are looking at the same metadata catalog and the same database instance, they will be able to see the changes. Let's get started.