Super Configuration Management System (SCMS)

Overview

Super Configuration Management System (SCMS)

Intro

Este es un servicio web REST que permite administrar la configuración de distintas aplicaciones en un sistema centralizado.

Un operador (administrador en principio) puede registrar distintas Aplicaciones y asociarles uno o más Ambientes, a los cuales se le pueden agregar registros de configuración (similares a los que se guardan en un archivo application.properties).

Estos valores de configuración pueden ser consultados por cada Aplicación registrada mediante una integración REST usando credenciales que se le asignen dentro de nuestro sistema.

Representación del sistema:
diagrama

Ejemplo:

El administrador registra en SCMS la Aplicación 'Blog' y le crea un Ambiente 'desarrollo'. Luego le agrega a este Ambiente dos registros de configuración:
{
	"config-1":"valor-1",
	"config-2":"valor-2"
}
El administrador le comparte las credenciales generadas por el sistema (API Key + API Secret) al responsable de 'Blog', quien procede a realizar una integración con SCMS.
Esta integración consistirá en ejecutar una consulta de configuración usando las credenciales provistas.
Por ejemplo podríamos hacer algo de la forma: 'GET https://scms.flexia.com.ar/apps/1/env/2/configuration' para obtener las configuraciones de la Aplicación con ID 1 y el Ambiente con ID 2.

Características

  • El sistema tiene al menos un administrador, idealmente con la posibilidad de agregar más.

  • El administrador puede crear Aplicaciones, indicando al menos un nombre y una descripción para la misma.

  • El administrador puede crear uno o más Ambientes asociados a una Aplicación. Cada ambiente deberá tener nombre y descripción.

  • El administrador puede agregar uno o más registros de configuración a un Ambiente. Además, puede editarlos o eliminarlos. Aclaración: Un registro de configuración consiste en una entrada clave valor, podemos pensarlo como un archivo de properties pero almacenado en este sistema.

Algunas configuraciones de ejemplo:

{
	"my-db.url": "jdbc:postgresql://localhost:5432/my_example_db",
	"external-api.token": "yJ0eXAiOiJKV1QiLCJhbGciOiJIUzUxMiJ9.eyJzdWIiOiIxIiwibmFtZSI6ImFkbWluIiwiZXhwIjoy",
	"enable-validations": "true"
}
  • Un Ambiente se asocia a una API Key (identificador público) y un API Secret (clave secreta) al momento de ser creado. El API Secret es almacenado de forma segura, ya que es equivalente a un password.

Ejemplos:

# API Key
d6d0060f-ab85-416a-8cc7-d6a4b3a7c3e2
# API Secret (Previo a encoding)
1c81c250-142d-47f6-bd24-4d626670821f
  • Cada aplicación registrada en el sistema puede consultar sus parámetros de configuración para un determinado ambiente mediante el uso de sus credenciales (API Key + API Secret). Estas credenciales viajan como headers HTTP en el request.
You might also like...

Human Resource Management System

Human Resource Management System

hrms Human Resource Management System 📌 Proje Hakkında N-Katmanlı Solid mimari yapısı ile hazırlanan, SpringBoot kullanılarak CRUD işlemlerinin yapıl

Jun 6, 2022

N-Layer Architecture human resource management system project with Java.

N-Layer Architecture human resource management system project with Java.

HRMS Project Backend N-Layer Architecture human resource management system project with Java. Report Bug · Request Feature About The Project Built Wit

Dec 26, 2022

Human Resources Management System Using React with Java

Human Resources Management System Using React with Java

File Directory Main Adapters Abstract Concretes Business Abstract Concretes Core / Utilities Regex Results Upload Data Access Abstract Entities Concre

Jul 28, 2021

Java - Backend for Human Resource Management System

HRMS (Human Resource Management System) Main Directory PostgreSQL (Heroku)Live API Java(1.8) - Spring Boot based. Dependencies: Spring Boot DevTools S

Dec 26, 2022

OpenL Tablets Business Rules Management System

Easy Business Rules OpenL Tablets targets the infamous gap between business requirements (rules and policies) and software implementation. Designed to

Dec 17, 2022

Coupon Management System - Full-Stack Project Based in Spring & React

Coupon Management System Full-Stack Project Based in Spring & React Coupon Management System: Final project by Shachaf Izhaki. This project was built

Jan 9, 2022

A compact and highly efficient workflow and Business Process Management (BPM) platform for developers, system admins and business users.

Flowable (V6) Maven Central: Docker Images: License: Homepage: https://www.flowable.org/ flowable / flowəb(ə)l / a compact and highly efficient workfl

Jan 7, 2023

UMS is a CRUD based management system which uses File Handling to manipulate data and perform the CRUD operations

UMS is a CRUD based management system which uses File Handling to manipulate data and perform the CRUD operations

UMS is a CRUD (Create, Read, Update, Delete) based management system which uses File Handling to manipulate data and perform the CRUD operations. It is a group project made using Java procedural programming having both User and Admin sides.

Dec 20, 2022

A Fully Code Integrated Dynamic DataBase Management System for the Java Platform

dynamic-database A fully code integrated minimal database management system for Java, Scala, Kotlin or Groovy projects. It is written in Java and can

Jun 8, 2022
Owner
Gastón Pini
Hi! My name is Gastón, I am a Bioinformatician and Software Developer in a constant development of my knowledge and skills in the professional field.
Gastón Pini
Super simple deploy using spring boot, docker, k8s and kind

Target Target of this repository is show how to build spring boot application Docker image and deploy it with kind and k8s at least in local. Prerequi

Max 4 Aug 22, 2021
Sui - Modern super user interface implementation on Android.

Sui Modern super user interface (SUI) implementation on Android. The name, Sui, also comes from a character. Introduction Sui provides Java APIs, Shiz

Rikka apps 1k Jan 5, 2023
Fazendo Super Mario Bros com minha engine

?? Super Mario Bros •Completo• Linguagem utilizada: JAVA Mario Bros Provavelmente todo mundo conhece e já jogou a história de Mario Bros, o famoso enc

lailaz 3 Jan 6, 2022
Human Resource Management System (Java & React)

?? HumanResourceManagementSystem ?? Steps İş Arayanlar sisteme kayıt olabilmelidir. ✔️ İş verenler sisteme kayıt olabilmelidir. ✔️ ️ Sisteme genel iş

Furkan Paşaoğlu 5 Sep 12, 2022
Human Resources Management System

Human Resource Management System ( HRMS ) The following tools / languages will be used in this project; Java (Spring Boot based) - on the Backend side

Fatih Deniz 17 Dec 1, 2022
Human Resource Management System - Backend

Human Resource Management System - Backend File Structure ??️ Layered Architecture Entities - The package in which the assets are kept DataAcces - Pac

Tarık Kaan Koç 30 Jan 1, 2023
Human resource management system with java spring

Pair Programming This project developed with Emin Ümüt Erarslan a.k.a 8CA5F İnsan Kaynakları Yönetim Sistemi Bu proje Engin Demiroğ' un Java-React kam

Burak KALAYCI 45 Dec 26, 2022
Backend For Human Resource Management System

?? Presentation This is a hrms project. At the backend of this project I used Java(Spring Boot) and I used PostgreSQL as database management. At the f

Salih Bora Öztürk 13 Aug 5, 2022
A repository that contains the backend part of the Human Resources Management System.

Human Resources Management System Backend A human resources management system is a form of human resources (HR) software that combines several systems

Bulent Baris Kilic 24 Dec 26, 2022
Hotels Management System - JavaFX GUI Application

Hotels Management System Hotels Management System - JavaFX Application Does this repo deserve a star? I hope that. Let's talk about what can my progra

Samer Al-Sa'dawi 22 Aug 29, 2022