Current web services approaches have many limitations, especially with description, discovery and integration mechanisms. In this paper we present a novel software architecture called aspect-oriented web services (AOWS) which addresses these problems. AOWS uses descriptions of cross-cutting concerns between web services to give more complete descriptions of services, supporting richer dynamic discovery and seamless integration. We describe our architecture, a formal specification of it and an implementation using .NET web services technology.