1. A method for executing an application comprising: providing said application, wherein said application is partitioned into a plurality of partitions including business logic and one or more aspects, each of said business logic and one or more aspects including one or more code entities and one or more data entities; defining a first registration interface of an application programming interface for registering a code entity and associated input and output parameters; registering a provider of a first of said one or more aspects using said first registration interface, said registering defining said provider as a callback provider invoked from other code of said application programming interface that performs aspect weaving, said provider including a first code entity and a first data entity of the first aspect of the application; executing a second code entity of the business logic, wherein said executing said second code entity includes performing a call to said other code performing aspect weaving to obtain a second data entity of the business logic; executing said other code performing aspect weaving, wherein said executing said other code includes performing a callback to said provider of the first aspect to obtain the first data entity and using the first data entity to obtain the second data entity; and returning, by said other code performing aspect weaving, said second data entity to the second code entity, wherein said providing, said defining, said registering, said executing a second code entity, said executing said other code and said returning are performed using one or more processors.