Application frameworks are widely used in software engineering to support reuse by capturing the shared architecture among a family of applications. Their role in Web service construction has, however, been mostly ignored. Reuse in general has rather been considered in the context of Web service composition than as a means to use existing implementations to build new services with related functionality.
In this paper we discuss reuse in Web service development, focusing on families of Web services that share a common architecture and a set of functionalities. Techniques supporting reuse rely on identifying and managing variation points. We propose a categorization of possible variation points in service endpoints, WSDL descriptions, and business logic. A pattern-based approach for managing variation and specifying a Web service framework to an actual service application is introduced. The approach is applied to specify a sample Web service framework.