| Chat WebApp Sample |
| ================== |
| This sample demonstrates the SCA DWR binding to implement the classic Ajax sample |
| of a chat application which allows multiple users to chat from their browsers. |
| |
| The README in the samples directory (the directory above this) provides |
| general instructions about building and running samples. Take a look there |
| first. |
| |
| As this sample provides a web app there is a manual step where the WAR file |
| that contains the sample is copied to your web app container. If you just want |
| to give this sample a go deploy the WAR file (target/sample-chat-webapp.war) |
| to your web application server. |
| |
| Once the web app is deployed use your browser to visit the following URL; |
| |
| http://localhost:8080/sample-chat-webapp |
| |
| The port and hostname will of course vary depending on your local installation. |
| |
| Sample Overview |
| --------------- |
| The sample provides an SCA component which has an SCA service using the SCA DWR |
| binding and an SCA reference also using the DWR binding. The component implementation |
| simply forwards every invocation of the service as an invocation on the reference. The |
| component reference is scoped by the composite so every active client of the composite |
| will receive every message sent to the component service, thus implementing the chat |
| application with very little code. |
| |
| chat-webapp/ |
| src/ |
| main/ |
| java/ |
| sample/ |
| ChatService.java - service interface |
| ChatServiceImpl.java - service implementation |
| resources/ |
| chat.composite - the SCA assembly for this sample |
| webapp |
| chat.html - the html UserInterface for this application |
| META-INF/ |
| sca-contribution.xml - specifies the composite to be deployed |
| WEB-INF/ |
| web.xml - defines the listener that starts up the |
| Tuscany SCA runtime |
| |
| pom.xml - the Maven build file |
| |
| Building And Running The Sample Using Maven |
| ------------------------------------------- |
| With either the binary or source distributions the sample can be built and run |
| using Maven as follows. |
| |
| cd chat-webapp |
| mvn |
| |
| Again this should result in a war file (sample-chat-webapp.war) in the target |
| directory. Follow the steps described in the previous section for running the web |
| app and for the expected results. |
| |
| |