Distributed ThingWorx Deployment
ThingWorx supports hub-and-spoke style federated deployments where the components of an enterprise application can run where it is the most appropriate for performance and autonomy. This design feature makes it easy to provide a distributed and tiered data storage and analysis capability.
For example, a central ThingWorx server (Hub) can connect to each of the plant-level ThingWorx servers (Spokes) to pull information together and aggregate it for display of regional or corporate-level views. Then, as users drill down into data, a plant-level server can propagate data to the central server.
There are multiple deployment scenarios supported by ThingWorx, including cloud (PTC or third party) and on-premises (on-site or in a corporate data center). If the customer solution is deployed globally, PTC recommends that servers be geolocated for optimal performance.
Federation is composed of multiple elements:
ThingWorx request servers — where all incoming requests are routed. A request may be initiated by a user accessing a Mashup or devices communicating with the Things. These servers scale based on number of connections and volume of data requests.
Thing servers — where the Things are running in memory and communicating with the request servers. These are memory-intensive servers since the actual logic is running on them. They can also be scaled horizontally based on memory and CPU limitations.
Data servers — where the actual application data is stored. These servers can also be scaled based on the amount of storage access that is required.
These different capabilities can be rolled up into one server or delegated across many servers to achieve the desired performance with the existing number of devices.
ThingWorx Federated Example: Connected Factories
List of Components (Per Factory)
Number of Components
ThingWorx Foundation Server
1
ThingWorx Database
1
List of Components (Corporate)
Number of Components
ThingWorx Analytics Database
1
ThingWorx Analytics Server
1
ThingWorx Foundation Server (with Analytics Extension)
1
ThingWorx Database
1
Was this helpful?