
Ψάχνουμε σε ένα πρότυπο τρόπο διαμόρφωσης των διαφόρων «άκρα» της εφαρμογής μας. Η εφαρμογή μας είναι ένα κατανεμημένο σύστημα με εφαρμογές των Windows Desktop, Server «υπηρεσίες» των Windows και βάσεις δεδομένων. Εμείς ρυθμίσετε τη στιγμή κάθε κομμάτι χρησιμοποιώντας αρχεία XML. Αυτό είναι να πάρει λίγο από τα χέρια καθώς συνεργαζόμαστε με τους μεγαλύτερους πελάτες που μπορεί να έχει δεκάδες servers που τρέχουν εφαρμογή και εκατοντάδες πελάτες της επιφάνειας εργασίας μας.


Μπορεί κανείς να συστήσει μια τεχνολογία της Microsoft ή τρίτο πρόσωπο που θα μας επιτρέψει να συγκεντρώσει όλες τις πληροφορίες διαμόρφωσης και τη διαχείρισή του σε ένα μέρος για όλες τις εφαρμογές μας; Οποιεσδήποτε αλλαγές θα πρέπει να «έσπρωξε» στο τελικό σημείο (α) που ενδιαφέρει.


Για παράδειγμα, εάν επρόκειτο να αλλάξετε τη σύνδεση για ένα από βάση δεδομένων μας, θα κάνουμε αυτή την αλλαγή στη βάση δεδομένων, στη συνέχεια, να αντικατοπτρίζει αυτή την αλλαγή στο κεντρικό μας σύστημα. Μετά από αυτό το τελευταίο βήμα, κάθε υπηρεσία που πρέπει να συνδεθεί με τη βάση δεδομένων θα πρέπει να ενημερωθούν για την αλλαγή (και ενδεχομένως να λάβετε τα νέα δεδομένα). Πώς και τι κάθε παράμετρο κάνει με τις πληροφορίες αυτές είναι εκτός του πεδίου εφαρμογής του συστήματος.


κύρια δραστηριότητα μας δεν είναι «κεντρική διαμόρφωση Υπηρεσίες». Είμαστε μια εταιρεία GIS που παρέχει λύσεις για διάφορες επιχειρήσεις κοινής ωφελείας σε όλο τον κόσμο.

 
Παράθυρα Κεντρική διαμόρφωσης για εφαρμογές τρίτων;
===================================================



Έχω κάνει μερικά πράγματα για τον εαυτό μου δώσει αυτή τη δυνατότητα κατά τη διάρκεια των ετών. Χτίζω για παράδειγμα, εφαρμογές επιχείρηση που μπορεί να διανεμηθεί σε πολλούς διακομιστές. Δεν θέλω να θάψει τις ρυθμίσεις ρυθμίσεων σε κάθε αρχείο ρυθμίσεων υπηρεσιών ή αρχείο web.config κάθε διακομιστή Ιστού. Για την εφαρμογή συγκεκριμένων πράγματα που συνήθως δημιουργούν ένα πίνακα ρυθμίσεων της εφαρμογής στη βάση δεδομένων της εφαρμογής. Ο πίνακας έχει μόνο δύο πεδία. SettingName και SettingValue. Στη συνέχεια γράψετε ένα web ή WCF υπηρεσιών αποκλειστική λειτουργία του οποίου είναι να ανακτήσει αυτές τις ρυθμίσεις. Γράφω μια λειτουργία που ονομάζεται GetSetting όπου θα περάσει «SettingName» και επιστρέφει SettingValue ή ένα κενό string αν η ρύθμισή σας δεν βρέθηκε. Με αυτό τον τρόπο μπορώ να αποθηκεύσετε όλες τις ρυθμίσεις της εφαρμογής για όλες τις συνιστώσες της εφαρμογής σε ένα σημείο. Συντήρηση και αντιμετώπιση προβλημάτων γι 'αυτό είναι πολύ εύκολο, δεν είμαι το κυνήγι μέσω scads των αρχείων ρυθμίσεων εξαπλωθεί σε δεκάδες ιστού και εφαρμογών servers.


Για μεγαλύτερες εφαρμογές κλίμακας που θα μπορούσε να δημιουργήσει μια ξεχωριστή βάση δεδομένων appSettings όπου μπορώ να προσθέσω ένα νέο πεδίο στο τραπέζι μου που αναφέρονται παραπάνω. Ονομα εφαρμογής. My web ή WCF υπηρεσιών για την προσέγγιση αυτή έχει την ίδια μέθοδο κλήσης (GetSetting) μόνο σε αυτό το πεδίο θα περάσει ApplicationName και SettingName και επιστρέφει SettingValue ή ένα κενό string.


Κάνοντας ένα από αυτά τα πράγματα που σας δίνει τη δυνατότητα να συγκεντρώσετε όλες τις ρυθμίσεις της εφαρμογής για οποιαδήποτε εφαρμογή το μέγεθος ή το κατάστημα πληροφορικής. Έχει δουλέψει πολύ καλά για εμάς.

 

Θα μπορούσατε να χρησιμοποιήσετε RSS μαζί με το BitTorrent για τη διανομή αλλαγές. Δείτε [Wikipedia](http://en.wikipedia.org/wiki/Rss#BitTorrent_and_RSS) . Δεν είναι MS συγκεκριμένη όμως, αλλά θα πρέπει να παρέχει την ευελιξία που χρειάζεστε - ένας server διαμόρφωσης κρατώντας τη διαμόρφωση και την παροχή των τροφών που απαιτούνται για να ρυθμίσετε τους πελάτες και, ενδεχομένως, servers.

 

Τυχόν VCS μέσω ενός ασφαλούς καναλιού;


Για παράδειγμα, git μέσω SSH (αμφότερα διαθέσιμα σε Cygwin).


Νομίζω ότι το πρώτο βήμα είναι να έχουμε το ασφαλές κανάλι (αν θέλετε τη δυνατότητα ώθηση, τράβηγμα μπορεί να είναι διαφορετική).


Όσο για τη διαχείριση των «εκδόσεις» σε διάφορα «καταστήματα», ό, τι καλύτερο από ένα σύστημα ελέγχου εκδόσεων;


Όπως ισχύει και για την απαίτηση της Microsoft, αλλά και οι sofwares Microsoft στο ότι υπάρχει σε αυτόν τον τομέα θα απορροφήσει πολύ κακό στην περίπτωσή σας (όπως δεν είναι το καλύτερο εργαλείο για τη δουλειά).

 