Patent ID: 8904363

Claim:
A method of transforming a software application from a server environment to a client environment, the method comprising: providing an entity model which defines a plurality of data sources; providing an application programming interface comprising stereotyped interfaces to the plurality of data sources defined by the entity model; creating a server instance of the software application comprising a plurality of components, at least one of which accesses data stored in the plurality of data sources by utilizing a server instantiation of the stereotyped interfaces; creating a server metadata model of the server instance of the software application, the server metadata model comprising settings and context data to which the at least one component of the server instance of the software application is responsive; creating a plurality of client metadata models for a plurality of client instances of the software application, each of the plurality of the client metadata models comprising: mapping the plurality of components in the server metadata model to a plurality of components in each of the client metadata models; providing settings and context data to which at least one component of a client application will be responsive; and mapping the settings and context data in the server metadata model to the settings and context data in each of the plurality of client metadata models; transforming the server instance of the software application into each of the plurality of client instances of the software application, wherein a first one of the plurality of client instances is specific to a first client environment, wherein a second one of the plurality of client instances is specific to a second, different, client environment, and wherein each of the plurality of client instances provides corresponding functionality in each environment, and wherein transforming the server instance of the software application into each of the plurality of client instance of the software comprises: replacing the server instantiation of the stereotyped interfaces with a client instantiation of the stereotyped interfaces; replacing the plurality of components specified in the server metadata model with the plurality of components specified in the plurality of client metadata models to which they are mapped; and replacing the settings and context data specified in the server metadata model with the settings and context data specified in the plurality of client metadata models to which they are mapped.