1. A method of defining a business object model comprising: defining a plurality of named logical types, field-sets, business objects and sub-objects, structures and enumerations that are referenced in the model by their names, wherein defining the business objects further comprises listing the plurality of their fields, each field having a type attribute referencing a logical type defined in the model, and field-sets, each field-set referencing a corresponding field-set defined in the model and the plurality of business object operations and sub-objects; wherein defining business objects and sub-objects further comprises marking a single field or a field-set with a key attribute, which indicates that the key is serial (for fields only), or is user-supplied, or is a reference to another object's key attribute; and wherein no two objects can both have their key fields marked as serial or marked as user-supplied with the same logical types, and wherein no two objects can both have their key field-sets marked as user-supplied and as referencing the same field-set defined in the business object model.
1. A method of defining a business object model comprising: defining a plurality of named logical types, field-sets, business objects and sub-objects, structures and enumerations that are referenced in the model by their names, wherein defining the business objects further comprises listing the plurality of their fields, each field having a type attribute referencing a logical type defined in the model, and field-sets, each field-set referencing a corresponding field-set defined in the model and the plurality of business object operations and sub-objects; wherein defining business objects and sub-objects further comprises marking a single field or a field-set with a key attribute, which indicates that the key is serial (for fields only), or is user-supplied, or is a reference to another object's key attribute; and wherein no two objects can both have their key fields marked as serial or marked as user-supplied with the same logical types, and wherein no two objects can both have their key field-sets marked as user-supplied and as referencing the same field-set defined in the business object model. 6. The method of claim 1 , wherein defining structures further comprises listing the plurality of: parameters, each parameter having a type attribute referencing a logical type defined in the model, and a flag specifying if it is a scalar value or a list values; contained structures, wherein each contained structure either references a corresponding structure defined in the model or is defined in-line; and any additional extensible configuration including, but not limited to, references to presentation objects that this structure is a part of.