| Customer Dojo RPC Sample |
| =========================== |
| |
| Note. This sample is currently not working correctly on WebSphere - see TUSCANY-1990 |
| |
| This sample demostrates the SCA JSONRPC binding using a simple web app that |
| uses the RPC support of the Dojo Toolkit to an SCA service. |
| |
| 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-helloworld-dojo-webapp.war) |
| to you web application server. |
| |
| Once the web app is deployed use your browser to visit the following URL; |
| |
| http://localhost:8080/sample-helloworld-dojo-webapp |
| |
| The port and hostname will of course vary depending on your local installation. |
| |
| See also the similar helloworld-jsonrpc-webapp sample which also uses the SCA JSONRPC binding |
| but uses SCA scaDomain.js script on the client instead of the Dojo Toolkit. |
| |
| Sample Overview |
| --------------- |
| The sample provides a single service with an operation that reflects |
| a greeting back to the caller. The service is exposed using the JSONRPC |
| binding. The web app provided shows how the Dojo Toolkit JSON-RPC support can be |
| used to invoke the SCA service. |
| |
| The web app provided shows how the service can be called by using the DOJO toolkit. |
| |
| helloworld-dojo-webapp/ |
| build-dojo.xml - This file is an Ant script used by the |
| sample build process to download the Dojo Toolkit |
| and get it included in the WAR file |
| for use by the sample. |
| src/ |
| main/ |
| java/ |
| helloworldjsonrpc/ |
| HelloWorldService.java - service interface |
| HelloWorldServiceImpl.java - service implementation |
| resources/ |
| jsonrpc.composite - the SCA assembly for this sample |
| webapp |
| dojo/ - the Dojo toolkit (this directory is created only |
| when you build the samples from the source distribution) |
| 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 |
| HelloWorldJSONRPC.html - the web application that calls the |
| SCA service via JSONRPC |
| style.css - style sheet |
| |
| helloworld-jsonrpc-webapp.png - a pictorial representation of the |
| sample .composite file |
| build.xml - the Ant build file that unpacks the |
| dojo installation |
| pom.xml - the Maven build file |
| |
| Building And Running The Sample Using Ant |
| ----------------------------------------- |
| With the binary distribution the sample can be built using Ant as |
| follows |
| |
| cd helloworld-dojo-webapp |
| ant package |
| |
| This should result in a war file (sample-helloworld-dojo-webapp.war) in the target |
| directory. Copy this war file to your web app deployment directory in your |
| web app container. |
| |
| The process for getting the web app running will depend on which web app container |
| you are using. For example, if you are using Tomcat then it is simply a matter |
| of copying the WAR file to the webapps directory. |
| |
| Once the web app is deployed use your browser to visit the following URL; |
| |
| http://localhost:8080/sample-helloworld-dojo-webapp |
| |
| The port and hostname will of course vary depending on your local installation. |
| |
| You should see a web page that allows you to send messages, via JSONRPC, to the |
| application running in the Tuscany SCA Runtime |
| |
| 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 helloworld-dojo-webapp |
| mvn |
| |
| Again this should result in a war file (sample-helloworld-dojo-webapp.war) in the target |
| directory. Follow the steps described in the previous section for running the web |
| app and for the expected results. |
| |
| |