Software asset connections

  • Release version: Yokohama
  • Updated January 30, 2025
  • 2 minutes to read
  • Summarize
    Summarized using AI
    This content was generated using new OpenAI-powered functionality. Results are provided on an as is basis and are not guaranteed to be accurate or complete.

    Summary of Software asset connections

    Software asset connections enable ServiceNow customers to integrate installed software data discovered from third-party sources into the Software Asset Management (SAM) application. This discovery process identifies installed software, device ownership, and location, merging this data into the Configuration Management Database (CMDB). The integrated data supports multiple business applications by providing accurate and up-to-date software inventory information.

    Show full answer Show less

    Key Features

    • Integration via Identification and Reconciliation Engine (IRE): IRE acts as a centralized framework that ingests and reconciles data from multiple discovery sources, handling de-duplication and ensuring consistent data insertion into CMDB tables.
    • Identification Rules: IRE uses independent and dependent CI identifiers to manage relationships between configuration items, which can be extended to SAM-specific tables.
    • Payload Handling: Third-party discovery tools send software installation data through IRE REST API payloads. Generic payloads handle standard software installations, while specialized payloads exist for Oracle, VMware, and Citrix to capture publisher-specific data.
    • Data Reconciliation and Deduplication: When multiple sources report the same software, installation records are overwritten if key details match. Otherwise, multiple entries are created and later deduplicated by scheduled SAM jobs to maintain only one active record.
    • Domain Separation Support: The IRE REST API stamps the domain context of the payload. Customers must send discovery data from the domain where the CIs reside to avoid unintended CI creation or updates in parent or incorrect domains.

    Practical Guidance for ServiceNow Customers

    • Ensure your third-party discovery sources are configured to send data via IRE REST API to keep your SAM data current.
    • Understand the distinction between independent and dependent CI identifiers to better manage configuration item relationships within your CMDB and SAM tables.
    • Use domain-specific logins when sending payloads to maintain domain integrity and prevent data inconsistencies.
    • Leverage the deduplication job to maintain clean and accurate software installation records when multiple discovery sources are used.

    Use third-party discovery sources to discover the installed software data that you can integrate with the Software Asset Management application.

    The discovery process is an integral part of the Software Asset Management application. The discovery process consists of discovering where the installed software in your organization is installed, who the owner of the device is, and where it's located. The discovered information is then merged into a common configuration management database such as the CMDB application.

    The CMDB application enables other business applications to use the discovered information to support various business needs.

    Figure 1. Discovery with Software Asset Management
    Third-party discovery sources

    ServiceNow platform's identification and reconciliation engine (IRE) framework enables all third-party data integrations with the CMDB application.

    IRE provides a centralized framework where you can perform reconciliations and de-duplication of the data when multiple sources are ingesting data at the same time. IRE uses identification rules, reconciliation rules, and IRE data source rules to process the incoming data and then inserts the data into the corresponding CMDB tables. You can extend these rules to insert the data into tables that extend the CMDB core tables such as the Software Asset Management tables. There are two types of identification rules for IRE:
    • Independent: If the Independent check box is selected on a CI identifier, it means that the CI is not dependent on any other CI.
    • Dependent: If the Independent check box is not selected on a CI identifier, it implies that this CI is dependent on other CIs.
    For more information on IRE, see Identification and Reconciliation Engine.

    You should have already configured loading the CIs in the ServiceNow instance. For each CI in your environment, the Hardware [cmdb_ci_hardware] table has a corresponding CI identifier rule. When the third-party discovery application runs, the software is identified on CIs. The third-party application constructs a payload and sends the payload via the IRE REST API endpoint to the ServiceNow instance to insert or update data into the Software Asset Management tables.

    A generic payload is used for creating installed software records. For Oracle, VMware, and Citrix, specific payloads feed additional publisher-specific data apart from software installations.

    If multiple discovery sources are enabled and if the key details of the software, such as the display name and the version for all discovery sources, match, the Installation record is overwritten. If multiple discovery sources identify the same software with different field values, an entry is created in the Software Installation [cmdb_sam_sw_install] table. When the schedule job SAM- Deduplication install table runs and if all the normalized values of these installations match, only one record is set to active. The rest of the records are marked as inactive.

    Domain separation is supported for third-party discovery with SAM with the following considerations:
    • The IRE REST API stamps the domain that you are logged in to when the REST call is made.
    • Log in to the domain where the CI resides and from where you run the payload.
    • Don't log in to the parent domain. Being logged in the parent domain updates the existing CI and also creates a new CI in the parent domain.
    • Send the payload from the same domain where the CIs reside. For example, if you send a payload from Domain A and if the payload has CIs that belong to Domain B, a new CI gets created in Domain A.