Tuscany Samples - Getting Started - SCA Native Milestone release 3

Tuscany SCA Native includes a set of simple technology samples that demonstrates some of the functionality of the Tuscany SCA Native runtime. This page describes the samples and links to the documents that describe how to build and run them

Samples

CppCalculator A very simple sample to show how an SCA composite can wire together two C++ components to implement a Calculator service
PythonCalculator A very simple sample to show how an SCA composite can wire together two Python components to implement a Calculator service
RubyCalculator A very simple sample to show how an SCA composite can wire together two Ruby components to implement a Calculator service
RESTCalculator This sample is based on RubyCalculator but exposes the Calculator service as a REST Service running under the Apache HTTPD server
CppBigBank A more complex sample that implements the "Simplified BigBank" scenario. A whitepaper describing the scenario based on the SCA 0.9 Assembly specification can be found here. This sample uses multiple C++ components, calls out to an external Web Service via a reference, exposes the service as a Web Service and also provides a PHP based client.
RubyBigBank A more complex sample that implements the "Simplified BigBank" scenario. This sample uses multiple Ruby components, calls out to an external Web Service via a reference and exposes the service as a Web Service.
HTTPDBigBank A more complex sample that implements the "Simplified BigBank" scenario. This sample contains the same SCA components and calls as RubyBigBank, but demonstrates running the sample under the Apache HTTPD server
PythonWeatherForecast This sample makes calls to an external Web Service via a reference, demonstrating how Python ElementTree objects are used in Tuscany to access the XML data returned from the service.
RestCustomer This sample demonstrates a Python component exposed as a REST Service either with or without the REST interface (which specifies whether the service uses CRUD operations that translate to HTTP POST, GET, PUT and DELETE or uses HTTP GET and XML over HTTP POST to invoke named operations) running under the Apache HTTPD server
RestYahoo This sample demonstrates a Python component that is wired to make REST calls out to the external Yahoo! Web Search service. This sample uses a Ruby local client to invoke the Python component.
AlertAggregator A more complex sample that shows how a Web 2.0-style application can be built using SCA. The Alert Aggregator Sample aggregates various data sources and presents a unified view of data from these sources, served as XML and displayed via a web page

Sample Dependencies

The Tuscany samples each demonstrate different aspects of functionality provided by Tuscany, often in particular extensions. The table below documents the extension dependencies that each sample has. Please see the extension documentation for more details on the dependencies that particular extensions have.

C++ Extension Python Extension Ruby Extension Axis2C Web Service Service Extension Axis2C Web Service Reference Extension REST Service Extension REST Reference Extension REST Interface Extension SCA Service Extension SCA Reference Extension
CppCalculator Yes
PythonCalculator Yes
RubyCalculator Yes
RESTCalculator Yes Yes Yes
CppBigBank Yes Yes Yes
RubyBigBank Yes Yes Yes
HTTPDBigBank Yes Yes Yes Yes Yes
PythonWeatherForecast Yes Yes
RestCustomer Yes Yes Yes Yes
RestYahoo Yes Yes Yes
AlertAggregator Yes Yes Yes

The table below documents the libraries or environments necessary to build and/or run each sample. These are generally required by the Tuscany extensions that the sample employs. Please see the extension documentation for more details (such as the version required) about the dependencies that particular extensions require.

Java runtime Python runtime Ruby runtime Axis2/C library Axis2/C HTTP server libcurl library HTTPD server Universal Feed Parser library
CppCalculator Build
PythonCalculator Run
RubyCalculator Run
RESTCalculator Run Run Run
CppBigBank Build Run
RubyBigBank Run Run Run
HTTPDBigBank Run Run Run
PythonWeatherForecast Run Run
RestCustomer Run Run Run
RestYahoo Run Run Run
AlertAggregator Run Run Run Run

Getting Help

The first place to look is at the Tuscany SCA FAQ at http://cwiki.apache.org/confluence/display/TUSCANY/Tuscany+SCA+-+FAQ

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