Tutorial for the Edge SDKs > AlwaysOn SDKs: Connecting Your Devices to ThingWorx
  
AlwaysOn SDKs: Connecting Your Devices to ThingWorx
Before we begin, here are a few definitions to help you understand the ThingWorx world:
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.
Your devices collect data and respond to commands. How do you get that data to the ThingWorx platform? You could use REST Web Services. While that solution has a high connection overhead, it does run over HTTP. You could use MQTT, but that solution requires an additional MQTT server and additional open ports. The figure below illustrates these two solutions.
This figure also illustrates a third solution. If you need a fast connection that stays on continuously so that the devices are always ready to execute commands and the ThingWorx platform is always ready to receive your data, theThingWorx AlwaysOn over HTTP/HTTPS solution provides that connection. Further, the connection will use existing open ports on your firewall. The ThingWorx Edge SDKs provide this connection for your devices because they communicate with ThingWorx using the ThingWorx AlwaysOn protocol.
Let's take a closer look at the AlwaysOn protocol..