The emergence of mashups made the reuse of applications easier by providing a simple solution to juxtapose applications. However, the resulting composite applications do not allow sharing data or create complex workflows. The only current way to do so is by composing applications at the functional level to create new services. Furthermore, user interfaces must be redesigned and regenerated in order to provide an interaction between user and this new service.This paper proposes a solution to this problem. The implemented approach enables to reuse user interfaces while composing services. This composition relies on a process that first abstracts the applications to be composed and the functional composition. Then, it achieves to a composition at the abstract level regenerating a concrete user interface in a target language. Also, thanks to a mixed-initiative composition framework, the several identified composition conflicts are then solved, either automatically or by a developer.