6.1 Общие требования и инструкции
6.1.1 Обзор тегов идентификации программного обеспечения
В приложении А приводится более концептуальный обзор принципов работы с тегами идентификации программного обеспечения (с целью облегчения понимания).
6.1.2 XML и XSD
Тег идентификации программного обеспечения должен определяться как структура XML-данных. Используемым языком XML Schema Definition (Определение схемы XML) (XSD) должен быть язык, определенный в Приложении G, или любая его (обновленная) версия, которую можно загрузить по адресу: http://standards.iso.org/iso/19770/-2/2009/schema.xsd.
Также могут иметься дополнительные версии схемы, имеющие идентификатор версии схемы, указанный в пути к схеме. Все предыдущие версии схемы должны сохраняться.
6.1.3 Уникальный регистрационный идентификатор (registration ID, regid)
Дескрипторы идентификации ПО могут создаваться несколькими различными организациями и не обязательно должны регистрироваться через централизованный орган. Кроме того, данная часть настоящего стандарта позволяет организациям создавать дескрипторы идентификации ПО для созданных не ими элементов конфигурации ПО (например, организация может создавать дескрипторы идентификации ПО для собственных внутренних процессов обнаружения программного обеспечения). С целью удовлетворения этих требований в данной части настоящего стандарта используется т.н. regid (регистрационный идентификатор). Идентификатор regid создается на базе классифицированного имени iSCSI, как это определено в стандартах IETF RFC 3720 (см. 3.2.6.3.1) и IETF RFC 3721 (см. 1.1), и представляет собой уникальную ссылку на владельца имен.
Идентификатор regid может быть создан только частным лицом или организацией, являющимися или являвшимися владельцами регистрационных удостоверений на имя домена (как это определено в стандартах IETF RFC 1034 (см. 3.5) и IETF RFC 1123 (см. 2.1)). Имя домена не обязательно должно быть активировано и не обязательно должно преобразовываться в конкретный адрес. Сами по себе имена домена не являются уникальными идентификаторами, поскольку срок их действия может закончиться, и/или они могут быть приобретены другими объектами. Другими словами, в идентификаторе regid также должны содержаться сведения о дате, в которую объект зарегистрировал домен. Для объектов, которые хотят получить еще большую гибкость в присвоении уникальных имен своим подобъектам, в идентификаторе regid выделяется дополнительный суффикс, который можно использовать, например, для того чтобы предоставить крупным разработчикам программных продуктов средства, с помощью которых каждое из их бизнес-подразделений могло бы независимо управлять собственными тегами идентификации программного обеспечения.
Имя идентификатора regid должно состоять из следующих элементов:
- строка "regid" - определяет элемент в качестве регистрационного идентификатора (registration id) для тегов идентификации программного обеспечения;
- символ точки '.';
- код даты в формате ГГГГ-ММ. Этой датой должна быть дата, во время которой объект, присваивающий имя, зарегистрировал домен. Под этой датой должно подразумеваться гринвичское время 00:01 первого дня месяца, в котором объект, присваивающий имя, зарегистрировал на себя домен. В коде даты используется григорианский календарь, и, соответственно, этот код должен включать в себя все четыре цифры года и обе цифры месяца (где январь соответствует 01, а декабрь - 12). Цифры года и месяца должны разделяться символом черточки;
- символ точки '.';
- зарезервированное имя домена объекта, присваивающего имя (физического лица или организации), создающего тег идентификации программного обеспечения;
- необязательная строка, определяющая подобъекты, которые сами могут быть уникальными владельцами имен. Эта строка предваряется следующим символом:
- символ запятой ',',
- владелец имени домена может по своему усмотрению задавать текст, следующий за зарезервированным именем домена (однако без запятых, которые имели бы смысл префикса), при условии, что все символы, присутствующие в тексте, могут использоваться при создании имен файлов на любых платформах, на которых будет устанавливаться тег. Объект, присваивающий имя, должен обеспечить уникальность каждой ссылки на подобъект в пределах организации.
Примеры идентификаторов regid, созданных объектами, владеющими доменами example.com или example.net, могут выглядеть следующим образом:
6.1.4 Расширение файла тега идентификации программного обеспечения и его размещение для установки
Имена файлов тегов идентификации программного обеспечения должны включать файловое расширение ".swidtag", чтобы эти файлы могли быть распознаны платформами (см. 4.1.7) и инструментарием для обнаружения тегов.
Каждый провайдер платформы (см. 4.1.18), например, поставщик операционной системы, должен указать, в каких местах должны размещаться теги идентификации программного обеспечения. Например, при установке операционной системы Windows размещение может определяться значением инструментария управления Windows (Windows Management Instrumentation); дистрибутивы Linux могут использовать значение диспетчера пакетов Red Hat (Red Hat Package Manager). Если провайдер платформы укажет каталог размещения, то тег идентификации программного обеспечения должен быть установлен в этом каталоге.
Если провайдер платформы не укажет каталог размещения, теги идентификации программного обеспечения должны быть установлены в общеизвестных каталогах с совместным доступом, содержащих часто используемую системную информацию. В следующих примерах приводится информация о том, какие каталоги с совместным доступом могут использоваться для различных платформ (если провайдер платформы не предоставил собственные спецификации).
Таблица 2 - Примеры размещения файлов тегов на разных платформах
Apple Macintosh OS:X Leopard | <root>/Library/Application Support/<software creator regid> |
Apple Macintosh OS X pre-Leopard Примечание - Теги идентификации программного обеспечения должны включаться в каталог приложений по умолчанию на всех операционных системах (см. ниже). В системах Pre-Leopard OS X в качестве каталога по умолчанию также должно использоваться это расположение | Application Directory/<program.app package>/contents |
UNIX и Linux | usr/share/<software creator regid> |
Windows NT | C:\Winnt\AII Users\Application Data\<software creator regid> |
Windows 2000 Professional Windows Server 2000 Windows XP Windows Server 2003 | % AIIUsersProfile%\Application Data\<software creator regid> |
Microsoft Vista Microsoft Server 2008 | % Program Data%\<software creator regid> |