11. A computer system for managing objects in a data-driven management application, the system comprising: a processor and memory configured to execute software instructions; a template store configured to provide persistent storage for object templates, wherein a template represents an information technology (IT) object in an IT management software application, and wherein an object is a software data structure that has significance to a business organization, wherein each object has a defined type, role for each type, and can have one or more associated relationships with other object types; a template authoring component configured to allow a template author to define an object template through a user interface; a template installation component configured to provide a process for installing new templates to a management application object model; an object model store configured to store object types, instances, and relationships for a particular installation of a management application; an object model management component configured to maintain an in-memory model of an object model stored by the object model store; a template selection component configured to receive a selection of a template from a user that the user wants to apply to an object instance; and a template processing component configured to apply a selected template to create a new object instance or modify an existing object instance, wherein the template processing component receives a selected template from the template selection component, loads the template, and applies one or more properties and relationships set in the template to create a new object instance or modify an existing object instance, wherein in the case of modifying the object instance, the object instance exists before applying the template, and wherein the template includes multiple levels of objects such that applying the template comprises identifying at least one sub-object of the object instance that matches a hierarchical pattern described in the template and applying properties of the sub-object specified in the template to the identified sub-object.
11. A computer system for managing objects in a data-driven management application, the system comprising: a processor and memory configured to execute software instructions; a template store configured to provide persistent storage for object templates, wherein a template represents an information technology (IT) object in an IT management software application, and wherein an object is a software data structure that has significance to a business organization, wherein each object has a defined type, role for each type, and can have one or more associated relationships with other object types; a template authoring component configured to allow a template author to define an object template through a user interface; a template installation component configured to provide a process for installing new templates to a management application object model; an object model store configured to store object types, instances, and relationships for a particular installation of a management application; an object model management component configured to maintain an in-memory model of an object model stored by the object model store; a template selection component configured to receive a selection of a template from a user that the user wants to apply to an object instance; and a template processing component configured to apply a selected template to create a new object instance or modify an existing object instance, wherein the template processing component receives a selected template from the template selection component, loads the template, and applies one or more properties and relationships set in the template to create a new object instance or modify an existing object instance, wherein in the case of modifying the object instance, the object instance exists before applying the template, and wherein the template includes multiple levels of objects such that applying the template comprises identifying at least one sub-object of the object instance that matches a hierarchical pattern described in the template and applying properties of the sub-object specified in the template to the identified sub-object. 16. The system of claim 11 wherein the template authoring component is further configured to output a management pack that the template author or an administrator can apply to one or more installations of a data-driven management system, wherein a management pack is a form of portable template store that may be transferred between installations.