8. A computer-implemented method for recommending a tool associated with a functionality, the method comprising: receiving a user request at a client computing device, the user request comprising a search query with one or more keywords; identifying one or more verbs and nouns in the search query; based on the identified one or more verbs and nouns and a context of the user, executing the search query at one or more server computing devices to obtain a list of tools, wherein each tool is included in a corresponding service running in the one or more server computing devices and the list of tools are associated with one or more functionalities; based on the identified nouns and the context of the user, ranking the list of tools; displaying the ranked list of tools on a graphical user interface; receiving a selection of a tool from the displayed list of tools; and creating a tool instance corresponding to the selected tool, wherein the tool instance represents a proxy to a service including the selected tool and a handler in the tool instance manages ongoing interaction with the selected tool and provides a reference to a library class that manages the lifecycle of the created tool instance.
14. The computer-implemented method of claim 8 , wherein the instructions to selecting the tool, further comprise instructions to: dynamically loading a user interface associated with the tool, wherein the user interface includes a business logic corresponding to the selected tool.