1. A method of generating an analytic solution, the method comprising the steps of: displaying in a user interface a plurality of input data sources and a plurality of output types; receiving, via the user interface, a selection by a user of one of the displayed plurality of input data sources and a selection by the user of one of the displayed plurality of output types; based in part on the selected output type and the selected input data source, executing a back chain reasoning process based on the selected output type and the selected input data source; based on the back chain reasoning process, determining (1) a final step of a workflow being a web service or a web-based applet generating output of the selected output type, (2) an initial step of the workflow being a web service or a web-based applet collecting input data from the selected input data source, (3) first multiple web services or web-based applets, each of the first multiple web services or web-based applets being a potential first intermediary step in the workflow between the initial and final steps, and (4) second multiple web services or web-based applets, each of the second multiple web services or web-based applets being a potential second intermediary step in the workflow between the initial and final steps, and the first and second multiple web services or web-based applets based in part on a description of input to the web service or web-based applet generating the output of the selected output type and a description of output of the web service or web-based applet collecting the input data from the selected input data source; displaying in the user interface the first and second multiple web services or web-based applets; receiving, via the user interface displaying the first and second multiple web services or web-based applets, a first selection by the user of a first web service or a first web-based applet as a first intermediary step in the workflow, the first web service being selected from the displayed first multiple web services or the first web-based applet being selected from the displayed first multiple web-based applets; receiving, via the user interface displaying the first and second multiple web services or web-based applets, a second selection by the user of a second web service or a second web-based applet as a second intermediary step in the workflow, the second web service being selected from the displayed second multiple web services or the second web-based applet being selected from the displayed second multiple web-based applets, the second intermediary step being different from the first intermediary step and the second selection being different from the first selection; executing the workflow that includes the initial step, the first web service or the first web-based applet as the first intermediary step, the second web service or the second web-based applet as the second intermediary step, and the final step; determining the output generated by the final step of the executed workflow that includes the first web service or the first web-based applet as the first intermediary step and further includes the second web service or the second web-based applet as the second intermediary step does not satisfy a business objective; in response to the output not satisfying the business objective, receiving, via the user interface displaying the first multiple web services or web-based applets and displaying the second selection of the second web service or the second web-based applet, a third selection by the user of a third web service or a third web-based applet as a replacement of the first selection as the first intermediary step in the workflow, the third web service being selected from the displayed first multiple web services, or the third web-based applet being selected from the displayed first multiple web-based applets, and the third selection being different from the first selection; updating the workflow to include the initial step, the third web service or the third web-based applet as the first intermediary step, the second web service or the second web-based applet as the second intermediary step, and the final step, the third web service or the third web-based applet being a replacement of the first web service or the first web-based applet as the first intermediary step in the workflow, and the second web service or the second web-based applet being unchanged from the second intermediary step in the workflow executed prior to the step of updating; executing the updated workflow; determining the output generated by the final step of the executed updated workflow that includes the third web service or the third web-based applet as the first intermediary step and the second web service or the second web-based applet as the second intermediary step satisfies the business objective; and based on the output generated by the final step of the executed updated workflow satisfying the business objective, determining the updated workflow is the analytic solution; determining a report generation web service whose output is a report that includes correlations and connections among categories and features of data from the selected input data source, wherein the step of receiving the selection of one of the displayed plurality of output types includes receiving a selection of the report that includes the correlations and the connections among the categories and the features of the data from the selected input data source; based on the selected input data source being a collection of documents, determining that one or more taxonomies over the collection of documents is an input required by the report generation web service, the one or more taxonomies divide the data into meaningful groups characterized by the categories and the features, wherein the step of receiving the selection of one of the displayed plurality of input data sources includes receiving a selection of the collection of documents; determining a taxonomy creation web service whose output is the input required by the report generation web service; determining that relevant content is an input required by the taxonomy creation web service, the relevant content being content that is from a selected subset of the documents and that remains after a systematic removal of irrelevant content from the selected subset of the documents using clustering or rule-based filters; determining an irrelevant content removal web service whose output is the input required by the taxonomy creation web service; determining the selected subset of the documents is an input required by the irrelevant content removal web service, the selected subset of the documents being selected from the collection of documents based on a keyword, a structure, and a category of the one or more taxonomies; determining a document subset selection web service whose output is the input required by the irrelevant content removal web service and whose required input is the collection of documents; and determining an ordered arrangement of web services which is (1) the document subset selection web service, (2) the irrelevant content removal web service, (3) the taxonomy creation web service, and (4) the report generation web service, wherein the step of determining the final step of the workflow includes the step of determining the report generation web service, wherein the step of determining the initial step of the workflow includes determining the document subset selection web service, and wherein the steps of displaying the plurality of input data sources and the plurality of output types, receiving the selection of one of the displayed plurality of input data sources and the selection of one of the displayed plurality of output types, executing the back chain reasoning process, determining the final step, the initial step, the first multiple web services or web-based applets, and the second multiple web services or web-based applets, displaying the first and second multiple web services or web-based applets, receiving the first selection of the first web service or the first web-based applet, receiving the second selection of the second web service or the second web-based applet, executing the workflow, determining the output generated by the final step of the executed workflow does not satisfy the business objective, receiving the third selection of the third web service or the third web-based applet, updating the workflow, executing the updated workflow, determining the output generated by the final step of the executed updated workflow satisfies the business objective, determining the updated workflow is the analytic solution, determining the report generation web service, determining that the one or more taxonomies is the input required by the report generation web service, determining the taxonomy creation web service, determining that the relevant content is the input required by the taxonomy creation web service, determining the irrelevant content removal web service, determining the selected subset of the documents is the input required by the irrelevant content removal web service, determining the document subset selection web service, and determining the ordered arrangement of the web services are performed by at least one computer.