Getting Started with SCA C++ Milestone 1 Release

The first step would be to download the SCA C++ Milestone Release 1 from our downloads page.

System Requirements

In order to run Tuscany SCA there are some minimum requirements:

Software Download Link
Operating systems:
  • Windows XP SP2
  • Linux
Axis2C Release 0.92 http://ws.apache.org/axis2/c/download.cgi
Please download and follow the installation instructions. Ensure you can run the Axis2C samples
Tuscany SDO for C++ Milestone Release 1 http://incubator.apache.org/tuscany/download.html
Please download and follow the installation instructions
Java SDK 1.4 or later http://java.sun.com/javase/downloads/index.jsp
This is required for building and running the SCAGEN code generation tool, which is used when developing Tuscany SCA C++ components
Apache Ant 1.6 or later http://ant.apache.org
This is required for building the SCAGEN code generation tool, which is used when developing Tuscany SCA C++ components

Installing Tuscany SCA for C++

Getting Tuscany SCA for C++ working with the binary release on Linux

  1. Extract the binary tar package to a folder
  2. Set the TUSCANY_SCACPP environment variable to point to the directory that was just extracted
  3. Add the *install_dir*/lib directory to the LD_LIBRARY_PATH environment variable

Getting Tuscany SCA for C++ working with the source release on Linux

  1. Extract the source tar package to a folder <tuscany_sca>
  2. The following environment variables are required:
    • TUSCANY_SDOCPP=<path to installed Tuscany SDO>
    • AXIS2C_HOME=<path to axis2c version 0.92>
  3. Build the source with the following command sequence:
    • ./configure
    • make
    • make install
    NOTE: If you don't provide a --prefix configure option, it will by default install into /usr/local/tuscany/sca

Getting Tuscany SCA for C++ working with the binary release on Windows

  1. Unzip the supplied zip file to a folder
  2. Set the TUSCANY_SCACPP environment variable to point to the directory that was just unzipped
  3. Add the *install_dir*\bin directory to the PATH environment variable

Getting Tuscany SCA for C++ working with the source release on Windows

  1. Unzip the supplied source zip file
  2. The following environment variables are required:
    • TUSCANY_SDOCPP=<path to installed Tuscany SDO>
    • AXIS2C_HOME=<path to axis2c version 0.92>
  3. You must have set up the environment for Microsoft Visual C++ tools. The build command will call vcvars32 to set the environment. Ensure the directory containing this is on your path. This will be where you installed the compiler.
  4. Build the source:
    • cd <to where you unzipped the source>
    • build
    This will build all the projects and put the required output into the 'deploy' directory

    Alternatively, open the workspace tuscany_sca.dsw in Visual Studio 6 - you can build projects individually or build the samples to rebuild all the projects
  5. Set the TUSCANY_SCACPP environment variable to point to the 'deploy' directory that was just created

Samples

Tuscany SCA C++ includes a simple technology sample that demonstrates some of the functionality of the Tuscany SCA C++ runtime. This page describes what is needed to install and run the sample.

Building the samples on Linux

If using the binary distribution the samples are built and installed in <tuscany_sca_install_dir>/samples - go directly to Running the samples on Linux.

  1. The following environment variables are required:
    • TUSCANY_SCACPP=<path to installed Tuscany SCA>
    • TUSCANY_SDOCPP=<path to installed Tuscany SDO>
    • AXIS2C_HOME=<path to axis2c version 0.92>
  2. Build the source with the following command sequence:
    • cd <tuscany_sca_install_dir>/samples
    • ./configure
    • make
    • make install
    NOTE: If you don't provide a --prefix configure option, it will by default install into /usr/local/tuscany/sca/samples/Calculator

Running the samples on Linux

Calculator with basic client

  1. The following environment variables are required:
    • TUSCANY_SCACPP=<path to installed Tuscany SCA>
    • TUSCANY_SDOCPP=<path to installed Tuscany SDO>
    • AXIS2C_HOME=<path to axis2c version 0.92>
  2. Run the sample with the following commands:
    • cd <tuscany_sca_install_dir>/samples/Calculator/deploy/bin
    • ./runclient.sh

Calculator with Web Service client

  1. Deploy the Calculator as an Axis2C service:
    1. Create a new service folder in axis2:
      <AXIS2C_HOME>/services/Calculator
    2. Copy the <TUSCANY_SCACPP>/samples/Calculator/CalculatorComposite/services.xml to <AXIS2C_HOME>/services/Calculator/services.xml
    3. Edit the <AXIS2C_HOME>/services/Calculator/services.xml file to set the TuscanySystemRoot parameter to
      <parameter name="TuscanySystemRoot" locked="xsd:false"><tuscany_sca_install_dir>/samples/Calculator/deploy</parameter>
      replacing <tuscany_sca_install_dir> with the install path of Tuscany SCA
    4. Copy the <TUSCANY_SCACPP>/lib/libtuscany_sca_ws_service.so library into <AXIS2C_HOME>/services/Calculator
  2. Start the Axis2C simple http server:
    1. cd <AXIS2C_HOME>/bin
    2. The following environment variables are required:
      • TUSCANY_SCACPP=<path to installed Tuscany SCA>
      • TUSCANY_SDOCPP=<path to installed Tuscany SDO>
      • AXIS2C_HOME=<path to axis2c version 0.92>
    3. Add <TUSCANY_SCACPP>/lib, <TUSCANY_SDOCPP>/lib and <AXIS2C_HOME>/lib to the LD_LIBRARY_PATH environment variable
    4. ./axis2_http_server
  3. Run the client:
    1. The following environment variable is required:
      • AXIS2C_HOME=<path to axis2c version 0.92>
    2. cd <tuscany_sca_install_dir>/samples/Calculator/deploy/bin
    3. ./runwsclient.sh

Building the samples on Windows

If using the binary distribution the samples are built and installed in <tuscany_sca_install_dir>/samples - go directly to Running the samples on Windows.

  1. The following environment variables are required:
    • TUSCANY_SCACPP=<path to installed Tuscany SCA>
    • TUSCANY_SDOCPP=<path to installed Tuscany SDO>
    • AXIS2C_HOME=<path to axis2c version 0.92>
  2. You must have set up the environment for Microsoft Visual C++ tools. The build command will call vcvars32 to set the environment. Ensure the directory containing this is on your path. This will be where you installed the compiler.
  3. Build the source, either via the Visual Studio 6 or 7 projects under <tuscany_sca_install_dir>\samples\ides or via the command-line build file found at <tuscany_sca_install_dir>\samples\ides\devstudio6\projects\Calculator\build.cmd which will build and deploy the samples.

Running the samples on Windows

Calculator with basic client

  1. The following environment variables are required:
    • TUSCANY_SCACPP=<path to installed Tuscany SCA>
    • TUSCANY_SDOCPP=<path to installed Tuscany SDO>
    • AXIS2C_HOME=<path to axis2c version 0.92>
  2. Run the sample with the following commands:
    • cd <tuscany_sca_install_dir>/samples/Calculator/deploy/bin
    • runclient add 5 6
      (can also use sub, div, mul).

Calculator with Web Service client

  1. Deploy the Calculator as an Axis2C service:
    1. Create a new service folder in axis2:
      <AXIS2C_HOME>/services/Calculator
    2. Copy the <TUSCANY_SCACPP>/samples/Calculator/CalculatorComposite/services.xml to <AXIS2C_HOME>/services/Calculator/services.xml
    3. Edit the <AXIS2C_HOME>/services/Calculator/services.xml file to set the TuscanySystemRoot parameter to
      <parameter name="TuscanySystemRoot" locked="xsd:false"><TUSCANY_SCACPP>/samples/Calculator/deploy</parameter>
      replacing <TUSCANY_SCACPP> with the install path of Tuscany SCA
    4. Copy the <TUSCANY_SCACPP>/lib/tuscany_sca_ws_service.dll (and .pdb if debugging) file(s) into <AXIS2C_HOME>/services/Calculator
  2. Start the Axis2C simple http server:
    1. cd <AXIS2C_HOME>/bin
    2. The following environment variables are required:
      • TUSCANY_SCACPP=<path to installed Tuscany SCA>
      • TUSCANY_SDOCPP=<path to installed Tuscany SDO>
      • AXIS2C_HOME=<path to axis2c version 0.92>
    3. Add <TUSCANY_SCACPP>\bin, <TUSCANY_SDOCPP>\bin and <AXIS2C_HOME>/lib to the PATH environment variable
    4. axis2_http_server
  3. Run the client:
    1. The following environment variable is required:
      • AXIS2C_HOME=<path to axis2c version 0.92>
    2. cd <tuscany_sca_install_dir>/samples/Calculator/deploy/bin
    3. runwsclient

User Guide Documents

The SCA C++ Milestone release 1 also contains the following two documents to assist in developing with Tuscany SCA C++

Creating and building a Tuscany SCA C++ component A document that describes how to create, build and run a Tuscany SCA C++ component.
Enabling Web Service access to your Tuscany SCA C++ component A document that describes how to expose a Tuscany SCA C++ component as a Web Service via an SCA Web Service Entrypoint.

Getting Help

First place to look is at the Tuscany FAQ at http://incubator.apache.org/tuscany/faq.html

Any problem with this release can be reported to the Tuscany mailing lists or create a JIRA issue at http://issues.apache.org/jira/browse/Tuscany.