Abstract In the contemporary world of information technology you find a multitude of applications and systems covering a broad spectrum of areas of need in different companies. One effect of this multitude of programs is the difficulty to make them exchange information with each other or to collaborate, since they are developed by different programming languages for different platforms, with different standards and different data formats. Our aim with this work is to describe how it is possible to tie these programs together to make them actually communicate with each other in order to exchange information, share their native methods and also to become a part of the overall business processes. In this integration task you will, among other things, find different levels of application integration such as data level, method level, application interface level and user interface level integration. Application integration also involves hardware components, called middleware, that facilitate the physical connection between applications. There is a range of different middleware products offered today on the market. The functionalities of those products varies greatly depending on which technology or technologies they are built around and which vendor they come from. In order to make a connection to a real life situation we have made up a company with a need of integration. By trying to choose a solution for this company we discuss what to integrate, data, methods etc, and the technical solution, middleware product, which might be useful to integrate the different kind of applications in our imaginary company. Finally we have come up with some conclusions in our work. These are both of a more general art and also a conclusion specific to our case study.