8. A server system for performing a search of a virtual repository formed from a plurality of repositories, each repository of the virtual repository being associated with a separate database system, the server system comprising a server computer having: a query processor apparatus receiving from a client computer having an initiator a string-based search expression, the query processor apparatus including a parser for generating an expression tree of nodes based on the string-based search expression, one or more of the nodes of the expression tree being an attribute node, each attribute node corresponding to an attribute included in the string-based search expression, the parser adding repository-location information to the expression tree by associating each attribute node with metadata to identify the repositories of the virtual repository that support the one or more attributes included in the search expression, each repository of a plurality of repositories being identified by the metadata associated with the one or more attribute nodes; one or more repository adapters generating, for each repository identified by the metadata associated with the one or more attribute nodes, a query expression specifically for that repository based on the string-based search expression; and wherein the parser determines whether sub-trees of a particular node of the expression tree have attribute nodes associated with metadata identifying different types of repositories, and, if the metadata associated with the attribute nodes identify different types of repositories, constructs the particular node as a federation node for merging search results obtained by the sub-trees, and searching each repository identified by the metadata associated with the one or more attribute nodes using the query expression specifically generated for that repository, wherein the query processor apparatus returns a search result to the initiator of the string-based search expression.
8. A server system for performing a search of a virtual repository formed from a plurality of repositories, each repository of the virtual repository being associated with a separate database system, the server system comprising a server computer having: a query processor apparatus receiving from a client computer having an initiator a string-based search expression, the query processor apparatus including a parser for generating an expression tree of nodes based on the string-based search expression, one or more of the nodes of the expression tree being an attribute node, each attribute node corresponding to an attribute included in the string-based search expression, the parser adding repository-location information to the expression tree by associating each attribute node with metadata to identify the repositories of the virtual repository that support the one or more attributes included in the search expression, each repository of a plurality of repositories being identified by the metadata associated with the one or more attribute nodes; one or more repository adapters generating, for each repository identified by the metadata associated with the one or more attribute nodes, a query expression specifically for that repository based on the string-based search expression; and wherein the parser determines whether sub-trees of a particular node of the expression tree have attribute nodes associated with metadata identifying different types of repositories, and, if the metadata associated with the attribute nodes identify different types of repositories, constructs the particular node as a federation node for merging search results obtained by the sub-trees, and searching each repository identified by the metadata associated with the one or more attribute nodes using the query expression specifically generated for that repository, wherein the query processor apparatus returns a search result to the initiator of the string-based search expression. 11. The server system of claim 8 , wherein each repository adapter translates at least a portion of the string-based search expression into the query expression specifically generated for one of the repositories to be searched.