Software asset object model
Software asset objects
Product Groups
Each Product Group represents grouping of installed or deployed software products sharing the same name and vendor information.
When Applixure inventories installed or deployed products from the agents (i.e. devices), Products sharing the same name and vendor name, but differing version information, are grouped together. Furthermore, to remove variance in the vendor information while grouping, name of the vendor is normalized for Product Group by removing any company type such as "Inc.", "Corporation", "GmbH" etc. This way, vendor names like "Applixure Inc." and "Applixure Incorporated" would both be normalized to "Applixure" in the Product Group.
Each Product Group object lists the Product objects associated with it (LinkedProducts field).
Each Product Group object lists all Agents wherein one or more Products associated with the Product Group has been deployed or installed to (LinkedAgents field).
Each Product Group object additionally links to the Agents in NeverUsageAgents, OccasionalUsageAgents, MonthlyUsageAgents, WeeklyUsageAgents, DailyUsageAgents, BackgroundSystemUsageAgents and BackgroundUserUsageAgents fields, corresponding to the measured software usage level for that Product Group in each of the respective Agents.
You can refer to Applixure Helpcenter article on software usage levels for more information about usage level categorization.
See Connect API endpoints related to Product Groups.
Product Group's historical information
For each Product Group, Applixure stores historical copy of the most of the Product Group data for each date the Product Group has been active in an Applixure environment. You can get up to past 1 year of history information for each Product Group.
See Connect API endpoints related to getting Product Group historical information.
Access historical information sparingly
Please note that presently all historical information has to be retrieved individually for each Product Group - and other software assets - as a separate call. For this reason, if you need to retrieve history for large number of software assets you should retrieve history for each software asset at max once per day and cache the result to avoid repeated calls to the data that is not likely to change and to avoid overloading the API with too frequent access.
Alert information specific for individual Product Group
To retrieve Product Group -specific Applixure Alerts, please see Connect API endpoint for getting Alerts & Warnings associated with specific Product Group.
Issues information specific for individual Product Group
To retrieve Product Group -specific issue history, please see Connect API endpoint for getting issue history associated with specific Product Group.
Products
Each Product represents specific installed or deployed software product having specific name, version and vendor information.
In general, Products reflect the entries in the operating system's list of installed software (such as in Windows' Programs and Features list) or deployed to the machine otherwise, such as through Windows Store.
Each Product object lists the Application objects associated with it (LinkedApplications field), and links back to Product Group it belongs to (ProductGroupId field).
As with Product Groups, each Product object lists all Agents wherein Product has been deployed or installed to, and usage level classification for the Product in each Agent.
See Connect API endpoints related to Products.
Product's historical information
For each Product, Applixure stores historical copy of the most of the Product data for each date the Product has been active in an Applixure environment. You can get up to past 1 year of history information for each Product.
See Connect API endpoints related to getting Product historical information.
Applications
Each Application represents specific executable file on the disk and linked to by one or more software product that carries that exact same binary.
Applications show up in the Applixure data only after they have been used at least one on any device where Applixure Agent is installed. This means that Applixure data does not carry all binary executables pre-scanned from devices, but usually only those Applications that are seen as run at some point.
As with Products, each Application object lists all Agents wherein Application has been found from, and usage level classification for the Application in each Agent.
See Connect API endpoints related to Applications.
Application's historical information
For each Application, Applixure stores historical copy of the most of the Application data for each date the Application has been active in an Applixure environment. You can get up to past 1 year of history information for each Application.
See Connect API endpoints related to getting Application historical information.
Software -related objects
In addition to main software asset objects, Applixure data model defines additional objects related to software assets.
Extended Attributes
Each Extended Attribute represents additional, Agent or instance -specific, information related to Product Groups or Products.
By default, all information represented by the Product Group or Product carries only common-to-all information related to that software. This is to say that all instance-specific information for any software inventoried are collapsed into one single software object (Product Group, Product or Application).
To contrast, in some other asset-related software products there are separate concepts for "model" for software and then number of "instances" of that model, each corresponding to specific installation of that software on specific device. In Applixure, the data model defines only singular instance of each separate software object and no instance-specific data is carried within (like, as an example, installation path of the product which may vary between different devices).
For cases where per Agent -specific data for given software is required, Extended Attributes provide mechanism for getting instance -specific information. Extended Attributes for Product Groups and Products lists additional data for that software object on per Agent -basis.
SamAttributes
This Extended Attribute type provides Software Asset Management -related information. Currently available data:
Microsoft SQL Server edition information
Lists SQL Server Edition data for all installed SQL Server instances on a device.
UsrContextAttributes
This Extended Attribute type provides user installation context -related information. Currently available data:
User logon ID
Lists user logon account ids for which user-installed Products or Product Groups is installed for/under on a device. Please note that this attribute won't be available if personal data collection is disabled for the Applixure environment.
{
"ProductGroupId": "8d3d7eae-7194-5b32-9a37-25f55a5ef9ba",
"SamAttributes": [
{
"AgentId": "c96c00a3-10cd-5e0e-963d-f1ceac3e950f",
"SoftwareEdition": "Developer Edition"
},
{
"AgentId": "c96c00a3-10cd-5e0e-963d-f1ceac3e950f",
"SoftwareEdition": "Enterprise Evaluation Edition"
}
],
"UsrContextAttributes": [
{
"AgentId": "c620f718-12a5-5fd5-8969-33ac926d3119",
"LogonUserId": "33fbb1b4-f703-5ddb-a5b9-34ab1fac28ea"
},
{
"AgentId": "1df7568e-3e93-5b3b-9bb5-58c99905254c",
"LogonUserId": "73cf0800-f85f-5a0a-ad99-faa19eec55d7"
}
]
}
See Connect API endpoints for getting all Extended Attributes for all Products or for all Product Groups.
See Connect API endpoints for getting user logon.
Icons
Each Icon represents graphical icon collected for the Product Group, Product or Application.
Each Icon is represented by unique ID that is listed in the software asset object's data - if any is available - and the payload (in PNG format) for the icon data can be retrieved using separate resource endpoint.
See Connect API endpoints for getting icon resource.
Tags
Tag Types and Tag represents customer-defined tagging information related to the assets, both Product Groups and Agents.
Each specific Tag Type can contain zero or more Tags. The Tag Types can be considered to be a logical grouping or category for related Tags. For example, Tag Type "Business unit" could contain Tags "Administration", "Research", "Manufacturing" etc. which would be then associated with different asset objects to reflect ownership of that asset or main user etc.
Presently, as Connect API is read-only, Tags cannot be associated with objects programmatically and this has to be done through Applixure Web UI.
See Connect API endpoints related to Tagging for getting contents of the Tag Types and Tags, and endpoints related to getting Tags associations for all Product Groups.
Updated over 3 years ago