As more semantic web services become on the Internet, it is feasible that users collaborate among them to save efforts in complex web solutions by sharing and reusing existing semantic web services, rather than building them from scratch. In this paper we focus on the problem of discovering and reusing web services at a high level of abstraction centered on the concept of pattern, that provides a logical view of a service composition and a great power of classification because it uses ontology concepts and relations. To support semantic discovery and reuse, we present an ontology-driven architecture that enables users to specify structured queries against to e base of abstract patterns and services.