Patent ID: 8726234

Claim:
At a computer system, a computer-implemented method of extending the functionality of a data-centric software application without requiring a user of the data-centric software application to write code for the extended functionality, the method comprising acts of: at one or more storage media of the computing system, instantiating a data-centric software application for execution by one or more processors of the computing system, the data-centric application comprising, business logic comprised of information and rules that define certain functionality in the form of actions that will be taken when certain situations arise, and a schema for storing the information and rules defining the business logic categorized and associated with items of data-centric application functionality; and extending the functionality of business logic without requiring a user to write code for the extended functionality, by performing the following further acts: receiving from a user of the computing system customization input that requires extending new functionality to at least one or more portions of the business logic, the customization input comprising rules on each of task flow, authorization policies, offline policies and referential integrity; the one or more processors formulating a representative model corresponding to the customization input received for the at least one or more portions of the business logic; the one or more processors applying the representative model to the schema to generate a customized schema that extends the business logic of the data-centric software application consistent with the customization input received from the user, such that the customized schema comprises rules, instructions, and operating conditions that define how the extended business logic runs in the data centric software application extended in accordance with the customization input received from the user; and instantiating at the one or more storage media of the computing system the data-centric software application in accordance with the customized schema so that functionality of the business logic in the data-centric software application is extended to include the new functionality required by the user's customization input.