Jean-Sebastien Delfino wrote:
Hi,
I have a few questions on how Tuscany handles SCA contributions in 1.5.1
and 2.0:
How are contributions read and resolved in 1.x? Can you point me to
sample code and/or simple test cases that show that?
IIRC a year ago there were multiple ways to get contributions, a
contribution service, a workspace api, and multiple implementations of a
domain and node. What's left now in 1.5.1 and used by:
- the runtime bootstrap
- the Tuscany admin?
How has that evolved in the 2.x stream?
Thanks
Hi, Jean-Sebastien,
One change in the 2.x stream relates to the way that cross-contribution imports
are resolved.
In order to get away from the need to establish an ordering for the resolution of contributions, in
2.x, there is a "pre-resolve" phase added. The pre-resolve phase scans the imports and exports of
the contributions and places resolvers into the export objects, so that they are capable of
resolving any imports of artifacts that they export.
This change enables a free order for the resolution of contributions, since any import which
references a contribution that is not yet resolved uses an export from the target contribution that
is able to dynamically resolve the imported artifacts on request.
This change was forced by the sometimes complex dependency architecture of the OASIS test suite,
although I think that it is a very useful modification generally. It enables clean modularity of
contributions, where sharing of specific types of artifacts can be handled separately.
Yours, Mike.