Welche Optionen stehen für die Verwaltung zentraler Softwareeinstellungen von Drittanbietern zur Verfügung?

8

Ich bin Architekt in einem Unternehmen, das eine SaaS-Lösung entwickeln möchte. Unsere Produkte sind über viele verschiedene bereitstellbare Container, Webdienste, Web-Benutzeroberflächen usw. verteilt.

Ich suche nach einer Open Source- oder Drittanbieter-Softwarelösung, um die Einstellungen unserer Anwendung zu verwalten. Diese ähneln den Einstellungen, die Sie möglicherweise in Word, Eclipse oder Visual Studio finden. Die Einstellungen würden verschiedene Verhaltensweisen und Merkmale des Produkts steuern. (Wahrscheinlich nicht Einstellungen wie die Datenbank, zu der eine Verbindung hergestellt werden soll, sondern eher Einstellungen, sollte ich Zeilennummern auf der Seite anzeigen oder nicht standardmäßig.) Im Idealfall können wir Werte für verschiedene Dimensionen speichern (nach Mandant, Benutzer, Anwendungsumgebung ...).

Da wir so viele verschiedene Deployables haben, suche ich nach einer zentralen Lösung, die einen Webdienst bereitstellen kann, von dem jedes Deployable seine individuellen Einstellungen erhalten kann.

Kennt jemand einen zentralen Dienst, der diese Art von Funktionen bietet, oder hilft er mir bei der Suche nach einer Alternative zum Rollen unserer eigenen?

Jeff Martin
quelle
Das klingt nach einem großartigen Job für eine relationale Datenbank
Ryathal

Antworten:

3

Wir verwenden dafür die Datenbank selbst.

Wir haben eine Tabelle, in der jeder Datensatz ein Datum / Uhrzeit-Feld "Zuletzt aktualisiert" für die im Datensatz gespeicherten Einstellungen enthält (aktualisiert mit einem Trigger).

Unsere Apps überprüfen das Datum / Uhrzeit-Feld auf die Einstellungen, an denen sie interessiert sind. Wenn es aktueller ist als der Wert, den sie im Speicher haben, werden die Einstellungen neu geladen und die speicherinterne Datum / Uhrzeit aktualisiert.

Funktioniert für viele verschiedene Apps, die eine oder mehrere Gruppen von Einstellungen überprüfen.

SteB
quelle
1

Klingt nach einer Business Rules Engine, bei der Sie nur einfache Regeln verwenden. Diese Engines stellen eine Bibliothek bereit, die die Regeln aus einem zentralen Repository abruft und auf effiziente
Weise zwischenspeichert. Google einfach nach "Business Rules Engine" und du wirst viele davon finden ...

rdmüller
quelle
1

Das Konfigurationsmanagement ist ein Bereich für sich und eine solche Datenbank wird häufig als CMDB bezeichnet .

CMDB muss oft keine relationale Datenbank sein. Was ich mich am effektivsten erinnern kann, wird OneCMBD sein - aber sehen Sie, ob das Ihren Anforderungen entspricht.

Es gibt viele Lösungen und einige Open Source-Lösungen, wie zum Beispiel einige, die Sie hier finden: http://linuxaria.com/article/6-cmdb-open-source?lang=de

Dipan Mehta
quelle
In diesem Fall ist CMDB zwar eng miteinander verbunden, dies ist jedoch nicht der gesuchte Funktionsumfang. CMDB konfiguriert normalerweise Hosts und einzelne Installationen. Hier geht es mehr um die globale Konfiguration von Funktionen für ein gesamtes Saas-Angebot.
Jeff Martin