1. A computer-implemented method of automatically matching schemas comprising: extracting schemas from sources and targets, using a computer; extracting source and target attributes from said schemas, using said computer, wherein each source schema extracted from said sources will have multiple source attributes and each target schema extracted from said targets will have multiple target attributes; representing said source attributes and said target attributes as nodes in a bipartite graph, using said computer, wherein said bipartite graph has edges between source and target nodes that are related to each other; defining a plurality of similarity scores between each set of related nodes, wherein each of said similarity scores is based on a different context-specific cue of said attributes that said nodes represent, using said computer, wherein context-specific cues comprise lexical name, semantic name, type, structure, and functional mappings; computing an overall weight for each edge in said bipartite graph by combining said similarity scores of each set of nodes that form an edge, using said computer; obtaining an optimal matching between said source and target schemas by maximizing the number of nodes matched and maximizing the weight of selected edges to produce a matching score, using said computer; ranking such matching according to weights of said edges between said related nodes, for matchings having the same number of nodes, using said computer; and outputting the matching nodes from said computer, said extracting of said schemas from said sources and targets comprising matching an output message of an operation in a source to an input message of a target.