1. A method implemented in a computer, the method comprising: receiving, in the computer, input from one or more first users to generate a first ontology describing a software requirement including requested services; storing, in the computer, a second ontology describing software tools providing available services; receiving, in the computer, mapping input from one or more second users, the mapping input tying the first ontology describing the requested services to the second ontology describing the software tools providing the available services; and generating, by the computer, a software framework based on the mapping input received from the one or more second users, wherein the software framework includes connections between the requested services in the first ontology and the available services provided by the software tools described in the second ontology; performing semantic extraction and mapping to generate articles and a domain ontology for the semantic collaborative web site; and storing a third ontology to aid the semantic extraction.