What is the ThingWorx AlwaysOn Protocol?
The ThingWorx AlwaysOn protocol is based on the WebSocket protocol, which "upgrades" HTTP to permit it to retain its connection and exchange binary information. Your devices can use the WebSocket protocol (denoted as ws:) during your upgrade request, or for secure communications, the WebSocket 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 2019 10:07:34 GMT
Connection: Upgrade
Upgrade: WebSocket
If it is just WebSocket, why do you need the EMS or even an Edge SDK? The EMS and the SDKs provide versatile and powerful sets of features. The EMS provides an out-of-the-box solution, which is an application developed with the ThingWorx Edge C SDK.
Here are some of those features and the ThingWorx Edge products — Edge SDKs and ThingWorx Edge MicroServer (EMS) — that support them:
• Primitive persistence (all)
• Service execution (all)
• Subscriptions to property changes (all)
• Offline operation (C SDK, .NET SDK, EMS only)
• Tunneling (C SDK, .NET SDK, Java SDK, EMS only)
• File transfers (C SDK, .NET SDK, Java SDK, EMS only)
• Software Content Management support (C SDK, EMS only)
• Connection monitoring and duty cycle (all)