nr-oracle-service

Lifecycle:Experimental

nr-oracle-service

A Helm Chart to deploy a Quarkus API to do CRUD against Oracle DB over encrypted listeners.

Prerequisites:

Why

How

Sequence flow

sequenceDiagram
    participant Consuming App
    participant OracleProxyApplication
    Consuming App ->>+ OracleProxyApplication: Send POST request with API key (X-API-key)
    OracleProxyApplication->>+OracleProxyApplication: Validate API key
    OracleProxyApplication-->>-Consuming App: Return unauthorized error (if API key is invalid)
    OracleProxyApplication ->>+ Payload: Validate payload
    Payload -->>- OracleProxyApplication: Return validation errors (if any)
    OracleProxyApplication ->>+ QueryExecutorService: Execute SQL query
    QueryExecutorService -->>- OracleProxyApplication: Return query result
    OracleProxyApplication -->>- Consuming App: Return query result

Development

This project uses Quarkus, the Supersonic Subatomic Java Framework.

If you want to learn more about Quarkus, please visit its website: https://quarkus.io/ .

Running the application in dev mode

You can run your application in dev mode that enables live coding using:

```shell script ./mvnw compile quarkus:dev


> **_NOTE:_**  Quarkus now ships with a Dev UI, which is available in dev mode only at http://localhost:8080/q/dev/.

## Packaging and running the application

The application can be packaged using:

```shell script
./mvnw package

It produces the quarkus-run.jar file in the target/quarkus-app/ directory. Be aware that it’s not an über-jar as the dependencies are copied into the target/quarkus-app/lib/ directory.

The application is now runnable using java -jar target/quarkus-app/quarkus-run.jar.

If you want to build an über-jar, execute the following command:

```shell script ./mvnw package -Dquarkus.package.type=uber-jar


The application, packaged as an _über-jar_, is now runnable using `java -jar target/*-runner.jar`.

## Creating a native executable

You can create a native executable using:

```shell script
./mvnw package -Pnative

Or, if you don’t have GraalVM installed, you can run the native executable build in a container using:

shell script ./mvnw package -Pnative -Dquarkus.native.container-build=true

You can then execute your native executable with: ./target/nr-oracle-service-1.0.0-SNAPSHOT-runner

If you want to learn more about building native executables, please consult https://quarkus.io/guides/maven-tooling.

Provided Code

RESTEasy JAX-RS

Easily start your RESTful Web Services

Related guide section…