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>