Domanda

Sto cercando di creare un punto centrale di controllo per le impostazioni presenti su più server Web, applicazioni server e strumenti desktop forse anche interne.

La situazione attuale è che ho un file di impostazioni su ogni server web o all'interno di ogni applicazione, con variabili globali definite: Admin-mail, Dove memorizzare i file caricati, ecc Alcune impostazioni (ad esempio una e-mail di amministrazione globale di inviare segnalazioni di errori a) sono più o meno in tutta l'azienda. Altre impostazioni possono essere cliente o sito specifico.

Voglio anche questa questa centrale DB per essere in grado di tenere sotto controllo chi / cosa sta accedendo ogni impostazione. Per esempio dire che ho un ambiente "ProcessedImageUploadFolder", con un valore di "\\ ImageServer \ Cache \" che viene utilizzato da 5 siti web differenti, ma voglio cambiare questa impostazione, ma guardando il mio sistema centrale, vedo che C'è un sesto server che non ho pensato di che è stato anche richieda tale impostazione (l'applicazione chiamata ha bisogno di identificarsi per ottenere un ambiente, in modo che il DB può accedere esso), nel caso in cui modificare questa impostazione per il 6 ° di server avrebbe un effetti collaterali.

Prima di tirare il mio DB con un servizio per servire fuori e registrare le impostazioni, mi chiedo se ci sono le librerie / applicazioni che gestiscono qualcosa di simile già. Qualcuno ha qualche idea, se è stato fatto qualcosa di simile? Qual è questo tipo di sistema chiamato?

perferably la soluzione sarebbe in C # / SQL, ma se l'unica opzione era qualcosa come PHP o Java, probabilmente utilizzare che come base e la porta di esso.

O sto andando su questo tutto sbagliato?

Modifica Questo non è mult-tenancy. Alcune delle applicazioni che utilizzano questo servizio sono già in un ambiente multi-tenant set up. Altri sono applicazioni one-off ... altri sono applicazioni desktop utilizzati sulla rete locale o VPN.

Se qualcuno può etichettare questa domanda meglio, essere mio ospite.

È stato utile?

Soluzione

Un database centrale con un servizio sembra la strada da percorrere. Assicurarsi che le applicazioni nella cache della configurazione, in modo che non colpirà il database a ogni richiesta, e anche in modo che essi saranno in grado di andare avanti se il database centrale è temporaneamente non disponibile.

Se Java è un'opzione, si potrebbe dare un'occhiata a Configuration Commons . Si potrebbe anche dare un'occhiata a Opzioni Profilo a Oracle Applications (pagina 2-21) per alcune idee. Opzioni Profilo hanno una gerarchia di configurazione interessante, in cui le preferenze possono essere impostate nel sito, l'applicazione, la responsabilità, e livello di utente, con il più alto livello di preferenza la precedenza.

Altri suggerimenti

Credo che il migliore termine per descrivere la tua domanda Neil sarebbe si chiama "Multi locazione". Devlicious pubblicato un interessante articolo sul multi tenancy qui: http://devlicio.us/blogs/anne_epstein/archive/2009/04/24/the-case-for-multiple-dbs-in-multi-tenancy-situations. aspx .

Se stavo codifica di un servizio di configurazione sshared vorrei provare a implementare utilizzando uno schema simile al modello Service Locator http://martinfowler.com/articles/injection.html#UsingAServiceLocator e sviluppare un servizio web che è facilmente estendibile e facile da Interop con. Il servizio avrebbe estratto il vostro disegno, indipendentemente dal fatto che sia 1 di database, i database 2 o più file di configurazione XML.

Qualcun altro ha qualche suggerimento?

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top