Thanks for your answer, it helps me a lot.
I have additional questions about databinding, hopfully any one can give me
some hints.
1. "That makes the requirement on a binding that it be able to support
transformation between a representation used in the runtime and the
representation the user is using. Representations used in the runtime
include bytes from the transport layer, instances supplied by other user
components, and instances used by the runtime
itself."
Can I say that, representation used by the user is a databinding
the user typically prefer.Representation
the runtime is using, include XMLStreamReaders(interact with the
transport stream), instances suppied by
other components --- databindings other component developers
prefer, and instances used by the runtime.
However what is instances used by the runtime itself, can any one
give me an example?
2. What are the difference between Logical Type and Physical Type?
From the comments in DataType.java,
logical type is used by the assembly, physical type is used by
the runtime, and for tuscany-java the physical
type is always a Java Type. If I have 2 DataType objets, that
have databinding and physical type in common but
have different logical type. They are different datatype
instances; therefore, they should be mediated using
some transformer. However, in the databidng graph in transformer
registry, they are on the same vertex(Since
they have the databinding in common). This seems odd, where am I
going wrong?
3. Where is the data mediator interceptor? For a component A
with reference r references services s in
component B. Where is the data binding interceptor? A's outbound
side before targetInvker or B's inbound
side? What is the relationship with binding? Typically if
reference r and service s both use ws binding, the
data transformation steps are: Data represented by data binding A
--> Data represented by Axiom
(in Axis2TargetInvker)--->Stream on the transport--->Data
represented by Axiom--->Data represented by
data binding B. So, 5 steps involved, step 1 is in A's outbound
side, step 2, 3 are done by Axis runtime, Step 4
is in B's inbound side. Is it right?
On 1/21/07, Jeremy Boynes <[EMAIL PROTECTED]> wrote:
I don't know about "recommended" - SDO is "a" databinding in SCA/
Tuscany with certain advantages but others are also relevant. For
example, the Java spec talks about a JAX-WS representation of WSDL
interfaces and the databinding for that would be JAXB.
The goal we've had is that users should be able to use databindings
most applicable to their application - i.e. they get to drive the
databindings that get engaged just by using them in their
application. That makes the requirement on a binding that it be able
to support transformation between a representation used in the
runtime and the representation the user is using. Representations
used in the runtime include bytes from the transport layer, instances
supplied by other user components, and instances used by the runtime
itself.
For values from the configuration files, there is a spec requirement
that we be able to evaluate XPath expressions over them (this is the
complex property support from the spec that people refer to). We do
the XPath evaluation using the standard API and that works on DOM, so
the runtime converts all property values from the XML to DOM
instances. The intention is that the runtime will use the databinding
framework to convert these DOM instances to values that are
compatible with the site where they need to be injected so ideally
the databinding for that type would be able to convert directly from
DOM. However, the framework is able to do multi-step conversions so
it will still work provided a suitable chain of conversions can be
constructed (albeit less efficiently).
So, there is no primary databinding but the more conversions a
databinding can support directly the more efficient it will be and
the more users use it the more it will be engaged.
--
Jeremy
On Jan 20, 2007, at 3:44 AM, chen congwu wrote:
> Hi,
>
> It is recommended that SDO should work as the default db in an
>
> SCA implementation. Can I make another db as the primary, and
>
> support SDO and other db mechanisms as the subsidiary.(Say it primary,
>
> means that the whole system can work with only this db engaged.) If
> so,
>
> what capabilities should this db support? It seems that this db
>
> must at least supply transformers between DOM and its binding
>
> objects to inject property values supplied in the configuration file,
>
> supply transformation between XML document and binding object to
> carry on the serialize and deserialize job.
>
>
>
> What other requirements are needed for it to be the primary db?
>
> -----------------------------------
>
> Graduate Student with Institute of Software,
>
> China Academy of Sciences, China
>
>
>
>
>
> Comain Chen
>
> Mail: [EMAIL PROTECTED] , [EMAIL PROTECTED]
>
>
>
>
>
>
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
--
Best regrads,
Comain Chen