Mashups are next generation of web applications. A mashup is a lightweight web application that is created by combining information or capabilities from more than one existing resources to deliver a new and integrated experience to the user. Mashups introduce a new class of integration techniques in enterprises for implementing situational applications (i.e. applications that come together to solve an immediate, transient and specific business problem). In a dynamic, complex and competitive enterprise environment, it is impossible to predict and create all the future integrated applications. Enterprise mashups as a simple and quick solution helps small teams and individuals in an organization with limited knowledge in programming to create their desired integrated applications by combining and reusing internal resources of organization with resources published on the Internet. Currently there are many tools proposed by different software vendors to facilitate creating enterprise mashups. Although these tools facilitate creating enterprise mashups to some extent but still needs the mashup end-user to have some experiences in web technologies, information security and data structures of mashup components. Furthermore, the generated mashup is dependent on its components, so change or replacing a component is a complex and time-consuming task. This issue will be exacerbated in enterprise mashups that are created by knowledge workers. In this research, we aim to make creation of enterprise mashups semi-automatically by combining SOA (Service- Oriented Architecture), Semantic Web and Web 2.0 technologies. In addition, we propose a novel annotation mechanism to apply semantic descriptions and enterprise policies to the generated mashup.