You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tuscany.apache.org by ant elder <an...@gmail.com> on 2006/02/13 13:24:36 UTC
Migration to Axis2
I'd like to start on the migration from Axis 1 to Axis2 now so I'm wondering
whats the best way to do it. The current WS binding is in binding.axis so I
guess i need a new binding.axis2, and as there's some others who've
expressed interest in helping it would be good if that could go in the
Tuscany sandbox or trunk. The easiest approach seems to me to be copy all
the existing binding.axis code to binding.axis2 and then change everything
that uses Axis to use Axis2, and probably starting with the externalService
code, and once thats going do the entryPoint code. I know this doesn't
include all the context and sdo and other changes which are going on or
being proposed, but its not real clear what all those require so it seems
easiest to stick with whats already there for now. How does all this sound?
...ant
Re: Migration to Axis2
Posted by Jim Marino <jm...@myroma.net>.
On Feb 13, 2006, at 10:14 PM, Jeremy Boynes wrote:
> ant elder wrote:
>
>> I'm all for more explanations of whats going on with the contexts
>> so go for
>> it.
>>
>>
>
> Jim, I think more explanation here would be useful, especially on how
> the binding and wiring framework can be extended. If you can provide
> information on the essential interfaces and integration points,
> perhaps
> that would be a good starting point that would allow Ant and others to
> start work on integrating Axis2.
Yes, will do.
>
>
>> What are you proposing though - converting the existing Axis1
>> based WS
>> binding to the new contexts first? I'm fine with that if it
>> doesn't take to
>> long, can I help or is this something you and Jeremy need to do?
>> I'd really
>> would like to get started on the Axis 2 work soon though.
>>
>>
>
> My first reaction would be to forget about the existing Axis1
> implementation, look at the interfaces Jim has to the wiring/binding
> infrastructure and start implementing them with Axis2.
>
Agree on "forgetting" about Axis1 and moving straight to Axis 2
> I think starting as you suggested with support for external services
> using the Axis2 client model would be the easier way to get going.
>
> --
> Jeremy
>
>
>> ...ant
>>
>> On 2/13/06, Jim Marino <jm...@myroma.net> wrote:
>>
>>
>>> I think we should begin with the changes to the contexts that Jeremy
>>> and myself are working on; otherwise, we risk having to redo this
>>> shortly. I propose we explain the changes better and agree on API
>>> with those interested in working on the integration so that work and
>>> the changes can be done in parallel. How does this sound?
>>>
>>> Jim
>>>
>>>
>>> On Feb 13, 2006, at 4:24 AM, ant elder wrote:
>>>
>>>
>>>
>>>> I'd like to start on the migration from Axis 1 to Axis2 now so I'm
>>>> wondering
>>>> whats the best way to do it. The current WS binding is in
>>>> binding.axis so I
>>>> guess i need a new binding.axis2, and as there's some others who've
>>>> expressed interest in helping it would be good if that could go
>>>> in the
>>>> Tuscany sandbox or trunk. The easiest approach seems to me to be
>>>> copy all
>>>> the existing binding.axis code to binding.axis2 and then change
>>>> everything
>>>> that uses Axis to use Axis2, and probably starting with the
>>>> externalService
>>>> code, and once thats going do the entryPoint code. I know this
>>>> doesn't
>>>> include all the context and sdo and other changes which are going
>>>> on or
>>>> being proposed, but its not real clear what all those require so it
>>>> seems
>>>> easiest to stick with whats already there for now. How does all
>>>> this sound?
>>>>
>>>> ...ant
>>>>
>>>>
>>>
>>>
>>>
>>
>
Re: Migration to Axis2
Posted by Jeremy Boynes <jb...@apache.org>.
ant elder wrote:
> I'm all for more explanations of whats going on with the contexts so go for
> it.
>
Jim, I think more explanation here would be useful, especially on how
the binding and wiring framework can be extended. If you can provide
information on the essential interfaces and integration points, perhaps
that would be a good starting point that would allow Ant and others to
start work on integrating Axis2.
> What are you proposing though - converting the existing Axis1 based WS
> binding to the new contexts first? I'm fine with that if it doesn't take to
> long, can I help or is this something you and Jeremy need to do? I'd really
> would like to get started on the Axis 2 work soon though.
>
My first reaction would be to forget about the existing Axis1
implementation, look at the interfaces Jim has to the wiring/binding
infrastructure and start implementing them with Axis2.
I think starting as you suggested with support for external services
using the Axis2 client model would be the easier way to get going.
--
Jeremy
> ...ant
>
> On 2/13/06, Jim Marino <jm...@myroma.net> wrote:
>
>>I think we should begin with the changes to the contexts that Jeremy
>>and myself are working on; otherwise, we risk having to redo this
>>shortly. I propose we explain the changes better and agree on API
>>with those interested in working on the integration so that work and
>>the changes can be done in parallel. How does this sound?
>>
>>Jim
>>
>>
>>On Feb 13, 2006, at 4:24 AM, ant elder wrote:
>>
>>
>>>I'd like to start on the migration from Axis 1 to Axis2 now so I'm
>>>wondering
>>>whats the best way to do it. The current WS binding is in
>>>binding.axis so I
>>>guess i need a new binding.axis2, and as there's some others who've
>>>expressed interest in helping it would be good if that could go in the
>>>Tuscany sandbox or trunk. The easiest approach seems to me to be
>>>copy all
>>>the existing binding.axis code to binding.axis2 and then change
>>>everything
>>>that uses Axis to use Axis2, and probably starting with the
>>>externalService
>>>code, and once thats going do the entryPoint code. I know this doesn't
>>>include all the context and sdo and other changes which are going
>>>on or
>>>being proposed, but its not real clear what all those require so it
>>>seems
>>>easiest to stick with whats already there for now. How does all
>>>this sound?
>>>
>>> ...ant
>>>
>>
>>
>
Re: Migration to Axis2
Posted by Jim Marino <jm...@myroma.net>.
On Feb 13, 2006, at 1:49 PM, ant elder wrote:
> I'm all for more explanations of whats going on with the contexts
> so go for
> it.
One place to start are the docs in my sandbox. They need to be update
to reflect the work Jeremy has done this weekend, which I will do as
soon as possible.
>
> What are you proposing though - converting the existing Axis1 based WS
> binding to the new contexts first?
I would personally rather just start with Axis2 and not bother with
Axis1
> I'm fine with that if it doesn't take to
> long, can I help or is this something you and Jeremy need to do?
I would like for you and others to help.
> I'd really
> would like to get started on the Axis 2 work soon though.
>
Let's see what I can do by way of docs.
> ...ant
>
> On 2/13/06, Jim Marino <jm...@myroma.net> wrote:
>
>>
>> I think we should begin with the changes to the contexts that Jeremy
>> and myself are working on; otherwise, we risk having to redo this
>> shortly. I propose we explain the changes better and agree on API
>> with those interested in working on the integration so that work and
>> the changes can be done in parallel. How does this sound?
>>
>> Jim
>>
>>
>> On Feb 13, 2006, at 4:24 AM, ant elder wrote:
>>
>>
>>> I'd like to start on the migration from Axis 1 to Axis2 now so I'm
>>> wondering
>>> whats the best way to do it. The current WS binding is in
>>> binding.axis so I
>>> guess i need a new binding.axis2, and as there's some others who've
>>> expressed interest in helping it would be good if that could go
>>> in the
>>> Tuscany sandbox or trunk. The easiest approach seems to me to be
>>> copy all
>>> the existing binding.axis code to binding.axis2 and then change
>>> everything
>>> that uses Axis to use Axis2, and probably starting with the
>>> externalService
>>> code, and once thats going do the entryPoint code. I know this
>>> doesn't
>>> include all the context and sdo and other changes which are going
>>> on or
>>> being proposed, but its not real clear what all those require so it
>>> seems
>>> easiest to stick with whats already there for now. How does all
>>> this sound?
>>>
>>> ...ant
>>>
>>>
>>
>>
>
Re: Migration to Axis2
Posted by ant elder <an...@gmail.com>.
I'm all for more explanations of whats going on with the contexts so go for
it.
What are you proposing though - converting the existing Axis1 based WS
binding to the new contexts first? I'm fine with that if it doesn't take to
long, can I help or is this something you and Jeremy need to do? I'd really
would like to get started on the Axis 2 work soon though.
...ant
On 2/13/06, Jim Marino <jm...@myroma.net> wrote:
>
> I think we should begin with the changes to the contexts that Jeremy
> and myself are working on; otherwise, we risk having to redo this
> shortly. I propose we explain the changes better and agree on API
> with those interested in working on the integration so that work and
> the changes can be done in parallel. How does this sound?
>
> Jim
>
>
> On Feb 13, 2006, at 4:24 AM, ant elder wrote:
>
> > I'd like to start on the migration from Axis 1 to Axis2 now so I'm
> > wondering
> > whats the best way to do it. The current WS binding is in
> > binding.axis so I
> > guess i need a new binding.axis2, and as there's some others who've
> > expressed interest in helping it would be good if that could go in the
> > Tuscany sandbox or trunk. The easiest approach seems to me to be
> > copy all
> > the existing binding.axis code to binding.axis2 and then change
> > everything
> > that uses Axis to use Axis2, and probably starting with the
> > externalService
> > code, and once thats going do the entryPoint code. I know this doesn't
> > include all the context and sdo and other changes which are going
> > on or
> > being proposed, but its not real clear what all those require so it
> > seems
> > easiest to stick with whats already there for now. How does all
> > this sound?
> >
> > ...ant
> >
>
>
Re: Migration to Axis2
Posted by Jim Marino <jm...@myroma.net>.
I think we should begin with the changes to the contexts that Jeremy
and myself are working on; otherwise, we risk having to redo this
shortly. I propose we explain the changes better and agree on API
with those interested in working on the integration so that work and
the changes can be done in parallel. How does this sound?
Jim
On Feb 13, 2006, at 4:24 AM, ant elder wrote:
> I'd like to start on the migration from Axis 1 to Axis2 now so I'm
> wondering
> whats the best way to do it. The current WS binding is in
> binding.axis so I
> guess i need a new binding.axis2, and as there's some others who've
> expressed interest in helping it would be good if that could go in the
> Tuscany sandbox or trunk. The easiest approach seems to me to be
> copy all
> the existing binding.axis code to binding.axis2 and then change
> everything
> that uses Axis to use Axis2, and probably starting with the
> externalService
> code, and once thats going do the entryPoint code. I know this doesn't
> include all the context and sdo and other changes which are going
> on or
> being proposed, but its not real clear what all those require so it
> seems
> easiest to stick with whats already there for now. How does all
> this sound?
>
> ...ant
>
Re: Migration to Axis2
Posted by Daniel Kulp <da...@iona.com>.
Raymond and Ant,
Thanks for this information. It's definitely informative. Can I ask
that as you discover more "touch points" and suggestions and such that
you either share them here or possibly setup a wiki?
The reason I ask is that I'm starting to look at how to replace the
axis/web service layer with Celtix and will probably run into many of the
same or similar issues. I'm definitely behind where you are (just
looking at things right now, no code down) and if I can learn from your
experiences, that would be great and get me up to speed quicker.
If the "sandbox" prototype thing can be setup, that would be great.
Something else for me to look at as an example.
Thanks!
--
J. Daniel Kulp
Principal Engineer
IONA
P: 781-902-8727 C: 508-380-7194
daniel.kulp@iona.com
On Tuesday 14 February 2006 01:47, Raymond Feng wrote:
> Hi,
>
> I sent a prototype to Rick Rineholt last week. Rick, do you think it's
> OK to check it into the sandbox so that it can be shared as the
> starting point for the project structure?
>
> In the current Axis1.x integration, we wholly control the creation of
> SOAP envelopes from Tuscany by serialization/deserialization the SDO
> DataObject (representing the input/output messages) to/from SOAP
> element. As we discussed before, we want to levarage the Axis2
> databinding, i.e., Tuscany will provide/register SDO DataObject
> serializer/deserializer against the ADB and have Axis2 take care of the
> rest of the WebService stack.
>
> Starting with the "externalService" path first should be a good
> approach. Should we just simulate the Axis2 stub code programatically
> driven by the WSDL in the following steps?
>
> 1) Create the AxisService and add all the operations
> 2) Create the ServiceClient and set options such as the target EPR
> 3) Create the OperationClient, set the options
> 4) Create the request SOAPEnvelope (OMElement) from the input data
> 5) Execute the operation client
> 6) Create response object out of the SOAPEnvelope (OMElement)
>
> IMHO, the quick and dirty way to implement the SDO
> serializer/deserializer can be like this:
>
> Serializer: Save the DataObject as XML document by calling
> "commonj.sdo.helper.XMLHelper.save()" and then using the StAX parser to
> pull the XML document back to the OMElement
> Deserializer: Create the XMLDocument from the OMElement and load it
> using "commonj.sdo.helper.XMLHelper.load()"
>
> Then they can be further enhanced to transform between SDO and OM using
> the StAX directly until we have a nice StAX based SDO
> serializer/deserializer (I really hope I can spend some time to make it
> happen soon:-).
>
> I also did some investigation for the "entryPoint" based on Axis2. Here
> are some possibilities:
> 1) Use the DeploymentEngine to register SCA WS entry point to Axis2 as
> web services (In Axis1.x, we use the "EngineConfigurationFactory" to
> publish SCA WS entryPoints to the engine)
> 2) Create the MessageReceiver for SCA WS entry point inspired by this
> article:
> http://www.developer.com/java/other/article.php/10936_3570031_2
>
> Raymond
>
> ----- Original Message -----
> From: "ant elder" <an...@gmail.com>
> To: <tu...@ws.apache.org>
> Sent: Monday, February 13, 2006 4:24 AM
> Subject: Migration to Axis2
>
>
> I'd like to start on the migration from Axis 1 to Axis2 now so I'm
> wondering whats the best way to do it. The current WS binding is in
> binding.axis so I guess i need a new binding.axis2, and as there's some
> others who've expressed interest in helping it would be good if that
> could go in the Tuscany sandbox or trunk. The easiest approach seems to
> me to be copy all the existing binding.axis code to binding.axis2 and
> then change everything that uses Axis to use Axis2, and probably
> starting with the externalService code, and once thats going do the
> entryPoint code. I know this doesn't include all the context and sdo
> and other changes which are going on or being proposed, but its not
> real clear what all those require so it seems easiest to stick with
> whats already there for now. How does all this sound?
>
> ...ant
--
J. Daniel Kulp
Principal Engineer
IONA
P: 781-902-8727 C: 508-380-7194
daniel.kulp@iona.com
Re: Migration to Axis2
Posted by Raymond Feng <en...@gmail.com>.
Hi,
I sent a prototype to Rick Rineholt last week. Rick, do you think it's OK to
check it into the sandbox so that it can be shared as the starting point for
the project structure?
In the current Axis1.x integration, we wholly control the creation of SOAP
envelopes from Tuscany by serialization/deserialization the SDO DataObject
(representing the input/output messages) to/from SOAP element. As we
discussed before, we want to levarage the Axis2 databinding, i.e., Tuscany
will provide/register SDO DataObject serializer/deserializer against the ADB
and have Axis2 take care of the rest of the WebService stack.
Starting with the "externalService" path first should be a good approach.
Should we just simulate the Axis2 stub code programatically driven by the
WSDL in the following steps?
1) Create the AxisService and add all the operations
2) Create the ServiceClient and set options such as the target EPR
3) Create the OperationClient, set the options
4) Create the request SOAPEnvelope (OMElement) from the input data
5) Execute the operation client
6) Create response object out of the SOAPEnvelope (OMElement)
IMHO, the quick and dirty way to implement the SDO serializer/deserializer
can be like this:
Serializer: Save the DataObject as XML document by calling
"commonj.sdo.helper.XMLHelper.save()" and then using the StAX parser to pull
the XML document back to the OMElement
Deserializer: Create the XMLDocument from the OMElement and load it using
"commonj.sdo.helper.XMLHelper.load()"
Then they can be further enhanced to transform between SDO and OM using the
StAX directly until we have a nice StAX based SDO serializer/deserializer (I
really hope I can spend some time to make it happen soon:-).
I also did some investigation for the "entryPoint" based on Axis2. Here are
some possibilities:
1) Use the DeploymentEngine to register SCA WS entry point to Axis2 as web
services (In Axis1.x, we use the "EngineConfigurationFactory" to publish SCA
WS entryPoints to the engine)
2) Create the MessageReceiver for SCA WS entry point inspired by this
article: http://www.developer.com/java/other/article.php/10936_3570031_2
Raymond
----- Original Message -----
From: "ant elder" <an...@gmail.com>
To: <tu...@ws.apache.org>
Sent: Monday, February 13, 2006 4:24 AM
Subject: Migration to Axis2
I'd like to start on the migration from Axis 1 to Axis2 now so I'm wondering
whats the best way to do it. The current WS binding is in binding.axis so I
guess i need a new binding.axis2, and as there's some others who've
expressed interest in helping it would be good if that could go in the
Tuscany sandbox or trunk. The easiest approach seems to me to be copy all
the existing binding.axis code to binding.axis2 and then change everything
that uses Axis to use Axis2, and probably starting with the externalService
code, and once thats going do the entryPoint code. I know this doesn't
include all the context and sdo and other changes which are going on or
being proposed, but its not real clear what all those require so it seems
easiest to stick with whats already there for now. How does all this sound?
...ant