summaryrefslogtreecommitdiffstats
path: root/tags/cpp-1.0-incubating-M2-final/sca/GettingStarted.html
blob: 8e7e7321484262a0e2d253aed054c366b89191e8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
<!--
   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 - Getting Started</TITLE>
</HEAD>

<BODY>
<DIV ID="bodyColumn"> 
   <DIV ID="contentBox"> 
      <DIV CLASS="section"> 
         <H2>Tuscany - Getting Started - SCA C++ Milestone release 2</H2> 

         <P>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 <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 for C++.<BR/>If you haven't already done so, the first
         step is to download the SCA C++ Milestone release 2 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="#linuxbin">..from the binary release on Linux</A></LI>
                    <LI><A HREF="#linuxsrc">..from the source release on Linux</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> 
                  </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>Axis2C Release 0.94</TD>

               <TD> 
                  <A HREF="http://ws.apache.org/axis2/c/download.cgi"
                     TARGET="_blank">http://ws.apache.org/axis2/c/download.cgi</A><BR/>
                  Please download and follow the installation instructions. Ensure you can run the Axis2C samples                  
               </TD>
            </TR>
            <TR CLASS="b">
               <TD>Tuscany SDO for C++ Milestone Release 2</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="a">
               <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="b">
               <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
                  a source distribution of Tuscany SCA C++.
               </TD>
            </TR>
            <TR CLASS="a">
               <TD><STRONG>Optional:</STRONG> Python version 2.4</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. You can build 
                  the Tuscany SCA Python Extension with other versions of Python - versions 2.3.4 
                  and higher have been tested.
               </TD>
            </TR>
            <TR CLASS="b">
               <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>
            </TBODY>
         </TABLE>
      </DIV> 
      <DIV CLASS="section"> 
         <A NAME="install"><H2>Installing Tuscany SCA for C++</H2></A>
         <A NAME="linuxbin"><H3>Getting Tuscany SCA for C++ working with the binary release on Linux</H3></A>
          <OL>
              <LI>Extract the binary tar package to a folder</LI>
              <LI>Set the TUSCANY_SCACPP environment variable to point to the directory that was just extracted</LI>
              <LI>Add the &lt;tuscany_sca_install_dir&gt;/lib directory to the LD_LIBRARY_PATH <!--(Linux) or DYLD_LIBRARY_PATH (MacOS X)--> environment variable</LI>
          </OL>
         <A NAME="linuxsrc"><H3>Getting Tuscany SCA for C++ working with the source release on Linux</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;                                      
                  <LI>AXIS2C_HOME=&lt;path to axis2c version 0.94&gt;</LI>
                </UL></LI>
              <LI>The following environment variables are optional if you wish to build the Python or Ruby extensions
                  (see the <A HREF="doc/PythonExtension.html">Python extension</A> and 
                  <A HREF="doc/RubyExtension.html">Ruby extension</A> documentation):
                <UL>
                  <LI>PYTHON_LIB=&lt;path to Python libraries&gt;</LI>
                  <LI>PYTHON_INCLUDE=&lt;path to Python includes&gt;</LI>
                  <LI>PYTHON_VERSION=&lt;name of the Python version&gt;<BR/>
                   Note: If you are using a default installation of Python 2.3 these are usually:<BR/>
                   PYTHON_LIB=/usr/lib<BR/>
                   PYTHON_INCLUDE=/usr/include/python2.3<BR/>
                   PYTHON_VERSION=python2.3<BR/></LI>
                  <LI>RUBY_LIB=&lt;path to Ruby libraries&gt;</LI>
                  <LI>RUBY_INCLUDE=&lt;path to Ruby includes&gt;<BR/>
                   Note: If you are using a default installation of Ruby these are usually:<BR/>
                   RUBY_LIB=/usr/lib<BR/>
                   RUBY_INCLUDE=/usr/lib/ruby/1.8/i386-linux</LI>
                </UL></LI>
              <LI>Build the source with the following command sequence:
                  <UL>
                      <LI>./configure --prefix=&lt;tuscany_sca_install_dir&gt;/deploy --enable-static=no --enable-python=yes --enable-ruby=yes</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. If you do not wish to build the Python or Ruby extensions, simply change the 
                  --enable-python and --enable-ruby options to "no". Use ./configure --help to see all the available 
                  options</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 for C++ 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 for C++ 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>AXIS2C_HOME=&lt;path to axis2c version 0.94&gt;</LI>
                </UL></LI>
              <LI>The following environment variables are optional if you wish to build the Python or Ruby extensions
                  (see the <A HREF="doc/PythonExtension.html">Python extension</A> and 
                  <A HREF="doc/RubyExtension.html">Ruby extension</A> documentation):
                <UL>
                  <LI>PYTHON_HOME=&lt;path to installed Python&gt;                                      
                  <LI>RUBY_HOME=&lt;path to installed Ruby&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>Build the source:
                  <UL>
                      <LI>cd &lt;to where you unzipped the source&gt;</LI>
                      <LI>build</LI>                      
                  </UL>
	              This will build all the projects and put the required output into the 'deploy' directory<BR/><BR/>
                  Alternatively, open the workspace at &lt;tuscany_sca_install_dir&gt;/projects/tuscany_sca/tuscany_sca.dsw 
                  in Visual Studio 6 or at at &lt;tuscany_sca_install_dir&gt;/projectsvc7/tuscany_sca/tuscany_sca.sln 
                  in Visual Studio 7.1 - you can build projects individually
                  or build them all in one step</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 core and extensions. The core 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 TuscanySCA for C++ Milestone 
            Release 2. 
         </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;">C++ 
               </TD>
               <TD>Provides the SCA C++ client API and enables C++ component implementations 
                and interfaces. See 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/CPPComponents.html">Creating C++ SCA Components</A> 
                document for a step-by-step example.
               </TD>
            </TR>
            <TR CLASS="a">
               <TD STYLE="vertical-align: top; white-space: nowrap;">Axis2C Web Services 
               </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/Axis2CWSService.html">Enabling Web Service 
                access to SCA Components</A> document for a step-by-step example.
               </TD>
            </TR>
            <TR CLASS="b">
               <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. 
                This extension is disabled by default and must be enabled to be used.
                See the <A HREF="doc/PythonExtension.html">Python extension documentation</A> for 
                more details.
               </TD>
            </TR>
            <TR CLASS="a">
               <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. 
                This extension is disabled by default and must be enabled to be used.
                See the <A HREF="doc/RubyExtension.html">Ruby extension documentation</A> for 
                more details. 
               </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 samples <A HREF="samples/GettingStarted.html">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/CPPComponents.html">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/Axis2CWSService.html">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 Axis2C 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://incubator.apache.org/tuscany/faq.html"
            TARGET="_blank">http://incubator.apache.org/tuscany/faq.html</A> </P>

         <P>Any problem with this release can be reported to the Tuscany 
         <A HREF="http://incubator.apache.org/tuscany/mail-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>