Tuscany SCA for C++ Samples - Calculator Sample
===============================================

This is a very simple sample to show how an SCA composite can wire together
two components to implement a Calculator service and expose that service as
a Web Service.

There are two sub projects in this workspace:
    - sample.calculator
      This contains the source code and SCDL artifacts for the SCA Calculator.
      composite implementing the sample Calculator.

    - sample.calculator.client
      A sample client which does a local call to the Calculator service.

Additionally, there is the sample.calculator.app.composite file. This 
describes the configuration of the SCA Calculator composite deployed to the 
SCA runtime.

See the README.html file for instructions to build and run this sample
