The majority of nodes created by patterns are SoftwareInstances and BusinessApplicationInstances. Both node kinds have attributes name and type, and, in common with all nodes maintained by patterns, must have a key. This appendix discusses how to set those attributes in a number of scenarios.
In the following scenarios, the node kind is consistently referred to as a SoftwareInstance (SI), but equivalent suggestions apply to BusinessApplicationInstances (BAIs).
The name attribute is intended to be a human-readable summary of the identity of the node - it need not be globally unique, but it should give the reader a good idea about which instance it is.
SI on single host, uniquely identified and versioned
Scenario 1: The SI is running on a single host. The pattern can determine a unique identity, and determine the version for each SI:
| Type |
The name of the product, e.g. "Oracle Database" or "Apache Web Server" |
| instance |
The unique instance name of the SI, e.g. "TRADING_DB" or "www.example.com". |
| name |
A string of the form "%type% version %version% called %instance% running on %host.name%", e.g. "Oracle Database version 10g called TRADING_DB running on londb01".
As appropriate, the word "called" should be replaced with similar words such as "identified by" or "using".
The version number used should either be the product version or the full version, whichever is most appropriate for the product. |
| key |
A string of the form "%instance%/%type%/%host.key%" |
SI on single host, uniquely identified but not versioned
Scenario 2: The SI is running on a single host. The pattern can determine a unique identity, but cannot determine the version for each SI:
| Type |
The name of the product, e.g. "Oracle Database" or "Apache Web Server" |
| instance |
The unique instance name of the SI, e.g. "TRADING_DB" or "counterexamples". |
| name |
A string of the form "%type% called %instance% running on %host.name%", e.g. "Oracle Database version 10g called TRADING_DB running on londb01".
As appropriate, the word "called" should be replaced with similar words such as "identified by" or "using". |
| key |
A string of the form "%instance%/%type%/%host.key%" |
SI versioned but not uniquely identified
Scenario 3: Cannot determine a unique name for each SI, but can find version
| Type |
The name of the product, e.g. "Oracle Database" or "Apache Web Server" |
| name |
A string of the form "%type% version %version% running on %host.name%". |
| key |
Not set. |
| key_group |
version. The system will create a suitable key embedding the version given as the key group, the type and the host's key |
SI not versioned or uniquely identified
Scenario 4: No unique name or version available
| Type |
The name of the product, e.g. "Oracle Database" or "Apache Web Server" |
| name |
A string of the form "%type% running on %host.name%". |
| key |
Not set. |
| key_group |
Not set, or set to the empty string. The system will create a suitable key embedding the type and the host's key |
Product with only once instance on a host
Scenario 5: A product that can fundamentally only have one instance running on a host
| Type |
The name of the product, e.g. "Oracle Database" or "Apache Web Server" |
| name |
A string of the form "%type% running on %host.name%". |
| key |
A string of the form "%type%/%host.key%". |
An SI or BAI spanning multiple hosts
Scenario 6: A SoftwareInstance or BusinessApplicationInstance spanning multiple hosts:
| Type |
The name of the product, e.g. "Oracle Database" or "Apache Web Server" |
| instance |
In this case, the SI / BAI is composed of other SIs / BAIs. To group them together, there must be some identifying characteristic for the group. In cases where there is one global instance of the application, the instance would not be set. |
| name |
A string of the form "%type% version %version% called %instance%".
As appropriate, the word "called" should be replaced with similar words such as "identified by" or "using". If there is one global instance, the instance information should be left out.
The version number used should either be the product version or the full version, whichever is most appropriate for the product, or absent altogether if no version information is available. |
| key |
A string of the form "%instance%/%type%" |