Semantic web services (SWS) are enriching web services with machine processable semantics. To be implemented with less effort, SWS can reuse syntactic and semantic descriptions hidden under the source code of the existing web applications. For this end, we propose a framework for reengineering web applications, possibly already including some semantic technology, into WSMO-based SWS. The proposed framework consists in reverse engineering web applications towards conceptual models specified with a proposed UML profile, from what syntactic and semantic descriptions of new SWS are generated. A set of tools have been developed and some experiments have been carried out to evaluate and validate the proposed framework.