summaryrefslogtreecommitdiffstats
path: root/cpp/sdo/README
blob: d5bd6f5e784bee7e7520781529d7b8f3693afb63 (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
Apache Tuscany SDO C++ M3
=========================

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 for C++ 2.01 
specification found at
http://www.osoa.org/display/Main/SDO+-+Previously+Published+Specifications

Supported SDO features
  * All features are supported unless listed under the known restrictions
    below. See the Service Data Objects for C++ 2.01 specification.

New features in this release
  * 30-40% performance improvement    
  * Multiple bug fixes and internal enhancements

Known Restrictions
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 change 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 
implemented.

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.