1. An industrial control device, comprising: a processor; and a memory communicatively coupled to the processor, the memory having stored therein computer-executable instructions, comprising: a server component configured to: expose an automation interface to a client application, wherein the automation interface is in communication with another industrial control device and comprises one or more classes of objects, including at least one attribute or method defined for each object, wherein the automation interface is configured to: assign a project object to the other industrial control device, the project object being associated with at least one program file object residing on the other industrial control device and at least one data file object residing on the other industrial control device; receive, from the client application, a request specifying the project object to upload from or download to the other industrial control device associated with the project object; and based on the project object specified in the received request, execute the request with the other industrial control device.