Konfiguracja systemu

Konfiguracja systemu ( SC ) w inżynierii systemów definiuje komputery, procesy i urządzenia, które składają się na system i jego granice. Mówiąc bardziej ogólnie, konfiguracja systemu to specyficzna definicja elementów, które definiują i/lub określają, z czego składa się system.

Alternatywnie, termin „konfiguracja systemu” może być używany w odniesieniu do modelu (deklaratywnego) abstrakcyjnych systemów uogólnionych. W tym sensie wykorzystanie informacji konfiguracyjnych nie jest dostosowane do żadnego konkretnego zastosowania, ale stanowi samodzielny zestaw danych. Prawidłowo skonfigurowany system pozwala uniknąć problemów związanych z konfliktami zasobów i ułatwia aktualizację systemu za pomocą nowego sprzętu...

Przykładowa konfiguracja

Poniżej przedstawiono podstawową konfigurację systemu SC XML :

Opis : zawiera informacje o pojedynczej „witrynie” (MyHouse) i określa, że ​​istnieje jeden host z komponentami user-setup i mysql-db . Host musi mieć na nim konto dla użytkownika o nazwie mysql , z odpowiednimi parametrami. Należy zauważyć, że schemat konfiguracji nie wymaga znaczników XML specyficznych dla systemu Windows lub UNIX . Po prostu przedstawia dane jako samodzielną informację – bez pretensji do sposobu wykorzystania danych.

Jest to cecha charakterystyczna dobrego modelu konfiguracji systemu.

Dalsze rozszerzenia

Powyższy model można rozbudować. Na przykład użytkownik może mieć więcej atrybutów, takich jak „preferencje” i „hasło”. Komponenty mogą zależeć od innych komponentów. Można zdefiniować właściwości, które są przekazywane do elementów podrzędnych. Rozszerzenia mogą być nieskończone (UWAGA: złożoność ) i muszą być zarządzane i dobrze przemyślane, aby zapobiec „złamaniu” idei konfiguracji systemu.

Stosowanie

Praktyczne użycie modelu można podzielić na kilka kategorii: dokumentacja , wdrożenie i operacje .

Dokumentacja

Jednym z zastosowań konfiguracji jest po prostu zarejestrowanie, czym jest system . Ta dokumentacja mogłaby z kolei stać się dość obszerna, komplikując w ten sposób model danych. Należy rozróżnić dane konfiguracyjne od danych opisowych . Oczywiście komentarze można nanosić na każdym poziomie, nawet w większości narzędzi, jednak rozdęcie danych może zmniejszyć ich użyteczność. Na przykład konfiguracja systemu nie jest miejscem do zapisywania historycznych zmian ani opisów projektu i przeznaczenia różnych elementów. Dane konfiguracyjne mają być po prostu „tym, czym są” lub „czym chcemy, żeby były”.

Zastosowanie

Wdrożenie obejmuje interpretację zestawu danych konfiguracyjnych i działanie na podstawie tych danych w celu odpowiedniej konfiguracji systemu. Może to być po prostu sprawdzenie, co tam jest, aby potwierdzić, że konfiguracja działa.

Przykłady obejmują bibliotekę Perla uruchamianą z wiersza poleceń w celu odczytania konfiguracji i rozpoczęcia uruchamiania procesów na lokalnych lub zdalnych hostach w celu zainstalowania komponentów. Również podczas działania systemu może istnieć SystemConfiguration , która udostępnia interfejs (tj. interfejsy CORBA IDL) innym aplikacjom systemowym, których można używać do uzyskiwania dostępu do danych konfiguracyjnych i wykonywania działań podobnych do wdrażania.

Operacje

Podczas pracy systemu dane konfiguracyjne mogą być wykorzystywane przez określone rodzaje usług w systemie. Na przykład Secnager może uzyskać dostęp do konfiguracji w celu uzyskania haseł MD5 dla kont użytkowników, którzy mogą zdalnie logować się do hostów. Usługa monitora systemu (patrz: monitorowanie systemu ) może wykorzystać dane do określenia „co monitorować” i „jak monitorować” elementy systemu. PresentationManager może wykorzystywać dane do uzyskiwania dostępu do pozycji menu i widoków w oparciu o uprawnienia dostępu użytkownika.

 
     
     
        
     
   
     
     
     
        
      <system_configuration>  <site  name=  "MyHouse"  >  <hosts>  <host_ref  name=  "host1"  />  </hosts>  </site>  <group  name=  "mysql"  gid=  "500"  />  <user  name=  " mysql"  uid=  "500"  >  <grupy>  <group_ref  name=  "mysql"  />  </grupy> 
   
     
     
        
     
     
        
     
   
     
     
         
         </użytkownik >   <  nazwa_hosta=  "host1"  >  <użytkownicy >   <  nazwa_ref_użytkownika=  "mysql"  >  </użytkownicy  > <profile>  <  nazwa_ref_profilu=  "stacja robocza"  />  </profiles>  </host>  <  nazwa profilu  =   "stacja robocza"  >  <komponenty>  <  nazwa_ref_komponentu=  "konfiguracja-użytkownika"  >  <  nazwa_ref_komponentu=  
     
   
    
   
    
   
  "mysql-db"  >  </components>  </profile>  <component  name=  "user-setup"  >  </component>  <component  name=  "mysql-db"  >  </component>  </system_configuration>