1. A method for predicative traffic steering over a software defined network (SDN), comprising: programming network elements in the SDN to forward an incoming traffic flow to an application-layer analysis device; receiving application-layer analysis results from the application-layer analysis device, wherein the application-layer analysis results provide association between at least one network-layer parameter, at least one application-layer parameter, and at least one application-layer service associated with the at least one application-layer parameter; and steering subsequent incoming traffic flows to at least one server configured to provide the at least one application-layer service based on the application-layer analysis results.