Si está buscando una manera de acceder y manipular datos en su base de datos Oracle utilizando servicios web RESTful, es posible que desee considerar el uso de Oracle REST Data Services (ORDS). ORDS es una aplicación Java que une HTTPS y su base de datos Oracle, proporcionando una API REST de administración de bases de datos, SQL Developer Web, una puerta de enlace PL/SQL, SODA para REST, y la capacidad de publicar servicios web RESTful para interactuar con los datos y procedimientos almacenados en su base de datos Oracle.
En este artículo, le mostraremos cómo descargar, instalar, configurar y usar la última versión de ORDS, que es 21.1.1 a partir de mayo de 2021. También discutiremos algunos de los beneficios, características y alternativas de ORDS, así como algunas de las mejores prácticas y consejos para su uso eficaz.
Oracle REST Data Services (ORDS) es una API REST estándar de OASIS que fue desarrollada originalmente por Microsoft en 2007. Permite la creación y el consumo de APIs RESTful consultables e interoperables de una manera simple y estándar. ORDS admite bases de datos relacionales y NoSQL, como Oracle Database, Times Ten y NoSQL.
ORDS se entrega como una aplicación Java (archivo de guerra) que puede ejecutarse de forma independiente o dentro de un contenedor J2EE (como Apache Tomcat, GlassFish o WebLogic). No requiere un hogar de Oracle ni ninguna instalación de software adicional. Utiliza un controlador JDBC integrado para conectarse a la tecnología de base de datos y pool de conexiones universales (UCP) para gestionar los grupos de conexiones.
Algunos de los beneficios de usar ORDS son:
Algunas de las características de ORDS son:
spaces, supervisar sesiones, hacer copias de seguridad y restaurar datos, etc. También puede crear sus propios servicios web personalizados utilizando la API REST de Database Management.
Algunas de las alternativas a ORDS son:
Hay dos formas de descargar Oracle ORDS 21: desde el sitio web de Oracle o desde el repositorio yum.
Para descargar ORDS desde el sitio web de Oracle, necesita tener una cuenta de Oracle. Si no lo tienes, puedes crear uno gratis siguiendo estos pasos:
Si está utilizando Oracle Linux, puede descargar ORDS desde el repositorio yum siguiendo estos pasos:
yum-config-manager --enable ol7_oracle_software_collections yum install ords Después de descargar ORDS, necesita instalarlo y configurarlo antes de poder usarlo. El proceso de instalación y configuración depende de si está utilizando un modo de contenedor independiente o J2EE.
Antes de instalar ORDS, debe asegurarse de que su sistema cumple con los siguientes requisitos:
Antes de instalar ORDS, necesita ejecutar un script que otorgue los privilegios necesarios al usuario instalador de ORDS. El script se llama ords_installer_privileges.sql y se encuentra en la carpeta docs del archivo zip ORDS. Puede ejecutar el script siguiendo estos pasos:
@ords_installer_privileges.sql Si desea instalar y configurar ORDS utilizando una interfaz de línea de comandos interactiva, puede seguir estos pasos:
java -jar ords.war install Si desea instalar y configurar ORDS utilizando una interfaz de línea de comandos no interactiva, puede seguir estos pasos:
db.hostname=host db.port=port db.servicename=service db.username=username db.password=password user.public.password=password user.tablespace.default=tablespace user.tablespace.temp=tablespace rest.services.ords.add=true rest.services.apex.add=false rest.services.soda.add=true schema.tablespace.default=tablespace schema.tablespace.temp=tablespace standalone.mode=true standalone.http.port=port standalone.static.images=/path/to/images java -jar ords.war install --parameterFile ords_params.properties Después de instalar y configurar ORDS, puede comenzar a usarlo para acceder y manipular datos en su base de datos utilizando servicios web RESTful. Estas son algunas de las formas en que puedes usar ORDS:
Si está utilizando un modo independiente, puede iniciar ORDS ejecutando el siguiente comando desde la carpeta ORDS:
java -jar ords.war Esto iniciará un servidor web Jetty en el número de puerto que especificó durante la instalación. A continuación, puede acceder a ORDS introduciendo la siguiente URL en su navegador:
http://host:port/ords/ Si está utilizando un modo contenedor J2EE, debe implementar el archivo ords.war en su servidor web o servidor de aplicaciones. Los pasos exactos pueden variar dependiendo del servidor que esté utilizando, pero generalmente, necesita copiar el archivo ords.war a la carpeta de aplicaciones web o implementaciones de su servidor y reiniciarlo. A continuación, puede acceder a ORDS introduciendo la siguiente URL en su navegador:
http://host:port/ords/ Puede usar ORDS para construir servicios web RESTful para sus objetos de base de datos, como tablas, vistas, paquetes, procedimientos, etc. Hay dos maneras de hacer esto: usando Auto REST o usando PL/SQL Gateway.
BEGIN ORDS.enable_schema(p_enabled => TRUE); ORDS.enable_object(p_object => 'EMPLOYEES'); END; / >Esto creará un servicio web para la tabla EMPLOYEES con la siguiente URL:
http://host:port/ords/schema/employees/ Puede usar métodos HTTP como GET, POST, PUT/PATCH, DELETE para realizar operaciones CRUD en la tabla. Por ejemplo, puede ejecutar el siguiente comando en una terminal o en un símbolo del sistema para recuperar todas las filas de la tabla EMPLOYEES:
curl -X GET http://host:port/ords/schema/employees/ También puede usar parámetros de consulta para filtrar, ordenar, página, expandir, etc. Por ejemplo, puede ejecutar el siguiente comando para recuperar solo el nombre y apellido de los empleados cuyo salario es mayor que 10000 y ordenarlos por apellido en orden descendente:
curl -X GET http://host:port/ords/schema/employees/? q=salary>10000&fields=first_name,last_name&orderby=last_name:desc Esta es una forma más avanzada de crear servicios web para sus objetos de base de datos, como paquetes, procedimientos, funciones, etc. Necesita usar anotaciones o un archivo de configuración para definir los metadatos del servicio web, como la asignación de URL, parámetros, tipo de retorno, etc. También puede utilizar la API ORDS PL/SQL para manipular programáticamente las definiciones de servicios web.
Por ejemplo, puede crear un servicio web para un procedimiento llamado GET_EMPLOYEE que toma un ID de empleado como parámetro de entrada y devuelve los detalles del empleado como parámetro de salida. Puede usar la siguiente anotación en su definición de procedimiento:
-%rest --%description Obtener detalles de los empleados por ID --%endpoint /employees/id -%método GET -%source PROCEDURE get_employee ( p_emp_id IN employees.employee_id%TYPE, p_rec empleados%ROWTYPE ); http://host:port/ords/schema/employees/id Puede usar métodos HTTP como GET para invocar el procedimiento. Por ejemplo, puede ejecutar el siguiente comando en una terminal o en un símbolo del sistema para invocar el procedimiento con un ID de empleado de 100:
curl -X GET http://host:port/ords/schema/employees/100 Puede usar SQL Developer Web para acceder y administrar su base de datos mediante un navegador. Puede usar SQL Developer Web para ejecutar consultas y scripts, crear y alterar objetos de base de datos, crear modelos de datos, acceder a Performance Hub y ver la actividad de la base de datos. También puede usar SQL Developer Web para habilitar y deshabilitar Auto REST para sus tablas y vistas, así como para probar y depurar sus servicios web.
Para acceder a SQL Developer Web, necesita tener una cuenta de Oracle con los privilegios apropiados. Puede crear una cuenta de Oracle utilizando SQL Developer Web o SQL*Plus o SQL Developer. Por ejemplo, puede ejecutar el siguiente comando en SQL*Plus o SQL Developer para crear una cuenta de Oracle llamada scott con la contraseña tiger:
CREATE USER scott IDENTIFIED BY tiger; GRANT CONNECT, RESOURCE TO scott; Una vez que tenga una cuenta de Oracle, puede acceder a SQL Developer Web ingresando la siguiente URL en su navegador:
http://host:port/ords/sql-developer Se le pedirá que introduzca sus credenciales de cuenta de Oracle y luego verá la interfaz web de SQL Developer.
Para usar SODA for REST, necesita tener una cuenta de Oracle con los privilegios apropiados. Puede crear una cuenta de Oracle utilizando SQL Developer Web o SQL*Plus o SQL Developer. Por ejemplo, puede ejecutar el siguiente comando en SQL*Plus o SQL Developer para crear una cuenta de Oracle llamada soda con la contraseña soda:
CREATE USER soda IDENTIFIED BY soda; GRANT CREATE SESSION TO soda; GRANT SODA_APP TO soda; Una vez que tenga una cuenta de Oracle, puede usar SODA for REST ingresando la siguiente URL en su navegador:
http://host:port/ords/schema/soda/latest/ Se le pedirá que introduzca sus credenciales de cuenta de Oracle y luego verá la interfaz SODA para REST.
En este artículo, le hemos mostrado cómo descargar, instalar, configurar y usar Oracle ORDS 21, la última versión de Oracle REST Data Services. También hemos discutido algunos de los beneficios, características y alternativas de ORDS, así como algunas mejores prácticas y consejos para su uso eficaz.
ORDS es una poderosa herramienta que le permite acceder y manipular datos en su base de datos Oracle utilizando servicios web RESTful. Proporciona una API REST de administración de bases de datos, SQL Developer Web, una puerta de enlace PL/SQL, SODA para REST y la capacidad de publicar servicios web RESTful para interactuar con los datos y los procedimientos almacenados en su base de datos Oracle.
Esperamos que este artículo le haya ayudado a entender cómo usar ORDS y cómo puede mejorar su experiencia de desarrollo y administración de bases de datos. Si tiene alguna pregunta o comentario, no dude en ponerse en contacto con nosotros o dejar un comentario a continuación. Gracias por leer y feliz codificación!
Aquí están algunas de las preguntas más frecuentes sobre Oracle ORDS 21:
Algunas de las diferencias entre ORDS 21 y versiones anteriores son:
Para actualizar a ORDS 21 de versiones anteriores, debe seguir estos pasos:
java -jar ords.war validar java -jar ords.war Para solucionar problemas de ORDS, puede usar los siguientes recursos:
Para obtener más información sobre ORDS, puede utilizar los siguientes recursos:
Para proporcionar comentarios o sugerencias para ORDS, puede usar los siguientes métodos:
17b9afdd22