summaryrefslogtreecommitdiffstats
path: root/sca-cpp/branches/cpp-M1/sdo/README
blob: 99f88b1b4daff703f38af52e1c6d4a209f840136 (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
Apache Tuscany C++ M1 build (July, 2006)
===================================

http://incubator.apache.org/tuscany

Tuscany is an effort undergoing incubation at the Apache Software Foundation
(ASF), sponsored by the Web Services PMC.

Incubation is required of all newly accepted projects until a further review
indicates that the infrastructure, communications, and decision making process
have stabilized in a manner consistent with other successful ASF projects. 

While incubation status is not necessarily a reflection of the completeness or 
stability of the code, it does indicate that the project has yet to be fully
endorsed by the ASF.


Getting Started
===============

Documentation describing the system requirements and the steps to install
Tuscany SDO C++ and run the samples can be found in the GettingStarted.html file.


About Tuscany SDO for C++
=========================

Tuscany SDO is an implementation of the Service Data Objects 2.0 specification for C++ developers.

The implementation adheres closely to the specification, but there are a number of features which 
did not make it into this release. These are documented below.


Generic get/set
---------------
The C++ implementation defines a set of access methods directly appropriate to each Type. For example
getString(), setString(), getBoolean(), setBoolean(). There is no generic get() method as there is no
common base object to return - unlike the java implementation which can return an Object.  


Typesafe interface
------------------
There is no code generation in this version, so there is no interface such that a property called
"Name" can be accessed via object->getName().  The name must be accessed via object->getString("Name");


Change Summary Serialization
----------------------------
Change summaries contain creations, deletions and modifications to data graphs. The specification 
indicates that these will be serialized to XML such that creations and deletions will become attributes
of the change summary element, whilst changes become elements within the change summary element.
This implementation saves all creations, deletions and changes as elements within the chang summary
element.


Change Summary Undo
-------------------
The undo method of a change summary is not implemented.


Read-Only
---------
Read-only data elements are not supported by this implementation. Properties may be set read-only, but
the property may still be modified without an error.


Opposites
---------
Opposites are not supported by this implementation. 


Date and Time
-------------
Date support is limited to using a time_t. There are no calendar or duration style objects, and no
helpers for conversions.


BigDecimal and BigInteger
-------------------------
The equivalent of the java BigDecimal and BigInteger objects are not implmented.


NLS support
-----------
Data objects may contain multi-byte data in the form of an SDO string, but locale information is not
stored with the data.

The creation API only allows properties and types to have ascii names (taking a char* as the name).


Inheritance
-----------
Type inheritance is single only.




Thank you for using Tuscany!

The Tuscany Team.