In this section we explain how to start and how to stop the i-refactory Oauth2 server.
The server is a NodeJS application which can be started on the command prompt from the root directory of the application.
cd <root-application-directory> export NODE_PATH=./ node index
In the above scenario the application is started and the assumption is made that a config.json file exists in the root application directory. The configuration file is read and the server is started. The config file contains the server configuration and the users/applications which can make requests for a token. If new applications, users should be granted access you need to edit the config file and stop/start the server.
If the server is running in your terminal simply press Ctrl-C.
There are many ways to start the server as a background service and there are many process managers. Perhaps the most easiest one is to create a docker container and start the service with a service manager for docker containers.
The i-refactory server is shipped as a zip file with the relevant node_modules already downloaded.\ Creating a docker image is straightforward.
FROM node:14-alpine AS dependencies RUN apk update && \ apk add --no-cache tzdata ENV TZ Europe/Amsterdam # Create app location WORKDIR /app # Copy code COPY . . # set the node path so modules can properly be required ENV NODE_PATH=./
To build the image open a terminal:
cd <directory where you stored the i-refactory server code> create a file Dockerfile with the example content as shown above. docker build -t <image>:<tag> ./
The i-refactory server can be started with docker-compose.
Example docker-compose file:
version: "3.8" services: i-refactory-oauth2: image: <your image> volumes: - <file-path-to-config-file>/config.json:/app/config.json:ro - <file-path-to-crypto-keys>:/app/crypto:ro ports: - 3003:3003 # Needed to respond to prompts in the console stdin_open: true tty: true environment: - NODE_ENV=production command: node index networks: default: external: name: i-refactory-net
To start the server with docker-compose:
Create a file docker-compose-irefactory-oauth2.yml and store your compose config in it. docker-compose -f ./docker-compose-irefactory-oauth2.yml up -d
See the detailed description in Operating Irefactory Server
The main purpose of the Logical Validation Layer (LVL) is to transform the data received from external data sources to fit into the logical data model structure. It is also responsible for validating deliveries. The Logical Validation Layer is also known as the Historical Staging In (HSTGIN) Layer.
A schema is a set of database objects, such as tables, views, triggers, stored procedures, etc. In some databases a schema is called a
namespace. A schema always belongs to one database. However, a database may have one or multiple schema's. A database administrator (DBA) can set different user permissions for each schema.
Each database represents tables internally as
<schema_name>.<table_name>, for example
tpc_h.customer. A schema helps to distinguish between tables belonging to different data sources. For example, two tables in two schema's can share the same name: