I am just starting out with ThingWorx edge connectivity. I want to know if it is possible to bring the Analytics and Mashup on the Edge side.
That is, even if the connectivity with the ThingWorx server breaks, the solution will still be able to perform analytics and host a dashboard on the edge side.
For reference, I am attaching a picture showcasing azure edge solution. I am trying to determine if something like this can be done via ThingWorx and how.
Any help would be greatly appreciated.
Hi @sonali92jain I don't think for your purpose EMS alone will be sufficient to serve Mashups to the client, since EMS is used for connecting to ThingWorx and if you only have one ThingWorx instance and if that goes down EMS will lose it's connectivity
To add to Sushant's response, ThingWorx Analytics from version 8.1 onward is completely reliant on ThingWorx Foundation for Service Handling (APIs and Data upload) as well as the Analytics Builder Mashup.
If ThingWorx goes down, Analytics will not be able to be used.
So, what I am understanding here is that Thingworx Edge Infrastructure only supports secure connectivity for remote devices that cannot make TLS connections. All the computations and decision making will be happening at the ThingWorx foundation level. If the connectivity breaks, the functioning/computing at the edge comes to a halt.
Wikipedia defines Edge Computing as “pushing the frontier of computing applications, data, and services away from centralized nodes to the logical extremes of a network. It enables analytics and data gathering to occur at the source of the data."
Am I correct to assume that ThingWorx IoT Suite does not provide "edge computing" in its true sense ?
@sonali92jain sorry for some delay in getting back to this thread. I'd leave the analytics related question to @nsampat . But edge computing could be as simple as adding two sensor values and how you want to do this computation would depend on your preference together with what capability does the EDGE device provide.
If the EDGE devices are resource constrained with limited memory and compute power you probably would just want to fetch those values to the ThingWorx platform and work with the data as needed.
If the EDGE device does have sufficient resources something like Jetson platform to perform required computation you could look into creating applications e.g. in Java/.NET/C and connect to ThingWorx using one of the ThingWorx EDGE SDKs
If you are writing your application in something like Python, the other option I could think of is that you can call those Python scripts via the LuaScripts which can send data to ThingWorx platform via the Edge Microserver
In either scenarios you need a working ThingWorx server, in case the connectivity to ThingWorx goes down you could look into configuring offline data store on these EDGE devices so that it could pool up all the data while there's connectivity issues to ThingWorx and as soon as connectivity is restored all of the pooled data is pushed to ThingWorx. This feature is available in both ThingWorx Edge SDKs & Edge Microserver (links shared above.)