Analytics Server Microservice Architecture Redesign
|
Architectural changes in this release have reduced the number of microservices necessary to run ThingWorx Analytics. The new architecture provides the same functionality but in a more efficient structure.
Since the 8.1 release, ThingWorx Analytics Server has included a series of nine independent microservices. These microservices grouped analytics services by specific elements of functionality (data, training, scoring, results). When you consider additional components, like ZooKeeper and one or more common Workers, a single installation can contain upwards of a dozen separate Java processes. Each process represents a potential point of entry that requires monitoring, management, and troubleshooting. In addition, several of these microservices handle very similar activities, such as running jobs and retrieving results.
In the redesigned architecture of the 8.5.0 release, the set of microservices has been simplified to the following:
• Synchronous microservice – Handles stateless processes such as synchronous scoring and querying.
• Asynchronous microservice – Handles all of the job-based processes such as working with data and retrieving results.
Benefits of the Redesign
This consolidation greatly reduces the ThingWorx Analytics cost of ownership, in terms of fewer processes to install, protect, and maintain. This smaller footprint also results in less complicated troubleshooting. And because the services are grouped by synchronous vs. asynchronous processes, additional components like ZooKeeper and common Workers are necessary only when the Asynchronous microservice is deployed. When the Synchronous microservice is deployed alone, those additional components are not installed because synchronous jobs are stateless and do not require job management.
|
Analytics Server API Support for SSL Authentication
|
ThingWorx Analytics Server API security has been enhanced by the addition of SSL authentication support. In earlier releases, SSL support was available only for the connection between the Analytics Server and ThingWorx. This new API-level of SSL authentication secures communication between the third-party adapters and the APIs. It also secures internal communication between the APIs themselves. Adding SSL authentication to the API layer also provides administrators with the ability to control access.
The use of the SSL authentication is optional but is enabled by default. It can be disabled during installation.
|
Confidence Models
|
Confidence model functionality has been added to ThingWorx Analytics in this release. Confidence models can be applied to continuous, Boolean, categorical, and ordinal data.
Confidence models are generated from validation data and can be applied either during predictive model training or after model creation. Based on a user-defined confidence level, these models can provide information about the accuracy of a predictive score. In addition, a new service has been added to allow retrieval of confidence models from the Validation Thing. For more information about how confidence models are applicable when scoring different types of data, see Confidence Models.
Confidence models are currently available only from ThingWorx Analytics APIs. In a future release, they will be made available in Analytics Builder as well.
|
ThingWorx Analytics Integration with FactoryTalk Analytics DataFlowML
|
In the 8.5.0 release, a stand-alone Analytics Server can be deployed with DataFlowML, part of the Rockwell FactoryTalk Analytics suite of products. This stand-alone installation does not require integration with a ThingWorx server. All HTTP traffic from within DataFlowML pipelines communicates directly with the Synchronous or Asynchronous microservices. The microservice APIs are protected via SSL and an application key generated during installation. For more information about integration with DataFlowML, see the FactoryTalk Analytics DataFlowML documentation.
|
Bug Fix Description
|
Reference #
|
ThingWorx Analytics: Time series jobs using Boolean data fail
Training and Signals jobs fail when time series data is used if the goal field is defined as opType BOOLEAN and dataType STRING. This issue has been resolved so that time series jobs complete successfully.
|
TA-1235
|
ThingWorx Analytics: Datasets with empty field names should not be accepted
When datasets with empty field names are uploaded, jobs executed on those datasets result in errors. To resolve this issue, validation has been added for field names in new or existing datasets. No data with an empty field name will be accepted.
|
TA-1614
|
ThingWorx Analytics: Error message when uploading incomplete metadata
When JSON metadata is uploaded with missing values for an opType or a dataType, a NullPointerException is returned in the Worker log but no meaningful error message is displayed to the user. To resolve this issue, validation has been added so that empty values are detected when metadata is uploaded and a meaningful error message is displayed.
|
TA-2434
|
ThingWorx Analytics: Training jobs fail when a dataset contains invalid null byte characters
When a training job runs on a dataset that contains invalid null byte characters (not in UTF-8 format), the training job fails. To resolve this issue, validation has been added to the data upload process to detect invalid null byte characters.
|
TA-2502
|
ThingWorx Analytics: Use upsampled data for the signals processing portion of model training
When training a model using upsampled data, the signals selection portion of the training job is not using the upsampled data. This issue has been resolved so that, during model training, the signals are identified only after the data has been upsampled.
|
TA-2504
|
ThingWorx Analytics: Distribution statistics queries and synchronous scoring jobs fail because temp files cannot be stored
When a distribution statistics query or a synchronous scoring job is executed on a Linux server, the system cannot write to /tmp directory that is mounted with noexec permissions. To resolve this issue, a temporary folder has been added to the Analytics Server installation directory.
|
TA-2749
TA-2926
|
ThingWorx Analytics: Server queries fail when dataset or metadata field names begin with a number
When a field that begins with a number is included in a dataset or in metadata, most Analytics Server jobs can run successfully, such as training a model or running scoring. However, when a server query is executed, such as a BinnedDistribution, the query fails.
This issue has been resolved so that field names can begin with numbers.
|
TA-2795
TA-2799
TA-2965
|
ThingWorx Analytics: Predictive scoring results display an error message
Real time predictive scoring jobs expect whole number (integer) values. When real number (double) values are encountered instead, error messages are displayed in the scoring results. To resolve this issue, functionality has been added to convert double values to integers before they are passed to scoring.
|
TA-2913
|
ThingWorx Analytics: Security Improvements
In this release, security was improved by closing several vulnerabilities.
|
TA-2981
|
ThingWorx Analytics: Failure to retrieve a non-local host IP address
On a server configured with only a loopback (localhost) network adaptor, an invalid hostname was being resolved, which broke the data services. To fix the issue, functionality was added to ensure that servers with this configuration correctly resolve to the localhost.
|
TA-3017
|
ThingWorx Analytics: PVAs not returned for Ordinal and Categorical goals
During validation, PVAs are not generated for models with Ordinal and Categorical goals. When results were retrieved for the validation job, the pvaUri column displays a message: Not supported for this goal type. This issue has been resolved and PVA generation is now supported for models with Ordinal and Categorical goal types. When results are retrieved, the expected URI is returned in the pvaUri column.
|
TA-3085
|
ThingWorx Analytics JAR files: Contain unnecessary test data
Some Analytics component JAR files contain large quantities of datasets used for testing. These datasets significantly increase the size of the JAR files. To resolve this issue, unnecessary test datasets have been removed from the packaged JAR files.
|
TA-3125
|
ThingWorx Analytics: Unable to upload dataset rows that contain null values
ThingWorx Analytics PMML modeling format does not include null value handling. Uploaded datasets are validated to prevent the inclusion of empty field values. However, this validation presents a problem for users who want to load data that they intend to score using their own PMML models, which may include null value handling. To resolve this issue, the empty field check has been removed so that datasets containing null values can be uploaded.
|
TA-3206
|
ThingWorx Analytics: Prescriptive scoring ignores lever ranges in some scenarios
When running a prescriptive scoring job, a user can assign minimum and maximum ranges for lever fields. However, if the assigned minimum and maximum bounds are outside of the default ranges provided during training, those values are ignored, even if they yield better prescriptive scores. The functionality has been changed to honor the assigned minimum and maximum bounds during scoring.
|
TA-3310
|
Known Issue Description
|
Reference #
|
ThingWorx Analytics Server: Two-at-a-time Signals request does not return MI for all field combinations
When running a request for Signals, and specifying maxAtATime = 2, Mutual Information (MI), in relation to the goal, is not returned for all field combinations as expected. Instead, individual (one-at-a-time) MI scores are returned for all fields and then are filtered down to the top 25% most relevant fields. Two-at-a-time signals are calculated only for those fields. There is currently no way to modify this filtering behavior.
|
TA-729
|
Analytics Manager: An existing simulation event fails if it is triggered after server restart
Analysis agents must be restarted after a ThingWorx server restart. Without restart of the agent, any new simulation jobs will fail to execute.
|
—
|
Analytics Manager: Time window event does not work for non-time series models
When a non-time series model is uploaded using the Analytics Server Connector, and all of the properties, including the key field are mapped, a time window event does not work.
|
AM-1289
|
Analytics Builder: Filtering on list pages does not work as expected
When filtering is applied to a list page with multiple pages (such as the Models list page), the filtered results are not aggregated for display on a single page. Instead, the filtered results remain on their original pages and multiple pages must be clicked through to find all the filtered results.
To improve handling of list page displays, a configurable parameter has been added to set the number of table items that can be displayed per page. A more permanent resolution for the filtering with pagination issue will be provided in a future release.
|
TA-1596
TA-1618
TA-1928
|
ThingWorx Analytics Server: Some datasets with a large number of columns fail to upload
There are currently some limitations on the size and number of columns a dataset can contain. These limitations depend on the mix of data types your data includes. For specific information, see the Data section of Prepare Data and Metadata.
When trying to upload a dataset with a large number of columns, if the upload fails and an error message is generated, try the following workarounds:
• Where possible, use optimal data types, for example, convert INTEGER data to STRING and use DOUBLE for numeric data.
• Reduce the number of columns.
|
TA-2599
|
Analytics Builder: Screens do not load properly in IE 11
The View Datasets and View Models screens do not load properly in the IE 11 browser for the support Windows operating systems. This issue will be resolved in a future release. To avoid the issue, use another browser, such as Chrome, Firefox, or Safari.
|
TW-31953
|
ThingWatcher
|
ThingWatcher was discontinued as a standalone SDK in 8.3. However, ThingWatcher functionality is available in the Anomaly Detection features native to the ThingWorx platform. For more information, see Anomaly Detection.
|
ThingPredictor
|
ThingPredictor software media is no longer available for download as of 8.3. However, support will continue for 8.x users until the next major release. To replace ThingPredictor capabilities, an improved set of predictive services is being introduced in 8.3. For more information, see How Predictive Scoring Using the Analytics Server Connector Works.
|
DataConnect / Data Analytics Definition
|
DataConnect and the Data Analytics Definition are not available as of 8.3. Replacement functionality will be introduced in a future release.
|