IoT & Connectivity Tips | ThingWorx & Kepware PTC
Recently active
ThingWorx has long been a trusted platform in the industrial IoT space, helping organizations build and scale connected solutions. With the release of ThingWorx 10.0, we're introducing meaningful updates that make it easier, faster, and more secure to develop and manage industrial IoT applications — while keeping the core strengths that customers rely on. ThingWorx 10.0 isn't just about new features; it's about making the platform more efficient, more reliable, and better aligned with today’s enterprise needs. Key enhancements focus on improving performance at scale, streamlining developer workflows, and strengthening security frameworks — essential capabilities for any modern IoT deployment. While security improvements are critical, they represent the standard customers expect, and we’ve invested in making sure ThingWorx continues to meet and exceed those expectations. Here is a summary of the latest security updates for ThingWorx, including patches and vulnerability fixes.
Introduction As the Internet of Things (IoT) continues to grow, securing web applications and connected devices is more critical than ever. Content Security Policy (CSP) is a security feature that helps protect IoT applications from malicious threats by controlling which resources—such as scripts, styles, and images—can be loaded and executed in a browser. This article explores what CSP is, the types of attacks it prevents, its role in securing IoT applications, the most common CSP directives used for enhanced security, and a real-world case study demonstrating CSP in action. What is Content Security Policy (CSP)? Content Security Policy (CSP) is a web security standard designed to reduce the risk of security vulnerabilities such as Cross-Site Scripting (XSS), data injection, and clickjacking by enforcing strict content-loading policies within web applications. It allows developers to specify which domains are permitted to execute scripts, load images,
Install ThingWorx Kepware Server GuideOverviewStep 1: Learning Path OverviewStep 2: Install ThingWorx Kepware ServerStep 3: Open ThingWorx Kepware ServerStep 4: Next Steps Install ThingWorx Kepware Server Guide Overview This guide will walk you through the steps to install ThingWorx Kepware Server. NOTE: This guide's content aligns with ThingWorx 9.3. The estimated time to complete this guide is 30 minutes. Step 1: Learning Path Overview This guide is the first on the Connect and Monitor Industrial Plant Equipment Learning Path, and it explains how to get up and running with ThingWorx Kepware Server. If you want to learn to install ThingWorx Kepware Server, this guide will be useful to you, and it can be used independently from the full Learning Path. In the next guide on the Learning Path, we will create an Application Key which is used to secure the connection between Kepware Server and ThingWorx Foundation.Later in the Learnin
Improvements in Monitoring and DiagnosticsThe Outcome of the Diagnostics Forum of YesterdayBy Tori Firewind, Principal Cloud ArchitectIntroductionMany moons ago, a forum of dedicated diagnostic enthusiasts gathered together throughout several round-table discussions to produce a list of diagnostic daydreams, groom and refine that list, and then use it to produce realistic, yet awesome diagnostics requirements. Three different organizations, eight teams in total across PTC were involved, and dozens of real-world, customer experiences were considered throughout these conferences. In the end, a large diagnostics feature was designed and passed already prioritized, from the front lines directly into the backlog in the first ever collaborative effort to do Dev Ops as a process at PTC. The fruits of this labor are now available in the latest version, ThingWorx 9.7! These features include the largely anticipated acceleration-based monitoring, custom persistence provider monitoring, and t
The latest release of ThingWorx, version 9.7, brings powerful updates across performance, scalability, security, and developer productivity. Designed to meet the evolving demands of IoT and AR solutions, this version equips businesses with the tools to build smarter applications, improve operational efficiency, and stay ahead of the curve. Performance & ScalabilityThingWorx 9.7 introduces key updates that enhance performance and scalability for large-scale operations. The addition of partitioned value streams enables faster queries and purging of massive data sets, streamlining data management. Lazy loading for grid components optimizes application responsiveness, ensuring a seamless user experience, even in data-intensive environments. Additionally, the new Data Ordering feature ensures that ingested data is processed in the exact order it is received, even across asynchronous systems. This capability guarantees accurate execution of application logic and precise end ca
The natively exposed ThingWorx Platform performance metrics can be extremely valuable to understanding overall platform performance and certain of the core subsystem operations, however as a development platform this doesn't give any visibility into what your built solution is or is not doing. Here is an amazing little trick that you can use to embed custom performance metrics into your application so that they show up automatically in your Prometheus monitoring system. What you do with these metrics is up to your creativity (with some constraints of course). Imaging a request counter for specific services which may be incredibly important or costly to run, or an exception metric that is incremented each time you catch an exception, or a query result size metric that informs you of how much data is being queried from the database. Refer to Resources > MetricsServices:GetCounterMetricGetGaugeMetricIncrementCounterMetricDecrementCounterMetricSetGaugeMetricYou'll need to
Distributed Timer and Scheduler Execution in a ThingWorx High Availability (HA) ClusterWritten by Desheng Xu and edited by Mike Jasperson OverviewStarting with the 9.0 release, ThingWorx supports an “active-active” high availability (or HA) configuration, with multiple nodes providing redundancy in the event of hardware failures as well as horizontal scalability for workloads that can be distributed across the cluster. In this architecture, one of the ThingWorx nodes is elected as the “singleton” (or lead) node of the cluster. This node is responsible for managing the execution of all events triggered by timers or schedulers – they are not distributed across the cluster. This design has proved challenging for some implementations as it presents a potential for a ThingWorx application to generate imbalanced workload if complex timers and schedulers are needed. However, your ThingWorx applications can overcome this limitation, and still use timer
Getting Started on the ThingWorx Platform Learning Path Learn hands-on how ThingWorx simplifies the end-to-end process of implementing IoT solutions. NOTE: Complete the following guides in sequential order. The estimated time to complete this learning path is 210 minutes. Get Started with ThingWorx for IoT Part 1Part 2Part 3Part 4Part 5Data Model IntroductionConfigure PermissionsPart 1Part 2Build a Predictive Analytics Model Part 1Part 2
Greetings, Community Members! PTC has launched ThingWorx 9.6.0 as of June, and it's now ready for your upgrade! Let's explore the key enhancements in this latest version of ThingWorx. What are the top three areas of updates in ThingWorx 9.6? Performance, Scalability, Reliability, and Security: There's a significant boost in file transfer performance between connected devices and the ThingWorx platform. A notable enhancement in server startup performance, with some instances showing an 84% reduction in startup time. Numerous logging improvements, including limitations on log verbosity, log filtration, and configurable log storage capabilities, contribute to the stabilization of the ThingWorx system. Additionally, ThingWorx now supports log extraction to third-party software like Sumologic, Datadog, Splunk, Grafana, etc., utilizing the industry-standard OpenTelemetry framework starting from TWX 9.6. Content Security Policy has been implemented, fortifying ThingWorx
In the evolving landscape of software development, ensuring support for the latest, most secure versions of programming languages is essential. At PTC, we continuously evaluate our technology stack, and Java is no exception. As part of our ongoing commitment to providing secure and high-performing products, we’re announcing some important updates to the Java support plans for ThingWorx. Current Java Support in ThingWorx (Through Version v9.1.X - v9.6.X) As of ThingWorx v9.6, Java 11 is the only supported version. This version has been a mainstay of our IoT platform, ensuring stability and performance across various use cases. However, Java 11 entered Extended Support in September 2023, meaning its standard support phase has ended. While this version will continue to receive security updates for a while, its lifecycle is winding down. Introducing Java 21 Support in ThingWorx v9.7 (Planned Release: December 2024) With ThingWorx 9.7, releasing in December 2024, we will
This post will show you an example on how to use the DBConnection Building Block on a TWX 9.3.4+ instance.Sometimes you need to store data in ThingWorx, but none of the existing capabilities (Thing properties, Streams, ValueStreams or DataTables) really fit your use case and your best option is to directly use SQL. Previously, you had to do this manually, but now you can use the DB Connection Building Block which is part of the Common Building Blocks and is freely available. This way, you can also leverage the Building Block (BB) concept, the go-to architecture pattern to create reusable, shareable software components in Thingworx. While there is comprehensive documentation available around BBs, it is quite technical, and the idea of this article is to give a jumpstart with an easy and simple example. (Please note that when you are on ThingWorx 9.3.7 or newer, this process becomes drastically simpler, so if you're here just for the quickest results, you might want to check my foll
Hello everyone, Following a recent experience, I felt it was important to share my insights with you. The core of this article is to demonstrate how you can format a Flux request in ThingWorx and post it to InfluxDB, with the aim of reporting the need for performance in calculations to InfluxDB. The following context is renewable energy.This article is not about Kepware neither about connecting to InfluxDB. As a prerequisite, you may like to read this article: Using Influx to store Value Stream properties from... - PTC Community Introduction The following InfluxDB usage has been developed for an electricity energy provider. Technical ContextKepware is used as a source of data. A simulation for Wind assets based on excel file is configured, delivering data in realtime.SQL Database also gather the same data than the simulation in Kepware. It is used to load historical data into InfluxDB, addressing cases of temporary data loss. Once back online, SQL h
Check out this new framework to achieving digital manufacturing success. Learn about the top 3 areas teams need to consider! Identify a unified end goalAlign it with the most impactful use casesFormulate a lasting strategy that resonates their long-term visionDiscover More!
Create An Application Key Guide OverviewStep 1: Learning Path OverviewStep 2: Create Application KeyStep 3: Next Steps Create An Application Key Guide Overview In order for a device to send data to the Platform, it needs to be authenticated. One authentication method is to use an Application Key. Application Keys, or appKeys, are security tokens used for authentication in ThingWorx. They are associated with a given User and have all of the permissions granted to the User with which they are associated. This is one of the most common ways of assigning permission control to a connected device. NOTE: This guide's content aligns with ThingWorx 9.3. The estimated time to complete this guide is 30 minutes. Step 1: Learning Path Overview This guide explains the steps to create a ThingWorx Application Key, and is part of a Learning Path.You can use this guide independently from the full Learning Path. If you want to learn to create a ThingWor
The system user can become a vital point for properly yet conveniently securing your application.From the ThingWorx helpcenter:The system user is a system object in ThingWorx. With the System User, if a service is called from within a service or subscription (a wrapped service call), and the System User is permitted to execute the service, the service will be permitted to execute regardless of the User who initially triggered the sequence of events, scripts, or services. http://support.ptc.com/cs/help/thingworx_hc/thingworx_7.0_hc/index.jspx?id=SystemUser&action=showA few important notes to remember:It is not possible to log in as a system userAdding a system user to the Administrators group will not grant it the administrator permissionsAdding a system user to the Everyone organization will not grant it the same visibilityAs an option, one of the posts on our community provides a script to assign all of the permissions to the system user for a one time set up:https://community.thi
Tune in to The Lean Manufacturer podcast where expert guests bring their outside view of the IIoT and discuss various aspects of manufacturing. Over the course of the series, we’ll cover some of the most important ways the IIoT can maximize manufacturing efficiency and bring value to your organization, including the need for reducing planned and unplanned downtime, enabling operational efficiency, ensuring digital continuous improvement, and so much more.
QuestionDid you know... today April 9th is #WorldIoTDay?AnswerToday, we celebrate #WorldIoTDay. Help us do that by sharing your top IoT stories!In addition, watch out for posts, videos, blogs and other activities throughout the web, in social and over YouTube.
Learn why PTC was recognized an outright leader in the global IoT market. Get your complimentary copy of the SPARK Matrix (TM) report.
Note: The following tutorial are based on a Thingworx/CWC 9.5. Steps and names may differ in another version.ContextAs a human reaction, the tracked time displayed may be misperceived by the Operator. It can lead to a reject of the solution. CWC doesn’t have (yet?) the capability to configure the visibility to hide the timer. The purpose of this tutorial is to create a quick and straight to the point customization to hide the timer in the execution screen. All other features, services and interfaces are left untouched. As a big picture, here are the 6 modifications you will need to do:Modify the 4 mashupsModify 2 values in 2 tables of the MSSQL database StatusThe mashup containing the timer is PTC.FSU.CWC.Execution.Overview_MU. It is easy to duplicate it and hide the timer widget (switch the visible property to false). But now, how to set it in the standard interface? In order to do it, you need to duplicate the mashups linked to the Execution.Overview_MU
I created this recently for another group - might be useful Video Link to Create a Database connection to you Postgres Thingwork Database
NOTE: Even though I have tried on ODataConnector and SwaggerConnector, these steps below should be working for all the Thingworx Integration Connectors viz. GenericConnector, HTTPConnector, ODataConnector, SAPODataConnector, SwaggerConnector, WindchillSwaggerConnector. This document guides you to add a custom header in any Thingworx Integration connector. Step 1. Create a Datashape say "CustomHeadersDataShape" and add a string field with Name the same as the header name you want to add. In this case, I want to add a header called "Prefer" so it will look something like Step 2: Go to the Integration Connector which you want to add this custom header. Navigate to "Services". Under the "Inherited Services", edit/overwrite the "GetCustomHeaderParameters" service by clicking on the edit (pencil) icon. Step 3: In the JavaScript Code sniped section add below code snipped var params = { infoTableName : "InfoTable", dataShape
Welcome to the ThingWorx Analytics Training Course! Through these 11 modules, you will learn about:ThingWorx Analytics, and how it integrates into the ThingWorx platformPredictive analytics use cases, and what successful ones requireBasic data profiling methods, and how they help you build a meaningful predictive modelData transformation & feature engineering, and how to build an analytics ready datasetDescriptive analytics in the form of Signals and ProfilesPredictive machine learning models, and how to validate themObtaining and interpreting predictive & prescriptive scoresTime series data, and how it differs from other types of data sets Different forms of anomaly detection It is recommended that you have access to an environment running ThingWorx and ThingWorx Analytics version 9.2+. There are exercises in some of these modules that will help you better understand how to use the software. If you don't have access to an environment, you may simply follow along
ThingWorx DevOpsBy Victoria Firewind, IoT EDCThis presentation accompanies a recent Expert Session, with video content including demos of the following topics: found here! DevOps is a process for taking planned changes through development, through testing, and into production, where they can be accessed by end users. One test instance typically has automated tests (integration testing) which ensure application logic is preserved in spite of whatever changes the developers are making, and often there is another test instance to ensure the application is usable (UAT testing) and able to handle a production load (load testing). So, a DevOps Pipeline starts with a task manager tasking out planned changes, where each task will become a branch in the repository. Each time a new branch is created, a new pipe is needed, which in this case, is produced by Docker Hub. Developers then make changes within that pipe, which
Step 3: Important Factors Step 3: Important Factors If the company cannot ship or deliver their products fast enough, that will cause food waste and less revenue. At the same time, having nonstop access to meaningful data about the logistics side of the company provides a new level of decision-making capabilities. Let’s first see what some of the pitfalls are that causes bad logistics or room for improvement. We can keep these items in mind as we work on our application. Customer behavior – More attention can be put on how customers are shopping in certain areas. It’s not enough to know what areas are buying the most products and send them more shipments. Deadhead miles and load management will help save unnecessary costs.Shipment tracking and route planning – The traveling salesman problem is one that scientists have been working on for ages. There is no one solution to this problem, but there are many bad ones. Planning methods and routes is almost magic, bu
Already have an account? Login
No account yet? Create an account
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.