Конфигурация системы
Конфигурация системы ( SC ) в системной инженерии определяет компьютеры, процессы и устройства, составляющие систему и ее границы. В более общем смысле, конфигурация системы — это конкретное определение элементов, которые определяют и/или предписывают, из чего состоит система.
Альтернативно, термин «конфигурация системы» может использоваться для обозначения модели (декларативной) абстрактных обобщенных систем. В этом смысле использование информации о конфигурации не приспособлено к какому-либо конкретному использованию, а представляет собой отдельный набор данных. Правильно настроенная система позволяет избежать проблем, связанных с конфликтом ресурсов, и упрощает модернизацию системы за счет нового оборудования.
Пример конфигурации
[ редактировать ]Ниже приведена базовая конфигурация системы SC XML :
Описание : Это предоставляет информацию об одном «сайте» (MyHouse) и указывает, что существует один хост с компонентами пользовательской настройки и mysql-db . На хосте должна быть учетная запись пользователя с именем mysql с соответствующими параметрами. конфигурации Обратите внимание, что схема не требует XML- тегов, специфичных для Windows или UNIX . Он просто представляет данные как отдельную информацию – без каких-либо претензий на то, как эти данные будут использоваться.
Это признак хорошей модели конфигурации системы.
Дальнейшие расширения
[ редактировать ]Вышеописанную модель можно расширить. Например, у пользователя может быть больше атрибутов, таких как «предпочтения» и «пароль». Компоненты могут зависеть от других компонентов. Могут быть определены свойства, которые передаются в подэлементы. Расширения могут быть бесконечными (WATCHOUT: сложность ) и должны быть управляемыми и хорошо продуманными, чтобы не «сломать» идею конфигурации системы.
Использование
[ редактировать ]Использование модели на практике делится на несколько категорий: документация , развертывание и эксплуатация .
Документация
[ редактировать ]Одним из вариантов использования конфигурации является просто запись того, что представляет собой система . Эта документация, в свою очередь, может стать весьма обширной, что усложнит модель данных. Важно различать данные конфигурации и описательные данные. Конечно, комментарии можно применять на любом уровне, даже в большинстве инструментов, однако раздувание данных может снизить их полезность. Например, конфигурация системы не является местом для записи исторических изменений или описания конструкции и назначения различных элементов. Данные конфигурации должны быть просто «то, что есть» или «то, что мы хотим».
Развертывание
[ редактировать ]Развертывание включает в себя интерпретацию набора данных конфигурации и воздействие на эти данные для реализации соответствующей настройки системы. Это может быть просто проверка того, что необходимо для подтверждения того, что конфигурация действует.
Примеры включают библиотеку Perl, запускаемую из командной строки для чтения конфигурации и запуска процессов на локальных или удаленных хостах для установки компонентов. Кроме того, во время работы системы может существовать служба SystemConfiguration , которая предоставляет интерфейс (т. е. интерфейсы CORBA IDL) для других системных приложений, которые они могут использовать для доступа к данным конфигурации и выполнения действий, подобных развертыванию.
Операции
[ редактировать ]Когда система находится в работе, данные конфигурации могут использоваться определенными видами служб в системе. Например, секнагер может получить доступ к конфигурации для получения паролей MD5 для учетных записей пользователей, которым разрешен удаленный вход на хосты. Служба системного мониторинга (см.: системный мониторинг ) может использовать данные, чтобы определить, «что контролировать» и «как контролировать» элементы системы. PresentationManager пунктам может использовать данные для доступа к меню и представлениям на основе прав доступа пользователя.
Ссылки
[ редактировать ] <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>