Mashup applications combine pieces of functionality from several existing, heterogeneous sources to provide new integrated functionality. This paper presents the design of an enterprise-oriented mashup tool that fully supports the construction of mashup applications. Our tool provides generic, reusable components to engineer mashup applications. It includes components for accessing heterogeneous sources, a component to combine data from different sources and components for building the graphical interface. The user builds graphically the mashup application by selecting, customizing, and interconnecting components. Unlike other proposals we: (1) use the Data Federation/Mediation pattern (instead of Pipes and Filters pattern) to express the data combination logic, (2) follow the RESTful architectural style to improve component reusability, and (3) reuse Java standard portal technology to implement the graphical interface of the mashup application.