I've given this a lot of thought as well, perhaps from a different direction than you.
I hate to answer a question with a question, but here it is. Are the dependencies really
the issue? As you describe below, other JBoss projects use 3rd party libraries as well.
I'm generally in favor of using JAX-WS (cxf) rather than Axis, it's a newer and
better spec in my opinion. But I don't know that the change is worth the effort. I
changed the XML_Relational connector to JAX-WS this because I was unable to find a way to
keep Axis from DOMing the response doc, which caused memory issues.
Bringing in the ESB makes a much more powerful and flexible solution for federating with
XML. It provides a better environment for manipulating XML that we will ever produce.
It's a solution we should recommend, but we still need a capable XML/SOAP/REST story
of our own if we going to call ourselves 'Data Federation' IMHO.
We've talked about adding SQL/XML functions to the engine. If we did this, I think we
could get away with simple HTTP and JAX_WS connectors to source the XML and rely upon the
SQL/XML and XQuery functions in Teiid to manipulate it. If a user wanted a stronger
solution they could then use the ESB or other JBoss WS.
I agree that we want to get to a new 'permanent' way in the 7.0-7.1 time frame.
Our window for disruptive changes will get much smaller after 7.1.
~jd
----- "Ramesh Reddy" <rareddy(a)redhat.com> wrote:
Last couple days I have been looking into alternative ways to XML
Connectors than what Teiid currently have to execute SOAP based calls
Teiid currently uses mix of some grown client code using Apache's
HTTP
Client and Axis 1.3 libraries. It has been desire to remove these
dependencies from multiple libraries and more tightly integrate with
the
JBoss technologies.
For that I looked at
JBoss ESB: They provide something called "SoapClient" which based on
"SoapUI" based client library. Using the ESB is nice, as it removes
the
transport level concerns from Teiid and places them on the ESB,
however
I feel that, we may be pulling in more dependencies and tooling
around
this may be an issue.
JAX-WS and JBoss WS: JAX-WS provides a "Service" and "Dispatch"
interface similar to Axis's "Call" interface. This seems promising,
and
supports HTTP Basic auth. Looks like JBoss WS implementation of the
JAX-WS (native, metro, cxf) all support WS-Security. CXF is even
based
WSSJ which is also used by Axis.
Although, ESB based solution is one fix for all this different XML
messages from different sources and can fix our transport issues,
this
is moving issue another level and based on Teiid's SOAP usage model,
this can introduce more latency in the calls along with tooling
issues.
IMO, JAX-WS based solution is good, but not sure what is preferred
implementation between native, metro and cxf from JBoss WS. Also,
there
is good bit of development involved on Teiid to replace the code. But
I
feel this work must be done in 7.0 or 7.1 releases.
I welcome any volunteers who is knowledgeable in this area to comment
and help us with the solution.
Thank you.
Ramesh..
_______________________________________________
teiid-dev mailing list
teiid-dev(a)lists.jboss.org
https://lists.jboss.org/mailman/listinfo/teiid-dev