1. A method comprising: obtaining software structure data identifying a plurality of application components associated with requested functionality; obtaining software logic data indicating interaction rules between the plurality of application components; storing the software structure data and the software logic data in memory; and coordinating an invocation of the plurality of application components at run time based on the software logic data.