Tuscany SCA C++ provides a runtime implementation for the Service Component
Architecture 0.96 Assembly specification and the 0.95 C++ Client & Implementation specification
(found here),
written in C++ and currently supports C++, Python and Ruby
component implementation types. This page describes what is needed to install and run Tuscany
SCA for C++.
If you haven't already done so, the first
step is to download the SCA C++ Milestone release 2 of Apache Tuscany from our
download page.
In order to run Tuscany SCA there are some minimum requirements:
Software | Notes and Download Link |
Operating systems:
|
Linux distributions tested on include Redhat Enterprise Linux v3, Redhat Enterprise Linux v4, Ubuntu 6.06 LTS and Fedora Core 5. |
Axis2C Release 0.94 |
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 2 |
http://incubator.apache.org/tuscany/download.html Please download and follow the installation instructions |
Optional: 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. This is not required when only developing Python or Ruby SCA components. |
Optional: 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. This is only required when building a source distribution of Tuscany SCA C++. |
Optional: Python version 2.4 |
http://www.python.org/download/ This is required for building or running the Tuscany SCA Python extension (see below). Please download and follow the installation instructions. You can build the Tuscany SCA Python Extension with other versions of Python - versions 2.3.4 and higher have been tested. |
Optional: Ruby version 1.8.x |
http://www.ruby-lang.org This is required for building or running the Tuscany SCA Ruby extension (see below). Please download and follow the installation instructions. You should be able to build the Tuscany SCA Ruby Extension with other versions of Ruby. |
Tuscany SCA is composed of two distinct areas: the core and extensions. The core provides the implementation of the Service Component Architecture Assembly Model specification, reading composite files, loading the appropriate extensions and invoking components via references and services during runtime. The extensions provide the functionality required to call a component implementation (e.g. a C++ class compiled into a dll) or invoke a binding (e.g. make a Web Services call).
The table below details the extensions that are included with TuscanySCA for C++ Milestone Release 2.
Extension | Details |
C++ | Provides the SCA C++ client API and enables C++ component implementations and interfaces. See the SCA C++ Client and Implementation specification for more details about the SCA C++ Programming Model and the Creating C++ SCA Components document for a step-by-step example. |
Axis2C Web Services | Provides the Web Service bindings enabling Tuscany to call SCA references via Web Services or expose SCA services as Web Services. See the SCA Web Service bindings specification for more details about SCA Web Service support and the Enabling Web Service access to SCA Components document for a step-by-step example. |
Python | Provides a Python SCA client API and enables Python component implementations. This extension is disabled by default and must be enabled to be used. See the Python extension documentation for more details. |
Ruby | Provides a Ruby SCA client API and enables Ruby component implementations. This extension is disabled by default and must be enabled to be used. See the Ruby extension documentation for more details. |
SCA Technology samples | Simple samples that emphasize how to to use Service Component Architecture technology. Follow the instructions on the samples Getting Started page to build and run the Tuscany SCA samples |
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 component | A document that describes how to expose a Tuscany SCA C++ component as a Web Service via the Tuscany Axis2C Web Service support. |
The Tuscany SCA Python Programming Model | A document that describes how to create and run a Tuscany SCA Python component. |
The Tuscany SCA Ruby Programming Model | A document that describes how to create and run a Tuscany SCA Ruby component. |
The 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.
Thank you for your interest in Tuscany. -The Tuscany Development Team |