Researches conducted around Web service description use more and more of semantic models to provide an automatically interpretable representation. However, we identified gaps in current approaches that generate semantic ambiguity and impertinence at Web service matching and discovery. To address these shortcomings we propose contributions about semantic Web service description and discovery. As for the Web services description, we have defined a language based on a W3C Recommendation. In addition to a semantic business annotation of service components, our main contribution about the semantic description is to specify the nature of these annotations using a technical ontology that we have defined. This ontology merges several semantic concepts of web services that we identified in existing approaches and may include other concepts that can be defined later without changing our description language or our matching techniques. We also defined a matching algorithm between a service request and published service descriptions. This algorithm is based on matching between elements of a service request and descriptions of published services. This matching is may be computed by three aggregation techniques of the results of those elements’ matching. The algorithm takes advantage of the semantic description we have defined. It was implemented in a semantic web services registry and was also compared to referenced algorithms. The experiments clearly demonstrate the effectiveness of our approach in terms of response time and precision