In an enterprise environment many applications get connected each other in order to solve complex tasks. It is inevitable that these applications create a heterogen system. It is because each application was developed in a different time using the actual technology for the time being.
In the Java world the enerprise applications are written on some kind of application server. Application servers provides a lot of useful tools for the developers e.g. transaction handling, database access, security and communication with other systems. There are many application servers in the market which provide basicaly the same features but in a different fashion.
In my thesis I investigated after how can two applications communicate with each other on different application server despite the difference between their implementation. I chose IBM WebSphere 8.5 for the first application server, which is one of the most popular product in among big companies. For the other I used WildFly 8.1, formerly known as JBoss. This is a free software and it is rather popular with smaller companies.
During my work I studied the most popular options for integration and touched the related standards. I dedicated one chapter for every each, namely for the webservices (JAX-WS), the RESTful webservices (JAX-RS) and messaging (JMS).
At the end of every chapter I present a case study to show the result of findings. I have created a fictional complex system, called Virtual Marketing Company. The system consists four applications deployed to WebSphere and Wildfly (two for each). I will show how can we use the different technologies to communicate inter application servers. I created the examples in a way that each functionality got tested on both application servers.