You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@ode.apache.org by Kristoffer Sjögren <st...@gmail.com> on 2007/08/11 11:11:44 UTC

Axis2 local transport

Hi,

I wonder if it is possible to have partnerLinks as axis2 local
transport, when using ODE (ie something similar to a oracle BPEL and
WSIF combo)

If not, why? We really need orchestration, but a network layer between
our services really does not make any sense, because of latency
requirements.

regards,
-Kristoffer

Re: Axis2 local transport

Posted by fLozano <fj...@gmail.com>.
Does this mean one could call a web service stored locally? Does this
eliminate the soap wrapping? What's the advantage of this?

Alex Boisvert wrote:
> 
> Yes, that should work.
> 
> And BPEL to BPEL already goes directly without hitting axis2.
> 
> alex
> 
> 
> On 8/11/07, Kristoffer Sjögren <st...@gmail.com> wrote:
>>
>> Hi,
>>
>> I wonder if it is possible to have partnerLinks as axis2 local
>> transport, when using ODE (ie something similar to a oracle BPEL and
>> WSIF combo)
>>
>> If not, why? We really need orchestration, but a network layer between
>> our services really does not make any sense, because of latency
>> requirements.
>>
>> regards,
>> -Kristoffer
>>
> 
> 

-- 
View this message in context: http://www.nabble.com/Axis2-local-transport-tf4252925.html#a12273981
Sent from the Apache Ode User mailing list archive at Nabble.com.


Re: Axis2 local transport

Posted by fLozano <fj...@gmail.com>.
>From what I have seen on the internet WSIF is like dead or obsolete their web
site hasn't been updated since 2006. I'm getting kind of a bad vibe from it.

I've searched a lot! And can't seem to find anything useful for WSIF and
Axis or Ode. What I have found is that WSIF uses an old axis implementation,
which wouldn't work for me because I use the Axis version that comes with
Ode1.1

The only place I've seen some activity about WSIF is in the IBM site.

If you find anything useful please tell! So will I.

Thanks,
Fernando.


kristoffer wrote:
> 
> That is how I interpret it, and that's what i want to do. Or more
> exact, i want to invoke services from ode, services which are in the
> same JVM, and if possible, the same classloader so that a
> call-by-reference is possible.
> 
> I have browsed both axis2 and ode sites, googled, nabbled, searched
> mail-lists, source code but im unable to find examples of how to do
> this... very frustrating.
> 
> It seems axis2 must somhow be configured with LocalTransportReceiver
> and LocalTransportSender... but I cant figure out how to connect the
> ode/bpel and axis2 configuration in order to make it work...
> 
> any ideas?
> 
> On 8/13/07, fLozano <fj...@gmail.com> wrote:
>>
>> Hi,
>>
>> Maybe this doesn't have to do anything with the subject... but I'm trying
>> reduce the cost of calling services stored on my machine by invoking them
>> directly without going through the network.
>>
>> Is this what Alex means by "BPEL to BPEL already goes directly without
>> hitting axis2"?
>>
>>
>>
>> kristoffer wrote:
>> >
>> > That's great news! Are you aware of any test code / examples which
>> > shows how to do this? I have browsed the ODE and Axis2 test sources
>> > but I could not find anything...
>> >
>> > regards,
>> > -Kristoffer
>> >
>> > On 8/13/07, Alex Boisvert <bo...@intalio.com> wrote:
>> >> Yes, that should work.
>> >>
>> >> And BPEL to BPEL already goes directly without hitting axis2.
>> >>
>> >> alex
>> >>
>> >>
>> >> On 8/11/07, Kristoffer Sjögren <st...@gmail.com> wrote:
>> >> >
>> >> > Hi,
>> >> >
>> >> > I wonder if it is possible to have partnerLinks as axis2 local
>> >> > transport, when using ODE (ie something similar to a oracle BPEL and
>> >> > WSIF combo)
>> >> >
>> >> > If not, why? We really need orchestration, but a network layer
>> between
>> >> > our services really does not make any sense, because of latency
>> >> > requirements.
>> >> >
>> >> > regards,
>> >> > -Kristoffer
>> >> >
>> >>
>> >
>> >
>>
>> --
>> View this message in context:
>> http://www.nabble.com/Axis2-local-transport-tf4252925.html#a12131987
>> Sent from the Apache Ode User mailing list archive at Nabble.com.
>>
>>
> 
> 

-- 
View this message in context: http://www.nabble.com/Axis2-local-transport-tf4252925.html#a12133926
Sent from the Apache Ode User mailing list archive at Nabble.com.


Re: Axis2 local transport

Posted by ShaoGuang Geng <sh...@yahoo.com>.
Hi, I noticed WSIF was a very old project and nearly not updated for 4 more years.


Alex Boisvert <bo...@intalio.com> wrote: On 8/15/07, fLozano  wrote:
>
> Imagine I want to receive "Hello World" in different languages and I do
> this
> through a web service  on my machine. This would normally imply that I
> invoke it as a regular web service which has soap wrappings and etc... Is
> there a way to invoke that service without having to use soap???
>
> I know WSIF enables you to call local java classes and such. Can it work
> for
> this?



Yes, it's possible although it's not something that I've worked on
personally (WSIF).

Another way would be to deploy your code in the same Axis2 instance and then
use org.apache.axis2.client.ServiceClient or one of their multiple service
interfaces to implement in-VM services.    Or use JBI.

alex


       
---------------------------------
Sick sense of humor? Visit Yahoo! TV's Comedy with an Edge to see what's on, when. 
       
---------------------------------
Ready for the edge of your seat? Check out tonight's top picks on Yahoo! TV. 

Re: Axis2 local transport

Posted by Alex Boisvert <bo...@intalio.com>.
On 8/15/07, fLozano <fj...@gmail.com> wrote:
>
> Imagine I want to receive "Hello World" in different languages and I do
> this
> through a web service  on my machine. This would normally imply that I
> invoke it as a regular web service which has soap wrappings and etc... Is
> there a way to invoke that service without having to use soap???
>
> I know WSIF enables you to call local java classes and such. Can it work
> for
> this?



Yes, it's possible although it's not something that I've worked on
personally (WSIF).

Another way would be to deploy your code in the same Axis2 instance and then
use org.apache.axis2.client.ServiceClient or one of their multiple service
interfaces to implement in-VM services.    Or use JBI.

alex

Re: Axis2 local transport

Posted by fLozano <fj...@gmail.com>.
Ok this assures me that when calling a local process Ode doesn't use soap.

But what if I want to invoke a local task from a bpel process?

Using Ode's HelloWorld2 as an example:

Imagine I want to receive "Hello World" in different languages and I do this
through a web service  on my machine. This would normally imply that I
invoke it as a regular web service which has soap wrappings and etc... Is
there a way to invoke that service without having to use soap??? 

I know WSIF enables you to call local java classes and such. Can it work for
this?

Thanks,
Fernando. 





Alex Boisvert wrote:
> 
> On 8/15/07, fLozano <fj...@gmail.com> wrote:
>>
>> Ok so Ode can call a local process without using axis2. Does this mean
>> that
>> the invocation for the local process is not a web service invocation in
>> the
>> sense of it being wrapped like a soap message?
> 
> 
> Correct.
> 
> 
> In other words, is the invocation for the local process wrapped like a
>> regular web service invocation?
>>
> If it isn't, then this invocation doesn't require any soap unwrapping or
> xml
>> parsing right?
>>
> 
> Correct.  The in-memory XML document is passed directly from one process
> to
> another without any transformation.  In the case of using a "local" Axis2
> transport, the only transformation would be converting from a W3C DOM to
> an
> Axiom DOM and back (via SAX or StAX).   Using Axiom internally in Ode is
> something that we have discussed but have not decided to do yet.
> 
> alex
> 
> 

-- 
View this message in context: http://www.nabble.com/Axis2-local-transport-tf4252925.html#a12169665
Sent from the Apache Ode User mailing list archive at Nabble.com.


Re: Axis2 local transport

Posted by Alex Boisvert <bo...@intalio.com>.
On 8/15/07, fLozano <fj...@gmail.com> wrote:
>
> Ok so Ode can call a local process without using axis2. Does this mean
> that
> the invocation for the local process is not a web service invocation in
> the
> sense of it being wrapped like a soap message?


Correct.


In other words, is the invocation for the local process wrapped like a
> regular web service invocation?
>
If it isn't, then this invocation doesn't require any soap unwrapping or xml
> parsing right?
>

Correct.  The in-memory XML document is passed directly from one process to
another without any transformation.  In the case of using a "local" Axis2
transport, the only transformation would be converting from a W3C DOM to an
Axiom DOM and back (via SAX or StAX).   Using Axiom internally in Ode is
something that we have discussed but have not decided to do yet.

alex

Re: Axis2 local transport

Posted by fLozano <fj...@gmail.com>.
Hi,

Ok so Ode can call a local process without using axis2. Does this mean that
the invocation for the local process is not a web service invocation in the
sense of it being wrapped like a soap message?

In other words, is the invocation for the local process wrapped like a
regular web service invocation?

If it isn't, then this invocation doesn't require any soap unwrapping or xml
parsing right?



Matthieu Riou-5 wrote:
> 
> Actually for processes you don't need to do anything now. If from process
> A
> you try to invoke process B and ODE finds that process B is deployed
> locally
> it will invoke it directly, without hitting any communication layer. So
> process to process communication has almost no latency cost.
> 
> For service invocation, I would think it's probably only tweaking the
> axis2.xml bundled with ODE and your endpoints. The local transport sender
> is
> already configured, so adding a local transport receiver and using proper
> endpoint addresses (starting with local:// I believe) should work. I
> haven't
> tried it myself but it looks like everything is there. You might want to
> ask
> the Axis2 people as well to make sure there's not another gotcha but ODE
> is
> just like any other local web service here.
> 
> Cheers,
> Matthieu
> 
> On 8/13/07, Paul Brown <pa...@gmail.com> wrote:
>>
>> On 8/13/07, Kristoffer Sjögren <st...@gmail.com> wrote:
>> > That is how I interpret it, and that's what i want to do. Or more
>> > exact, i want to invoke services from ode, services which are in the
>> > same JVM, and if possible, the same classloader so that a
>> > call-by-reference is possible.
>>
>> I haven't looked at the plumbing since the IL refactor, but it used to
>> be possible to directly connect a BPEL process to another BPEL process
>> within the Ode container and without hitting the wire.  This is still
>> a "hop" in the sense that it involves persistence (to the extent that
>> the process does) and serialization of state, but it doesn't involve
>> serializing and deserializing, e.g., to SOAP.
>>
>> If you truly want in-band invocation and don't have long-running
>> operations, why not consider XPath extension functions?  I'll let
>> other Ode'ers steer you away if I'm not thinking clearly, but that's
>> one way to get what you're after.
>>
>> -- Paul
>>
> 
> 

-- 
View this message in context: http://www.nabble.com/Axis2-local-transport-tf4252925.html#a12163139
Sent from the Apache Ode User mailing list archive at Nabble.com.


Re: Axis2 local transport

Posted by Matthieu Riou <ma...@offthelip.org>.
Actually for processes you don't need to do anything now. If from process A
you try to invoke process B and ODE finds that process B is deployed locally
it will invoke it directly, without hitting any communication layer. So
process to process communication has almost no latency cost.

For service invocation, I would think it's probably only tweaking the
axis2.xml bundled with ODE and your endpoints. The local transport sender is
already configured, so adding a local transport receiver and using proper
endpoint addresses (starting with local:// I believe) should work. I haven't
tried it myself but it looks like everything is there. You might want to ask
the Axis2 people as well to make sure there's not another gotcha but ODE is
just like any other local web service here.

Cheers,
Matthieu

On 8/13/07, Paul Brown <pa...@gmail.com> wrote:
>
> On 8/13/07, Kristoffer Sjögren <st...@gmail.com> wrote:
> > That is how I interpret it, and that's what i want to do. Or more
> > exact, i want to invoke services from ode, services which are in the
> > same JVM, and if possible, the same classloader so that a
> > call-by-reference is possible.
>
> I haven't looked at the plumbing since the IL refactor, but it used to
> be possible to directly connect a BPEL process to another BPEL process
> within the Ode container and without hitting the wire.  This is still
> a "hop" in the sense that it involves persistence (to the extent that
> the process does) and serialization of state, but it doesn't involve
> serializing and deserializing, e.g., to SOAP.
>
> If you truly want in-band invocation and don't have long-running
> operations, why not consider XPath extension functions?  I'll let
> other Ode'ers steer you away if I'm not thinking clearly, but that's
> one way to get what you're after.
>
> -- Paul
>

Re: Axis2 local transport

Posted by Paul Brown <pa...@gmail.com>.
On 8/13/07, Kristoffer Sjögren <st...@gmail.com> wrote:
> That is how I interpret it, and that's what i want to do. Or more
> exact, i want to invoke services from ode, services which are in the
> same JVM, and if possible, the same classloader so that a
> call-by-reference is possible.

I haven't looked at the plumbing since the IL refactor, but it used to
be possible to directly connect a BPEL process to another BPEL process
within the Ode container and without hitting the wire.  This is still
a "hop" in the sense that it involves persistence (to the extent that
the process does) and serialization of state, but it doesn't involve
serializing and deserializing, e.g., to SOAP.

If you truly want in-band invocation and don't have long-running
operations, why not consider XPath extension functions?  I'll let
other Ode'ers steer you away if I'm not thinking clearly, but that's
one way to get what you're after.

-- Paul

Re: Axis2 local transport

Posted by Kristoffer Sjögren <st...@gmail.com>.
That is how I interpret it, and that's what i want to do. Or more
exact, i want to invoke services from ode, services which are in the
same JVM, and if possible, the same classloader so that a
call-by-reference is possible.

I have browsed both axis2 and ode sites, googled, nabbled, searched
mail-lists, source code but im unable to find examples of how to do
this... very frustrating.

It seems axis2 must somhow be configured with LocalTransportReceiver
and LocalTransportSender... but I cant figure out how to connect the
ode/bpel and axis2 configuration in order to make it work...

any ideas?

On 8/13/07, fLozano <fj...@gmail.com> wrote:
>
> Hi,
>
> Maybe this doesn't have to do anything with the subject... but I'm trying
> reduce the cost of calling services stored on my machine by invoking them
> directly without going through the network.
>
> Is this what Alex means by "BPEL to BPEL already goes directly without
> hitting axis2"?
>
>
>
> kristoffer wrote:
> >
> > That's great news! Are you aware of any test code / examples which
> > shows how to do this? I have browsed the ODE and Axis2 test sources
> > but I could not find anything...
> >
> > regards,
> > -Kristoffer
> >
> > On 8/13/07, Alex Boisvert <bo...@intalio.com> wrote:
> >> Yes, that should work.
> >>
> >> And BPEL to BPEL already goes directly without hitting axis2.
> >>
> >> alex
> >>
> >>
> >> On 8/11/07, Kristoffer Sjögren <st...@gmail.com> wrote:
> >> >
> >> > Hi,
> >> >
> >> > I wonder if it is possible to have partnerLinks as axis2 local
> >> > transport, when using ODE (ie something similar to a oracle BPEL and
> >> > WSIF combo)
> >> >
> >> > If not, why? We really need orchestration, but a network layer between
> >> > our services really does not make any sense, because of latency
> >> > requirements.
> >> >
> >> > regards,
> >> > -Kristoffer
> >> >
> >>
> >
> >
>
> --
> View this message in context: http://www.nabble.com/Axis2-local-transport-tf4252925.html#a12131987
> Sent from the Apache Ode User mailing list archive at Nabble.com.
>
>

Re: Axis2 local transport

Posted by fLozano <fj...@gmail.com>.
Hi,

Maybe this doesn't have to do anything with the subject... but I'm trying
reduce the cost of calling services stored on my machine by invoking them
directly without going through the network. 

Is this what Alex means by "BPEL to BPEL already goes directly without
hitting axis2"?



kristoffer wrote:
> 
> That's great news! Are you aware of any test code / examples which
> shows how to do this? I have browsed the ODE and Axis2 test sources
> but I could not find anything...
> 
> regards,
> -Kristoffer
> 
> On 8/13/07, Alex Boisvert <bo...@intalio.com> wrote:
>> Yes, that should work.
>>
>> And BPEL to BPEL already goes directly without hitting axis2.
>>
>> alex
>>
>>
>> On 8/11/07, Kristoffer Sjögren <st...@gmail.com> wrote:
>> >
>> > Hi,
>> >
>> > I wonder if it is possible to have partnerLinks as axis2 local
>> > transport, when using ODE (ie something similar to a oracle BPEL and
>> > WSIF combo)
>> >
>> > If not, why? We really need orchestration, but a network layer between
>> > our services really does not make any sense, because of latency
>> > requirements.
>> >
>> > regards,
>> > -Kristoffer
>> >
>>
> 
> 

-- 
View this message in context: http://www.nabble.com/Axis2-local-transport-tf4252925.html#a12131987
Sent from the Apache Ode User mailing list archive at Nabble.com.


Re: Axis2 local transport

Posted by Kristoffer Sjögren <st...@gmail.com>.
That's great news! Are you aware of any test code / examples which
shows how to do this? I have browsed the ODE and Axis2 test sources
but I could not find anything...

regards,
-Kristoffer

On 8/13/07, Alex Boisvert <bo...@intalio.com> wrote:
> Yes, that should work.
>
> And BPEL to BPEL already goes directly without hitting axis2.
>
> alex
>
>
> On 8/11/07, Kristoffer Sjögren <st...@gmail.com> wrote:
> >
> > Hi,
> >
> > I wonder if it is possible to have partnerLinks as axis2 local
> > transport, when using ODE (ie something similar to a oracle BPEL and
> > WSIF combo)
> >
> > If not, why? We really need orchestration, but a network layer between
> > our services really does not make any sense, because of latency
> > requirements.
> >
> > regards,
> > -Kristoffer
> >
>

Re: Axis2 local transport

Posted by Alex Boisvert <bo...@intalio.com>.
Yes, that should work.

And BPEL to BPEL already goes directly without hitting axis2.

alex


On 8/11/07, Kristoffer Sjögren <st...@gmail.com> wrote:
>
> Hi,
>
> I wonder if it is possible to have partnerLinks as axis2 local
> transport, when using ODE (ie something similar to a oracle BPEL and
> WSIF combo)
>
> If not, why? We really need orchestration, but a network layer between
> our services really does not make any sense, because of latency
> requirements.
>
> regards,
> -Kristoffer
>