On Aug 17, 2006, at 9:29 AM, Raymond Feng wrote:
Hi, Jim.
Sorry for the confusion.
First of all, I want to reassure you that we're still on the same
page for the overrall direction:
Based on your comments below, I'm not sure we are :-)
1. I fully agree with you that it's a real hack and it's only a
temporary fix for one or two weeks while I'm working out the
databinding integration. The hack will be definitely removed before
we release the Axis2 binding.
2. Axis2 binding is an extension instead of part of the core. We
need to deploy it as an extension instead of poluting the webapp
runtime.
Here's some background that I decided to add such a hack. Rick had
pinged me to see if we can bring up the Axis2 binding to the same
functionality as it had for M1 so that we can perform the Axis2
intergration tests without having to rewrite all the interop tests
using AXIOM. I thought it's reasonable and a working end-to-end
case might also help me to better understand the core/extension/
databinding integration picture so that I can get it right quickly.
I apologized that I didn't communicate it clearly before the check-in.
Could you explain why all of the interop tests require SDO? That
seems a bit strange.
I don't think this should be checked into the main line but rather
done in the sandbox as it violates one of the architecture principles
we set forth. In terms of working out databinding integration, this
should really be done through unit testing as much as possible first.
Note that none of the steps you mentioned below need to be done
outside the context of core, much less require breaking modularity.
Anyway, here's the path I'm full-time on now to work toward the
solution that we have been discussing on this list.
1. Integrate the DataBinding framework with the ServiceContract/
Operation/DataType model
2. Integrate the DataBinding framework with the wiring fabric using
an Interceptor
* Associate some databinding-related context to the composite
hierachary
* Adjust the builder delegation strategy
* Attach an interceptor the wiring fabric to perform the data
transformation based on the databinding context
* Question: Do we model databinding as a policy or part of
the core?
Data binding should be done as part of the wiring infrastructure in
core. "Policy" is a euphemism for the the part of core that
introduces interceptors and handlers, and is itself extensible. We
may need to modify it somewhat so that the databinding policy builder
has information about the target and source of a wire.
Thanks,
Raymond
----- Original Message ----- From: "Jim Marino"
<[EMAIL PROTECTED]>
To: <[email protected]>
Sent: Thursday, August 17, 2006 12:14 AM
Subject: Fwd: svn commit: r432156
Raymond,
I've noticed an SDO and databinding implementation dependencies
have been introduced into the Axis2 binding. Based on your
comments in the code, it appears this is temporary and related to
implementing an interceptor into the policy framework. I'd prefer
that we work on getting the correct solution in place ASAP and am
uncomfortable with introducing hacks such as this one. There was
an email thread the other day about introducing an interceptor
and am happy to provide assistance if required.
Could you please outline what is required so we can work towards
a proper solution?
Thanks,
Jim
Modified:
incubator/tuscany/java/sca/bindings/binding.axis2/pom.xml
incubator/tuscany/java/sca/bindings/binding.axis2/src/main/
java/ org/apache/tuscany/binding/axis2/Axis2BindingBuilder.java
incubator/tuscany/java/sca/bindings/binding.axis2/src/main/
java/ org/apache/tuscany/binding/axis2/Axis2Reference.java
incubator/tuscany/java/sca/bindings/binding.axis2/src/main/
java/ org/apache/tuscany/binding/axis2/Axis2Service.java
incubator/tuscany/java/sca/bindings/binding.axis2/src/main/
java/ org/apache/tuscany/binding/axis2/
Axis2ServiceInOutSyncMessageReceiver.java
incubator/tuscany/java/sca/bindings/binding.axis2/src/main/
java/ org/apache/tuscany/binding/axis2/Axis2TargetInvoker.java
incubator/tuscany/java/sca/bindings/binding.axis2/src/main/
java/ org/apache/tuscany/binding/axis2/util/SDODataBinding.java
incubator/tuscany/java/sca/bindings/binding.axis2/src/main/
java/ org/apache/tuscany/binding/axis2/util/
TuscanyAxisConfigurator.java
incubator/tuscany/java/sca/bindings/binding.axis2/src/main/
resources/META-INF/sca/default.scdl
incubator/tuscany/java/sca/bindings/binding.axis2/src/test/
java/ org/apache/tuscany/binding/axis2/Axis2ReferenceTestCase.java
incubator/tuscany/java/sca/bindings/binding.axis2/src/test/
java/ org/apache/tuscany/binding/axis2/Axis2ServiceTestCase.java
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]