1. A method for integrating a device with a software-defined networking (SDN) controller, comprising: receiving, by a device intermediary to a plurality of clients and a plurality of servers, a request to establish a communicative connection between a software-defined networking (SDN) controller and the device, the request to establish the communicative connection based on a device package specific to the device including a device model, a device script configured to integrate the device with the SDN controller and including one or more function call definitions, a functional profile including a default value for at least one parameter of the device, and a plurality of device-level configuration parameters specifying values of parameters utilized by the device; and receiving, by the device, a request to configure one or more functions of the device, the request to configure the functions of the device generated by the SDN controller via the device script of based on the device package, the request having a format specified by the device model and including values of parameters selected by the SDN controller using the device-level configuration parameters corresponding to the functions of the device to be configured, the device configuring the one or more functions responsive to receiving the request to configure the functions of the device; and wherein the device model comprises information relating to functions provided by the device to the SDN controller and configuration parameters of the functions provided by the device to the SDN controller.