ThingWorx Edge SDKs and WebSocket-based Edge MicroServer (WS EMS)

ThingWorx Edge SDKs

Build robust, secure, full-featured edge integrations and gateways for any platform using the C, .NET, Java, iOS or Android SDK.

Java SDK

The Java SDK is especially useful if you are integrating with an application that uses a Java-based API. While applications based on the Java SDK tend to use more RAM, processing power, and disk space than a C SDK equivalent application, they typically take less time to develop. To use it, you will need a platform with a supported Java Virtual Machine.

How to Connect to ThingWorx
Your edge devices collect data and respond to commands. How do you get that data to the ThingWorx platform? It is possible to use REST Web Services over HTTP/HTTPS. However, that option tends to have a high connection overhead. Another alternative is MQTT, which requires a server and additional open ports.
If you need a fast connection that stays on continuously and is always ready to relay your data to the server and execute commands using existing open ports on your firewall, the ThingWorx Edge SDKs will provide this connection for your devices. These SDKs use the ThingWorx AlwaysOn protocol, which is based on the open WebSockets standard RFC6455 (https://tools.ietf.org/html/rfc6455). In addition, for a configurable, out-of-the-box solution, consider the ThingWorx WebSocket-based Edge MicroServer (WS EMS).



ThingWorx WebSocket-based Edge MicroServer (WS EMS)

The ThingWorx WebSocket-based Edge MicroServer works with edge devices or data stores that need to connect to the over the Internet. WS EMS also supports edge devices or data stores that are behind firewalls at a remote site, allowing secure, efficient communication back to the ThingWorx platform.

ThingWorx Edge SDKs

The ThingWorx Edge SDKs are collections of classes, objects, functions, methods, and variables that provide a framework that you can use to develop applications easily. Your applications can send data securely from your edge devices to the ThingWorx platform. Edge SDKs provide tools for developers experienced in C, .NET, Java, Android, and iOS programming languages.

• The Edge is one or many connected devices in an IoT solution.

• Edge development is developing the IoT-level logic that will run at the Edge.

• To enable ThingWorx Edge development, Edge SDKs are maintained in multiple languages.

What is the ThingWorx AlwaysOn Protocol?

First of all, the ThingWorx AlwaysOn protocol is based on the WebSockets protocol, which “upgrades” HTTP to permit it to retain its connection and exchange binary information. .

Your devices can use the WebSockets protocol (denoted as ws:) during your upgrade request, or for secure communications, the WebSockets Secure protocol (denoted as wss:).

For example:GET ws://websocket.example.dcom/HTTP/1.1
Origin: http://example.com Connection: Upgrade
Host: websocket.example.com
Upgrade: websocket

HTTP/1.1 101 WebSocketProtocol Handshake
Date: Web, 16 Oct 2013 10:07:34 GMT
Connection: Upgrade
Upgrade: WebSocket

If it is just WebSockets, why do you need an SDK?

These SDKs provide versatile and powerful sets of features.

Here are some of those features (with the SDKs that support them in parentheses):

• Primitive persistence (all)

• Service execution (all)

• Subscriptions to property changes (all)

• Offline operation (C SDK, .NET SDK, WS EMS only)

• Tunneling (C SDK, .NET SDK, Java SDK, WS EMS only)

• File transfers (C SDK, .NET SDK, Java SDK, WS EMS only)

• Software Content Management support (C SDK, .NET SDK, WS EMS only)

• Connection monitoring and duty cycle (all)

First Edge Device Connected to Thingworx as below.

Leave a Comment

Your email address will not be published. Required fields are marked *

Scroll to Top