blob: d0f3f2b50b593d55ab4ce9f51683ee2ed837f977 [file] [log] [blame]
<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements. See the NOTICE file
distributed with this work for additional information
regarding copyright ownership. The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied. See the License for the
specific language governing permissions and limitations
under the License.
-->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<HTML>
<HEAD>
<META CONTENT="text/html; charset=iso-8859-1" HTTP-EQUIV="Content-Type">
<META CONTENT="text/css" HTTP-EQUIV="Content-Style-Type">
<STYLE MEDIA="all" TYPE="text/css">
@import url("doc/css/maven-base.css");
@import url("doc/css/maven-theme.css");
</STYLE>
<LINK HREF="doc/css/maven-theme.css" MEDIA="print" REL="stylesheet"
TYPE="text/css">
<TITLE>Tuscany SCA Native - Getting Started</TITLE>
</HEAD>
<BODY>
<DIV ID="bodyColumn">
<DIV ID="contentBox">
<DIV CLASS="section">
<H1>Tuscany - Getting Started - SCA Native Milestone release 3</H1>
<P>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 <A HREF="http://www.osoa.org/display/Main/Service+Component+Architecture+Specifications">here</A>),
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.<BR/>If you haven't already done so, the first
step is to download the SCA Native Milestone release 3 of Apache Tuscany from our
<A HREF="http://incubator.apache.org/tuscany/downloads.html" target='_blank'>download page</A>.<BR/>
</P>
</DIV>
<DIV CLASS="section">
<H2>Contents</H2>
<OL>
<LI><A HREF="#requirements">System Requirements</A></LI>
<LI><A HREF="#install">Installing Tuscany SCA..</A>
<UL>
<LI><A HREF="#linuxsrc">..from the source release on Linux or Mac OS X</A></LI>
<LI><A HREF="#winbin">..from the binary release on Windows</A></LI>
<LI><A HREF="#winsrc">..from the source release on Windows</A></LI>
</UL></LI>
<LI><A HREF="#extensions">Tuscany SCA Extensions</A></LI>
<LI><A HREF="#samples">Samples</A></LI>
<LI><A HREF="#userguide">User Guide Documents</A></LI>
<LI><A HREF="#help">Getting Help</A></LI>
</OL>
</DIV>
<DIV CLASS="section">
<A NAME="requirements"><H2>System Requirements</H2></A>
<P>In order to run Tuscany SCA there are some
minimum requirements:</P>
<TABLE CLASS="bodyTable">
<TBODY>
<TR CLASS="a">
<TD><B>Software</B></TD>
<TD><B>Notes and Download Link</B></TD>
</TR>
<TR CLASS="b">
<TD>Operating systems:
<UL>
<LI>Windows XP SP2</LI>
<LI>Linux</LI>
<li>Mac OS X</li>
</UL>
</TD>
<TD>
Linux distributions tested on include Redhat Enterprise Linux v3, Redhat Enterprise Linux v4,
Ubuntu 6.06 LTS and Fedora Core 5.
</TD>
</TR>
<TR CLASS="a">
<TD>Tuscany SDO for C++ Milestone Release 3</TD>
<TD>
<A HREF="http://incubator.apache.org/tuscany/download.html"
TARGET="_blank">http://incubator.apache.org/tuscany/download.html</A><BR/>
Please download and follow the installation instructions
</TD>
</TR>
<TR CLASS="b">
<TD><STRONG>Optional:</STRONG> Java SDK 1.4 or later</TD>
<TD>
<A HREF="http://java.sun.com/javase/downloads/index.jsp"
TARGET="_blank">http://java.sun.com/javase/downloads/index.jsp</A><BR/>
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.
</TD>
</TR>
<TR CLASS="a">
<TD><STRONG>Optional:</STRONG> Apache Ant 1.6 or later</TD>
<TD>
<A HREF="http://ant.apache.org"
TARGET="_blank">http://ant.apache.org</A><BR/>
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.
</TD>
</TR>
<TR CLASS="b">
<TD><STRONG>Optional:</STRONG> Python version 2.5</TD>
<TD>
<A HREF="http://www.python.org/download/"
TARGET="_blank">http://www.python.org/download/</A><BR/>
This is required for building or running the Tuscany SCA Python extension
(see <A HREF="#extensions">below</A>).
Please download and follow the installation instructions.
</TD>
</TR>
<TR CLASS="a">
<TD><STRONG>Optional:</STRONG> Ruby version 1.8.x</TD>
<TD>
<A HREF="http://www.ruby-lang.org"
TARGET="_blank">http://www.ruby-lang.org</A><BR/>
This is required for building or running the Tuscany SCA Ruby extension
(see <A HREF="#extensions">below</A>).
Please download and follow the installation instructions. You should
be able to build the Tuscany SCA Ruby Extension with other versions of Ruby.
</TD>
</TR>
<!-- <TR CLASS="b"> -->
<!-- <TD><STRONG>Optional:</STRONG> PHP version 5.2</TD> -->
<!-- <TD> -->
<!-- <A HREF="http://www.php.net" -->
<!-- TARGET="_blank">http://www.php.net</A><BR/> -->
<!-- This is required for building and running the Tuscany SCA PHP extension -->
<!-- (see <A HREF="#extensions">below</A>). -->
<!-- Please download and follow the installation instructions. -->
<!-- </TD> -->
<!-- </TR> -->
<!-- <TR CLASS="a"> -->
<!-- <TD><STRONG>Optional:</STRONG> PHP PECL SCA_SDO package version 1.1.2</TD> -->
<!-- <TD> -->
<!-- <A HREF="http://pecl.php.net/package/SCA_SDO" -->
<!-- TARGET="_blank">http://pecl.php.net/package/SCA_SDO</A><BR/> -->
<!-- This is required for running the Tuscany SCA PHP extension -->
<!-- (see <A HREF="#extensions">below</A>). -->
<!-- Please download and follow the installation instructions. -->
<!-- </TD> -->
<!-- </TR> -->
<TR CLASS="b">
<TD><STRONG>Optional:</STRONG> Axis2/C Release 0.96</TD>
<TD>
<A HREF="http://ws.apache.org/axis2/c/download.cgi"
TARGET="_blank">http://ws.apache.org/axis2/c/download.cgi</A><BR/>
This is required for building and running the Tuscany SCA Web Service extension
(see <A HREF="#extensions">below</A>).
Please download and follow the installation instructions. Ensure you can run the Axis2/C samples
</TD>
</TR>
<TR CLASS="a">
<TD><STRONG>Optional:</STRONG> Apache HTTPD version 2.2</TD>
<TD>
<A HREF="http://httpd.apache.org"
TARGET="_blank">http://httpd.apache.org</A><BR/>
This is required for building and running the Tuscany SCA REST extension
(see <A HREF="#extensions">below</A>). It is also required for some
of the Web Services samples.
Please download and follow the installation instructions.
</TD>
</TR>
<TR CLASS="b">
<TD><STRONG>Optional:</STRONG> libcurl version 7.15 or higher</TD>
<TD>
<A HREF="http://curl.haxx.se/download.html"
TARGET="_blank">http://curl.haxx.se/download.html</A><BR/>
This is required for building and running the Tuscany SCA REST extension
(see <A HREF="#extensions">below</A>).
Please download and follow the installation instructions.
</TD>
</TR>
</TBODY>
</TABLE>
</DIV>
<DIV CLASS="section">
<A NAME="install"><H2>Installing Tuscany SCA Native</H2></A>
<A NAME="linuxsrc"><H3>Getting Tuscany SCA Native working with the source release on Linux or Mac OS X</H3></A>
<OL>
<LI>Extract the source tar package to a folder &lt;tuscany_sca_install_dir&gt;</LI>
<LI>The following environment variables are required:
<UL>
<LI>TUSCANY_SDOCPP=&lt;path to installed Tuscany SDO&gt;
</UL></LI>
<LI>See the <A HREF="#extensions">extensions documentation</A> for other environment variables and
configration flags that are required to build specific extensions.</LI>
<LI>To build only the Tuscany SCA Native kernel libraries use the following command sequence:
<UL>
<LI>./configure --prefix=&lt;tuscany_sca_install_dir&gt;/deploy --enable-static=no --enable-cpp=no --enable-wsbinding=no</LI>
<LI>make</LI>
<LI>make install</LI>
</UL>
NOTE: If you don't provide a --prefix configure option, it will by default install into
/usr/local/tuscany/sca. Use ./configure --help to see all the available
options:
<xmp> --enable-cpp build C++ component type extension [default=yes]
--enable-wsbinding build Web Service binding extension [default=no]
--enable-scabinding build SCA default binding extension [default=no]
--enable-restbinding build REST binding extension [default=no]
--enable-python build Python component type extension [default=no]
--enable-ruby build Ruby component type extension [default=no]</xmp>
A script, <b>build_scanative.sh</b>, is provided that will build and install SCA Native. This script will install to the
location specified by the TUSCANY_SCACPP environment variable if set or into a deploy directory at &lt;tuscany_sca_install_dir&gt;/deploy.
This script will check the environment variable settings and will build the extensions whose dependencies are set. For example if RUBY_LIB and
RUBY_HOME are set configure will be called with the --enable-ruby=yes option.
</LI>
<LI>Set the TUSCANY_SCACPP environment variable to point to the &lt;tuscany_sca_install_dir&gt;/deploy
directory that contains the built Tuscany SCA distribution</LI>
</OL>
<A NAME="winbin"><H3>Getting Tuscany SCA Native working with the binary release on Windows</H3></A>
<OL>
<LI>Unzip the supplied zip file to a folder</LI>
<LI>Set the TUSCANY_SCACPP environment variable to point to the directory that was just unzipped</LI>
<LI>Add the &lt;tuscany_sca_install_dir&gt;\bin directory to the PATH environment variable</LI>
</OL>
<A NAME="winsrc"><H3>Getting Tuscany SCA Native working with the source release on Windows</H3></A>
<OL>
<LI>Unzip the supplied source zip file</LI>
<LI>The following environment variables are required:
<UL>
<LI>TUSCANY_SDOCPP=&lt;path to installed Tuscany SDO&gt;</LI>
</UL></LI>
<LI>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.</LI>
<LI>See the <A HREF="#extensions">extensions documentation</A> for other environment variables
that are required to build specific extensions.</LI>
<LI>Build the source:
<UL>
<LI>cd &lt;to where you unzipped the source&gt;</LI>
<LI>build [Debug]</LI>
</UL>
This will build all the projects and put the required output into the 'deploy' directory<BR/><BR/>
Alternatively, open the VS Express workspace at &lt;tuscany_sca_install_dir&gt;\VSExpress\tuscany_sca\tuscany_sca.sln</LI>
<LI>Set the TUSCANY_SCACPP environment variable to point to the 'deploy' directory that was just created</LI>
</OL>
</DIV>
<DIV CLASS="section">
<A NAME="extensions"><H2>Tuscany SCA Extensions</H2></A>
<P>Tuscany SCA is composed of two distinct areas: the kernel and extensions. The kernel provides the
implementation of the
<A HREF="http://www.osoa.org/display/Main/Service+Component+Architecture+Specifications">Service
Component Architecture Assembly Model specification</A>, 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).
</P>
<P>The table below details the extensions that are included with Tuscany SCA Native Milestone
Release 3.
</P>
<TABLE CLASS="bodyTable">
<TBODY>
<TR CLASS="a">
<TD><STRONG>Extension</STRONG></TD>
<TD><STRONG>Details</STRONG></TD>
</TR>
<TR CLASS="b">
<TD STYLE="vertical-align: top; white-space: nowrap;">
<A HREF="doc/CppExtension.html">C++</A>
</TD>
<TD>Provides the SCA C++ client API and enables C++ component implementations
and interfaces. See the <A HREF="doc/CppExtension.html">C++ extension documentation</A>, the
<A HREF="http://www.osoa.org/display/Main/Service+Component+Architecture+Specifications">SCA
C++ Client and Implementation specification</A> for more details about the SCA C++
Programming Model and the <A HREF="doc/CppExtension.html#components">Creating C++ SCA Components</A>
document for a step-by-step example.<BR/>
<STRONG>Requires:</STRONG>
<UL>
<LI><A HREF="http://java.sun.com/javase/downloads/index.jsp" TARGET="_blank">Java SDK 1.4 or later</A>
- for building and running the SCAGEN code generation tool, which is used
when developing Tuscany SCA C++ components.</LI>
<LI><A HREF="http://ant.apache.org" TARGET="_blank">Apache Ant 1.6 or later</A>
- for building the SCAGEN code generation tool. This is only required when building
the C++ extension from a source distribution of Tuscany SCA Native.</LI>
</UL>
</TD>
</TR>
<TR CLASS="a">
<TD STYLE="vertical-align: top; white-space: nowrap;">
<A HREF="doc/PythonExtension.html">Python</A>
</TD>
<TD>Provides a Python SCA client API and enables Python component implementations.
See the <A HREF="doc/PythonExtension.html">Python extension documentation</A> for
more details.<BR/>
<STRONG>Requires:</STRONG>
<UL>
<LI><A HREF="http://www.python.org/download/" TARGET="_blank">Python version 2.5</A>
- for building and running the extension.</LI>
</UL>
</TD>
</TR>
<TR CLASS="b">
<TD STYLE="vertical-align: top; white-space: nowrap;">
<A HREF="doc/RubyExtension.html">Ruby</A>
</TD>
<TD>Provides a Ruby SCA client API and enables Ruby component implementations.
See the <A HREF="doc/RubyExtension.html">Ruby extension documentation</A> for
more details.<BR/>
<STRONG>Requires:</STRONG>
<UL>
<LI><A HREF="http://www.ruby-lang.org" TARGET="_blank">Ruby version 1.8.x</A>
- for building and running the extension.</LI>
</UL>
</TD>
</TR>
<!-- <TR CLASS="a"> -->
<!-- <TD STYLE="vertical-align: top; white-space: nowrap;"> -->
<!-- <A HREF="doc/PHPExtension.html">PHP</A> -->
<!-- </TD> -->
<!-- <TD>Provides a PHP SCA client API and enables PHP component implementations by integrating -->
<!-- with the <A HREF="http://pecl.php.net/package/SCA_SDO">PECL SCA_SDO package</A>. -->
<!-- See the <A HREF="doc/PHPExtension.html">PHP extension documentation</A> for -->
<!-- more details. <BR/> -->
<!-- <STRONG>Requires:</STRONG> -->
<!-- <UL> -->
<!-- <LI><A HREF="http://www.php.net" TARGET="_blank">PHP version 5.2</A> -->
<!-- - for building and running the extension.</LI> -->
<!-- <LI><A HREF="http://pecl.php.net/package/SCA_SDO" TARGET="_blank">PECL SCA_SDO package version 1.1.2</A> -->
<!-- - for running the extension.</LI> -->
<!-- </UL> -->
<!-- </TD> -->
<!-- </TR> -->
<TR CLASS="a">
<TD STYLE="vertical-align: top; white-space: nowrap;">
<A HREF="doc/Axis2CWSExtension.html">Axis2/C Web Services</A>
</TD>
<TD>Provides the Web Service bindings enabling Tuscany to call SCA references via
Web Services or expose SCA services as Web Services. See the
<A HREF="http://www.osoa.org/display/Main/Service+Component+Architecture+Specifications">SCA
Web Service bindings specification</A> for more details about SCA Web Service support
and the <A HREF="doc/Axis2CWSExtension.html#service">Enabling Web Service
access to SCA Components</A> document for a step-by-step example.<BR/>
<STRONG>Requires:</STRONG>
<UL>
<LI><A HREF="http://ws.apache.org/axis2/c/download.cgi" TARGET="_blank">Axis2/C Release 0.96</A>
- for building and running the extension.</LI>
</UL>
</TD>
</TR>
<TR CLASS="b">
<TD STYLE="vertical-align: top; white-space: nowrap;">
<A HREF="doc/RESTExtension.html">REST</A>
</TD>
<TD>Provides the REST bindings enabling Tuscany to call SCA references via
REST HTTP calls or expose SCA services as REST Services. See the
<A HREF="doc/RESTExtension.html">REST extension documentation</A> for more details.<BR/>
<STRONG>Requires:</STRONG>
<UL>
<LI><A HREF="http://httpd.apache.org" TARGET="_blank">Apache HTTPD version 2.2</A>
- for building and running the REST Service extension</LI>
<LI><A HREF="http://curl.haxx.se/download.html" TARGET="_blank">libcurl version 7.15 or higher</A>
- for building and running the REST Reference extension</LI>
</UL>
</TD>
</TR>
<TR CLASS="a">
<TD STYLE="vertical-align: top; white-space: nowrap;">
<A HREF="doc/SCAExtension.html">SCA</A>
</TD>
<TD>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
<A HREF="doc/SCAExtension.html">SCA extension documentation</A> for more details.<BR/>
<STRONG>Requires:</STRONG>
<UL>
<LI><A HREF="doc/Axis2CWSExtension.html" TARGET="_blank">Axis2/C Web Services extension</A>
- for building and running the extension.</LI>
</UL>
</TD>
</TR>
</TBODY>
</TABLE>
</DIV>
<DIV CLASS="section">
<A NAME="samples"><H2>Samples</H2></A>
<TABLE CLASS="bodyTable">
<TBODY>
<TR CLASS="a">
<TD STYLE="vertical-align: top; white-space: nowrap;">SCA Technology samples
</TD>
<TD>Simple samples that emphasize how to to use
Service Component Architecture technology. Follow the
instructions on the <A HREF="samples/GettingStarted.html">samples Getting Started</A>
page to build and run the Tuscany SCA samples
</TD>
</TR>
</TBODY>
</TABLE>
<BR>
</DIV>
<DIV CLASS="section">
<A NAME="userguide"><H2>User Guide Documents</H2></A>
<TABLE CLASS="bodyTable">
<TBODY>
<TR CLASS="a">
<TD STYLE="vertical-align: top; white-space: nowrap;"><A HREF="doc/CPPExtension.html#components">Creating and building a Tuscany SCA C++ component</A>
</TD>
<TD>A document that describes how to create, build and run a Tuscany SCA C++ component.
</TD>
</TR>
<TR CLASS="a">
<TD STYLE="vertical-align: top; white-space: nowrap;"><A HREF="doc/Axis2CWSExtension.html#service">Enabling Web Service access to your Tuscany SCA component</A>
</TD>
<TD>A document that describes how to expose a Tuscany SCA C++ component as a Web Service via the Tuscany Axis2/C Web Service support.
</TD>
</TR>
<TR CLASS="a">
<TD STYLE="vertical-align: top; white-space: nowrap;"><A HREF="doc/PythonExtension.html#pm">The Tuscany SCA Python Programming Model</A>
</TD>
<TD>A document that describes how to create and run a Tuscany SCA Python component.
</TD>
</TR>
<TR CLASS="a">
<TD STYLE="vertical-align: top; white-space: nowrap;"><A HREF="doc/RubyExtension.html#pm">The Tuscany SCA Ruby Programming Model</A>
</TD>
<TD>A document that describes how to create and run a Tuscany SCA Ruby component.
</TD>
</TR>
</TBODY>
</TABLE>
<BR>
</DIV>
<DIV CLASS="section">
<A NAME="help"><H2>Getting Help</H2></A>
<P>The first place to look is at the Tuscany FAQ at
<A HREF="http://cwiki.apache.org/TUSCANY/sca-cpp.html"
TARGET="_blank"http://cwiki.apache.org/TUSCANY/sca-cpp.html</A> </P>
<P>Any problem with this release can be reported to the Tuscany
<A HREF="http://cwiki.apache.org/TUSCANY/mailing-lists.html"
TARGET="_blank">mailing lists</A> or create a JIRA issue at&nbsp;<A HREF="http://issues.apache.org/jira/browse/Tuscany"
TARGET="_blank">http://issues.apache.org/jira/browse/Tuscany</A>.</P>
<P>&nbsp;</P>
<P>&nbsp;</P>
<P>&nbsp;</P>
<TABLE CLASS="bodyTable">
<TBODY>
<TR CLASS="a">
<TD>
<P>Thank you for your interest in Tuscany.</P> <STRONG><EM>-The
Tuscany Development Team</EM></STRONG>
</TD>
</TR>
</TBODY>
</TABLE>
</DIV>
</DIV>
</DIV>
</BODY>
</HTML>