Hi Luciano, Thanks for taking a look. Comments inline:
Cheers,
On 07/07/06, Luciano Resende <[EMAIL PROTECTED]> wrote:
Hi Pete
I took sometime to look at the C++ M1 Release candidate and I have the
following feedback...
Please keep in mind that my C++ skills is not one of my biggest
strengths as of today, so, some feedback might be due to lack of involvement
with C++ for couple of years...
Also note that I didn't have a C++ DEV environment, so I was just
running things from the binaries you posted.
- In Tuscany Java, we have some sample script files to boot the Tuscany
environment (
http://incubator.apache.org/tuscany/projectjava.html#Enviroment%20scripts).
Should we have something similar for C++ environment ? I have created a
sample one just to using for C++ M1 and could be used as a sample if people
think this is a good idea.
I'm not particularly keen on scripts which have hard-coded paths in (to
whoevers machine they were written on). I think a parameterised script could
be useful though.
- Instructions on how to install Tuscany SCA CPP posted here (
http://svn.apache.org/repos/asf/incubator/tuscany/cpp/sca/INSTALL) says:
- 5.a. Unzip the supplied zip file. set the TUSCANY_SCACPP
variable to point to the 'deploy' directory in the unzipped directory tree.
I can find the deploy directory in the c++ svn repository, but
it's not available in the M1 release candidate. Is this just the directory
the files were extracted ? If so, documentation needs clarification,
otherwise M1 zip need to be checked.
Trying to go a step ahead, I set this to the place i unzipped the
files and looks like it accepted that :)
That is a mistake in the INSTALL doc it should say:
5.a. Unzip the supplied zip file. set the TUSCANY_SCACPP variable to point
to the unzipped directory tree.
- In order to start getting better results from the SCA Calculator
sample program, I had to figure out the following items that were not
mentioned in the INSTALL instructions
- Need to add axis2c\lib directory to path as well... instructions
only mention bin directory
This is a mistake too. it is axis2c\lib that should be added to the path.
I'll fix he doc.
- Need the following runtime env dlls : msvcp60d.dll,
msvcrtd.dll(my system only had the regular ones without the d)
This is an interesting one. The Windows distribution build is actually a
debug build. It probably should be a "release" build.
- After fixing the DLL issues, i found that the calculator sample app
was expecting the following environment variable to be set :
SystemConfigurationException
TUSCANY_SCACPP_SYSTEM_ROOT environment variable not set
I set that to the same value of TUSCANY_SCACPP
Do we need these 2 env variables ? What is the difference between
TUSCANY_SCACPP and TUSCANY_SCACPP_SYSTEM_ROOT
- Now I'm at the point I'm getting the following exception
SystemConfigurationException
Duplicate wire for reference: CalculatorDivideService
Any workaround here ?
The variables are different. TUSCANY_SCACPP points to the installed root for
the runtime to locate its model schemas etc. TUSCANY_SCACPP_SYSTEM_ROOT is
used to point to the deployed SCA System... i.e. the folder that contains
the modules and subsystems of the sca application. The samples INSTALL says:
1. The following environment variables are required:
... snip ...
set TUSCANY_SCACPP_SYSTEM_ROOT=<samples_install_dir>/Calculator/deploy
By setting this to the same as TUSCANY_SCACPP the runtime is finding all the
sca.module files in the tree. There is a copy in the samples folder and one
is deployed to the Calculator/deploy folder so everything is defined
twice...hence the duplicate wire exception.
Other minor things
- Couple files like : LICENSE, NOTICE, README all have no extensions,
are these the way they are supposed to be ? The Java M1 had some of these
files with the txt extension...
- The SDO package have two readme with different contents on it (README
and README.txt)
It seems standard practice in C/C++ projects using Automake that thes files
do not have extensions.
-- Luciano
*"Pete Robbins" <[EMAIL PROTECTED]>*
07/05/2006 08:02 PM Please respond to
[email protected]
To
[email protected] cc
Subject
C++ M1 Release Candidate
I have posted a candidate for the first C++ release here.
http://people.apache.org/~robbinspg/RC1
Would all interested parties take some time to review this so that we can
either re-spin the release or vote on it asap.
The website documentation is out of date and will be re-written to sync
with
what is in the release. Hopefully this will be done tomorrow.
A Calculator sample is included which demonstrates deploying an SCA
module,
component wiring, locating and invoking C++ service from
C++ component, invoking from a C++ client, and exposing a service as a
web
service using ws binding.
Release Summary
=============
Tuscany SCA C++ provides a runtime implementation for the Service
Component
Architecture 0.9 specification, written in C++ and will currently support
C++
component implementation types. This is not yet a complete implementation
and
known restrictions are described below.
Supported SCA Assembly Model features
* All features are supported unless listed under the known restrictions
below. See SCA Assembly Model specification.
Supported language bindings
* Component implementations written in C++. See SCA Client and
Implementation Model specification.
* Component interfaces described by C++ classes. See SCA Client and
Implementation Model specification.
Supported external service and entry point bindings
* The web service binding is supported. This implementation will support
web services which using document literal SOAP bindings conforming to
the
WS-I basic profile (rpc/encoded is not yet supported).
Known restrictions
* Subsystem: wiring, entry points and external services are not
supported.
* Local service interfaces cannot use overloaded operations (the SCA
specification limits remote service interfaces to not using
overloaded operations).
* Each WSDL definition for a web service binding must be in a single WSDL
document.
* No load time validation of the deployed SCA application (run time
validation only).
* No metadata API.
--
Pete
--------------------------------------------------------------------- To
unsubscribe, e-mail: [EMAIL PROTECTED] For additional
commands, e-mail: [EMAIL PROTECTED]
--
Pete