Store Sample
======================================

This is a sample store scenario that is used as a getting started guide
for Tuscany SCA. For detailed information, please see:

http://tuscany.apache.org/getting-started-with-tuscany.html

or

http://tuscany.apache.org/getting-started-with-tuscany-using-tuscany-eclipse-plugin.html


Building And Running The Sample Using Ant
-----------------------------------------
With the binary distribution the sample can be built using Ant as follows:

cd store
ant compile

and then, to run:

ant run

Once the store application is running use your browser to visit the following
URL:

http://localhost:8080/store
