Patent ID: 7599901
Filing Date: 2009-10-06
Classification: G06N

Abstract:
1. At a computer system including a processor and system memory, the computer system also including a model execution engine for executing codeless software applications, the computer system communicatively coupled to one or more data stores, the model execution engine configured to understand application models that commingle data models along with business logic models in meta-data within the application models, the business logic models representing executable business logic rules in the metadata, a method for executing a codeless software application in response to receiving an event to apply business logic contained within a business logic rule to data in the one or more data stores, the method comprising: an act of accessing a application model for a codeless software application, the application model containing metadata representing a data model and containing metadata representing a business logic model for the codeless application such that the codeless application is constructed entirely in metadata, the data model including a schema representing data formats for data in a data store, the business logic model including business logic rules for applying business logic to data entities contained in the data store, the metadata representing the business logic model declaring how business logic rules for the codeless application are to operate, the business logic model including an index tree of one or more business logic rules represented in the meta-data of the business logic model, each business logic rule in the index tree identifying at least one data entity to which the business logic rule applies; an act of receiving an event related to data in the data store, the event including an identifier identifying a data entity in the data store; an act of identifying the data entity corresponding to the received event based on the identifier; an act of scanning the index tree to identify a business logic rule that is applicable to the identified data entity; an act of the processor invoking the model execution engine to apply the business logic of the indentified business logic rule to the identified data entity, applying the business logic of the identified business logic rule including: