ThingWorx Edge .NET SDK > Installing and Navigating the Directories of the ThingWorx Edge .NET SDK > How the .NET SDK Interacts with ThingWorx Platform
  
How the .NET SDK Interacts with ThingWorx Platform
One goal of the ThingWorx .NET SDK is to enable you to create an application that communicates with ThingWorx platform, and introduces customized functionality for your specific machine/device.
Once you have created an application for your machine/device, your machine/device is represented in the ThingWorx platform as a thing (created using a RemoteThing thing template). It interacts with the ThingWorx platform as outlined below:
1. From ThingWorx Composer, use the RemoteThing thing template to create a thing that represents your client application. Multiple derivatives of the RemoteThing thing template are available. Choose the template that has the functionality your application requires (file transfer, tunneling, for example). After creating your thing, enable it.
2. Start your client application.
3. Your application attempts to connect to the configured ThingWorx platform, using the AlwaysOn protocol.
4. Once connected, your application attempts to authenticate with the ThingWorx platform, using an Application Key.
5. Upon successful authentication, your application sends a BIND message to the ThingWorx platform.
6. Once bound, the ThingWorx platform sends a NotifyPropertyUpdate message to your application.
7. Your application and the ThingWorx platform begin to exchange messages for property updates, service invocations, and event notifications. If the connection is lost, your application continues to attempt to connect with the ThingWorx platform, waiting the number of seconds configured between attempts
.