Turning Web Applications into Mashup Components: Issues, Models, and Solutions