In this lab you will explore the benefits of using enterprise service bus for providing asynchronous and real-time communication to a web application. Finally you will deploy your application into the cloud by running and set-up an ec2 instance.
The project consists on providing a solution to a project that needs to develop a notification system.
Instant Communities is a project coordinated by the University of Trento which aims at providing a web-space for real-time creation and management of “communities of interest” (http://instantcommunities.net/).
One of the main features of the tool is to allow people to write comments before, during and after a presentation.
The Problem is that the UI which is a web page needs to query every X seconds to the api and analyze if a new comment was posted in order to show it to the user. If the query is performed very often we get the feeling of interacting in real time, but this involves the api server to handle each request, and therefore creating unnecessary traffic especially when many clients are connected.
The project needs a notification system in order to show to the user in realtime, while browsing the web page, when someone post a new comment without overloading the api server and the web ui.
The task consists on providing an enterprise service bus for supporting the notification system of the instant community project.
The esb application will connect the web application to the bus using the ajax connector, and will deliver the message only when a new comment arrives. In this way the web application does not have to perform any logic or pooling request to the backend and check if a new message was posted.
Your application should be listening a jms topic where the new comment will be sent. In this way the api server only needs to send one message to the jms bus and it will be delivered to all the connected web page subscribers in real-time.
The notification should show the comment and the name of the person who post it.
Deployment
The application have to be deployed into an ec2 instance. Each group will have a key in order to run one ec2 instance using the BPM AWS API, install everything that is needed (mule, active mq, etc) and send the link to the web page application together with the info of how to test (topic, broker url, etc).
Info
The project should be committed in the svn by next class as well as the info of how to test it on the running ec2 instance.
Groups of 2 people
The style of how messages are showed will be taken into consideration
Total points 10