Descriptive Analytics Architecture
Descriptive Analytics contains two microservers, StatisticalMonitoring and StatisticalCalculation. Each microserver includes a corresponding Thing Shape, several Data Shapes, and a remote Thing. Each microserver also provides a set of on-demand descriptive analytic services that can be used to run statistical computations or perform statistical monitoring on logged properties in ThingWorx. The output of these services can be used to visualize data, create alerts based on logged property values, or generate transformed data for machine learning processes. Interaction with these descriptive analytic services requires that ThingWorx Foundation is already installed and running.
When installing and using Descriptive Analytics, the components interact as shown in the image and described below:
1. Descriptive Analytics Components – Certain Descriptive Analytics components are included with the ThingWorx installation, although they cannot be used until the Descriptive Analytics microservice installation is complete. These components include:
◦ ThingShapes – Two ThingShapes are included: StatisticalMonitoringThingShape and StatisticalCalculationThingShape. One (or both) of the new ThingShapes must be implemented by any user-created Thing that will call the statistical monitoring or calculation services.
◦ DataShapes – Several DataShapes are included to define the structure of both input and output data for statistical monitoring or calculation services.
2. Virtual Things – When the installer for the Descriptive Analytics microservice runs, a Java service starts and spins up a Virtual Thing for each microserver: StatisticalMonitoringMicroserver and StatisticalCalculationMicroserver. The Virtual Things contact ThingWorx and create corresponding Remote Things: StatisticalMonitoringThing and StatisticalCalculationThing.
3. Remote Things – The Remote Things are extensions of their corresponding microservers. You will see them in your list of Things in ThingWorx but you don’t need to interact with them manually, except to verify installation. They are contacted behind the scenes when you create a Thing that calls the statistical services provided by the corresponding microservices.
4. User-defined Thing – When you create a Thing that will call statistical monitoring or calculation services, you must implement one of the provided ThingShapes: StatisticalMonitoringThingShape or StatisticalCalculationThingShape. Only by implementing one of these ThingShapes can you provide your Thing with access to statistical monitoring or calculation services.