Tuscany SCA Native 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 Native.
If you haven't already done so, the first
step is to download the SCA Native Milestone release 3 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. |
Tuscany SDO for C++ Milestone Release 3 |
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 the C++ extension from a source distribution of Tuscany SCA Native. |
Optional: Python version 2.5 |
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. |
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. |
Optional: Axis2/C Release 0.96 |
http://ws.apache.org/axis2/c/download.cgi This is required for building and running the Tuscany SCA Web Service extension (see below). Please download and follow the installation instructions. Ensure you can run the Axis2/C samples |
Optional: Apache HTTPD version 2.2 |
http://httpd.apache.org This is required for building and running the Tuscany SCA REST extension (see below). It is also required for some of the Web Services samples. Please download and follow the installation instructions. |
Optional: libcurl version 7.15 or higher |
http://curl.haxx.se/download.html This is required for building and running the Tuscany SCA REST extension (see below). Please download and follow the installation instructions. |
Tuscany SCA is composed of two distinct areas: the kernel and extensions. The kernel 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 Tuscany SCA Native Milestone Release 3.
Extension | Details |
C++ | Provides the SCA C++ client API and enables C++ component implementations
and interfaces. See the C++ extension documentation, 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. Requires:
|
Python | Provides a Python SCA client API and enables Python component implementations.
See the Python extension documentation for
more details. Requires:
|
Ruby | Provides a Ruby SCA client API and enables Ruby component implementations.
See the Ruby extension documentation for
more details. Requires:
|
Axis2/C 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. Requires:
|
REST | Provides the REST bindings enabling Tuscany to call SCA references via
REST HTTP calls or expose SCA services as REST Services. See the
REST extension documentation for more details. Requires:
|
SCA | Provides a default SCA binding enabling Tuscany to determine the appropriate technology
to use to provide services or invoke references. Currently this defaults to using the
Axis2/C Web Services binding. See the
SCA extension documentation for more details. Requires:
|
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 Axis2/C 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
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 |