Systeem configuratie - System configuration

Een systeemconfiguratie ( SC ) in systeemtechniek definieert de computers, processen en apparaten waaruit het systeem en zijn grens bestaat. Meer in het algemeen is de systeemconfiguratie de specifieke definitie van de elementen die bepalen en/of voorschrijven waaruit een systeem is samengesteld.

Als alternatief kan de term "systeemconfiguratie" worden gebruikt om te verwijzen naar een model (declaratief) voor abstracte gegeneraliseerde systemen. In die zin is het gebruik van de configuratie-informatie niet afgestemd op een specifiek gebruik, maar staat het op zichzelf als een dataset. Een correct geconfigureerd systeem vermijdt problemen met hulpbronnenconflicten en maakt het gemakkelijker om een ​​systeem te upgraden met nieuwe apparatuur...

Voorbeeldconfiguratie

Het volgende is een basis SC XML- systeemconfiguratie:

Beschrijving : Dit geeft informatie over een enkele "site" (MyHouse) en geeft aan dat er één host is met user-setup- en mysql-db- componenten. De host moet een account hebben voor een gebruiker met de naam mysql , met de juiste parameters. Merk op dat de configuratie schema vereist geen XML -tags die zijn Windows - of UNIX -specifiek. Het presenteert gegevens gewoon als op zichzelf staande informatie - zonder pretentie voor hoe de gegevens moeten worden gebruikt.

Dit is het kenmerk van een goed systeemconfiguratiemodel.

Verdere uitbreidingen

Bovenstaand model is uitbreidbaar. De gebruiker kan bijvoorbeeld meer attributen hebben zoals "voorkeuren" en "wachtwoord". De componenten kunnen afhankelijk zijn van andere componenten. Er kunnen eigenschappen worden gedefinieerd die worden doorgegeven aan subelementen. De extensies kunnen eindeloos zijn (LET OP: complexiteit ) en moeten worden beheerd en goed doordacht om te voorkomen dat het idee van de systeemconfiguratie "doorbreekt".

Gebruik

Het gebruik van het model valt in praktische termen in verschillende categorieën: documentatie , implementatie en operaties .

Documentatie

Een gebruik van de configuratie is om eenvoudig vast te leggen wat een systeem is . Deze documentatie kan op zijn beurt behoorlijk uitgebreid worden, wat het datamodel compliceert. Het is belangrijk onderscheid te maken tussen configuratiegegevens en beschrijvende gegevens. Natuurlijk kunnen opmerkingen op elk niveau worden toegepast, zelfs in de meeste tools, maar de opgeblazenheid van de gegevens kan het nut ervan verminderen. De systeemconfiguratie is bijvoorbeeld geen plaats om historische veranderingen vast te leggen, of beschrijvingen van ontwerp en intentie voor de verschillende elementen. De configuratiegegevens moeten eenvoudig zijn "wat het is" of "wat we willen dat het is".

Inzet

Implementatie omvat het interpreteren van een configuratiegegevensset en handelen op basis van die gegevens om het systeem dienovereenkomstig te configureren. Dit kan gewoon een validatie zijn van wat er is om te bevestigen dat de configuratie van kracht is.

Voorbeelden zijn onder meer een Perl-bibliotheek die vanaf de opdrachtregel wordt gestart om de configuratie te lezen en om processen op de lokale of externe hosts te starten om componenten te installeren. Terwijl het systeem draait, kan er ook een SystemConfiguration- service zijn die een interface (dwz CORBA IDL-interfaces) biedt voor andere systeemtoepassingen om toegang te krijgen tot de configuratiegegevens en om implementatie-achtige acties uit te voeren.

Activiteiten

Wanneer het systeem in bedrijf is, kunnen de configuratiegegevens worden gebruikt door specifieke soorten services in het systeem. Een Secnager kan bijvoorbeeld toegang krijgen tot de configuratie om de MD5-wachtwoorden te verkrijgen voor de gebruikersaccounts die op afstand mogen inloggen op hosts. Een systeembewakingsdienst (zie: systeembewaking ) kan de gegevens gebruiken om te bepalen "wat te bewaken" en "hoe te bewaken" de systeemelementen. Een PresentationManager kan de gegevens gebruiken om toegang te krijgen tot menu-items en weergaven op basis van toegangsrechten van gebruikers.

Referenties

 <system_configuration>
   <site name="MyHouse" >
     <hosts>
       <host_ref name="host1"/>
     </hosts>
   </site>
   <group name="mysql" gid="500"/>
   <user name="mysql" uid="500">
     <groups>
       <group_ref name="mysql"/>
     </groups>
   </user>
   <host name="host1" >
     <users>
       <user_ref name="mysql">
     </users>
     <profiles>
       <profile_ref name="workstation"/>
     </profiles>
   </host>
   <profile name="workstation" >
     <components>
       <component_ref name="user-setup" >
       <component_ref name="mysql-db" >
     </components>
   </profile>
   <component name="user-setup">
   </component>
   <component name="mysql-db">
   </component>
 </system_configuration>