1. A method for provisioning a service on a communication network, comprising: receiving a service order comprising a service request, the service request relating to a service provided on a communication network; analyzing the service order to determine: a plurality of network elements to provision to complete the service request; and one or more network resources of the communication network required to complete the service request; retrieving a configuration profile for each of the plurality of network elements; reserving the one or more network resources of the communication network required to complete the service request; preparing a service template for each of the plurality of network elements using the configuration profile for each of the plurality of network elements, the service templates capable of being delivered to respective network elements for execution; and delivering each service template to a respective network element for execution to fulfill the service order.