A mashup is a web page or application that combines data from two or more sources so as to create new services or enhance original services. Mashup technique is usually implemented in web-based applications at web browser via drag-and-drop actions. These web-based applications usually require extra programming efforts when integrating with a non-web application, and they usually cannot drop out the APIs style programming. The developers require indicating specific data source for their new mashup applications, and usually the functions of these applications are limited due to developers' design in developing time. This kind of programming style is difficult to mashup more data sources coherently, and it is high coupling, resource limited, and difficult to be extended. To solve these issues, this paper proposes a uniform and coherent mashup technique based on the OSGi (Open Service Gateway Initiative) framework. OSGi is a module system and service platform that implements a complete and dynamic component model. By using the OSGi's dynamic and flexible features, applications could be easily to deploy, remove, discovery, and combine with each other. The key features of proposed mashup technique include the definition of uniform identity terms and invoking chains. The uniform identity term is used to match each application service. Developers can leverage non-web mashup applications by declaring the simple definition of uniform identity term without providing and using any APIs. The invoking chains could link and combine relative application services or data with unlimited length and irregular mixing. After that, the system could build up invoking chains to perform mashup technique automatically. Therefore, developers could mashup certain application functions or data to unknown applications in runtime phase. Finally, we present two different use cases to evaluate the capabilities of the proposed technique.