A service-oriented approach to bridge the gap between Software Engineering and Human-Computer Interaction