Software hierarchy
A software hierarchy is the combination of product, version, and release (or feature) that represents an item of software in a database or knowledge base. The product is the root of the hierarchy. Two software types, distributed and mainframe, determine the kind of relationships that are possible in the software hierarchy. For example, IBM® DB2® is distributed software with a product, version, and release hierarchy. IBM AIX® is mainframe software with a product, version, and feature hierarchy.
For both types, users can define a product's software hierarchy in Control Desk at the product, version, and release or feature level.
Software products, versions and releases can be imported into Control Desk. In the Software Catalog application, you can use the Product Hierarchy tab to view the imported software hierarchy. The data provided is made read-only in the Software Catalog. Data imported from most other discovery tools can manually organized into software product hierarchies. This gives businesses that work with discovery tools the same capabilities to define hierarchical structures but without actually having to use the knowledge base in their implementation.
Distributed software types
The distributed software types into which you can classify software differ in terms of licensing attributes and the types of dependencies that can be defined for them. The software type determines the role that the software can play in relation to other items. The structure of those items is hierarchical:
- Software product
- A logical unit of software packaging and sharing that has a managed development and maintenance life cycle and customer visible attributes. It can be a collection of components and other products whose licensing may be dependent on the licensing of the product as a whole.
- Component
- A unit of software that cannot be offered and licensed independently of other software. It cannot be installed separately but it can be detected as installed or running on computer systems by means of its own signatures. It can be assigned to products and shared between many different product definitions.
Components can be assigned to software products, and products can be bundled into more complex products. Many components can be assigned to one product, and the same component can be assigned to many products. Similarly, many products can be assigned to one product, and one product can be shared among many products. The software to which one or more other products or components are assigned is referred to as enclosing software.
For every type of distributed software, you can define a three-level hierarchy:
- Product
- The root of the hierarchy. It groups all the software versions. Some of the attributes specified for the product are inherited by subordinate levels of the hierarchy. Every software hierarchy can contain only one product, which is the parent, with possible child versions or releases subordinate to it.
- Version
- Separately licensable software immediately subordinate to the parent product. It can group one or more releases. For IBM software, different versions grouped under one parent product can have different product identifiers, or PIDs.
- Release
- Separately licensable software immediately subordinate to the software located at the version level. It can only be subordinate to one version. All releases grouped under one version must have the same PID.
Mainframe software types
- Products
- Software products can have software hierarchies consisting of three levels: the parent product, versions, and releases. The mainframe product hierarchy, however, consists of only two levels: the parent product level and the version level. Each parent product can group one or more versions.
- Features
- Mainframe products at the version level of the software hierarchy can own one or more features. The same feature can only be assigned to one product hierarchy. Features inherit the licensing attributes of the products to which they are assigned but they can be identified with a separate entitlement entity attribute. Mainframe product features cannot be defined as independent entries. They have to be assigned to a mainframe product entry.