You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@ode.apache.org by Ciaran <ci...@gmail.com> on 2008/05/18 12:52:05 UTC

Axis Namespace prefix generation

Hi,
I'm currently evaluating the possibility of moving to ODE from ActiveBPEL,
currently it seems that for a single thread, ActiveBPEL performs better
end-to-end for a like-for-like BPEL flow, (ActiveBpel ~300ms, Ode ~700ms)
but seems to scale considerably better for multiple threads,  has anyone
else seen this behaviour, or has anecdotal information on the comparative
performance ?

Also, one thing that concerns me, is looking at my load-tests it seems that
ODE is generating unique namespace prefixes for *every* element in each
response document in the workflow (and presumably the documents
created+consumed during the running of the BPEL processes).  In my
particular case the set of namespaces used by the BPEL workflow is static
and known at deployment time, so I'm perplexed why every single element gets
its own unique-prefix un-necccessarily, could anyone please explain this to
me, an example response is as follows:


<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">

   <soapenv:Body>
      <axis2ns4756:ExecuteWorkflowResponse xmlns:axis2ns4756="
http://mynsworkflow" xmlns="http://mynsworkflow" xmlns:saw="
http://mynsworkflow">
         <ExecuteWorkflowResult version="48" xmlns:ns2="http://mynswsdl">
            <axis2ns4757:type xmlns:axis2ns4757="http://mynsmsg" xmlns="
http://mynsmsg">1</axis2ns4757:type>
            <axis2ns4758:status xmlns:axis2ns4758="http://mynsmsg" xmlns="
http://mynsmsg">1</axis2ns4758:status>
            <axis2ns4759:channel xmlns:axis2ns4759="http://mynsmsg" xmlns="
http://mynsmsg">0</axis2ns4759:channel>
            <axis2ns4760:outcome xmlns:axis2ns4760="http://mynsmsg" xmlns="
http://mynsmsg">bece5689-a575-4531-86b6-15176d827c08</axis2ns4760:outcome>
            <axis2ns4761:state xmlns:axis2ns4761="http://mynsmsg" xmlns="
http://mynsmsg">53f123fc-9a27-4559-8fd2-86a6f9dc598e</axis2ns4761:state>
            <axis2ns4762:creationTime xmlns:axis2ns4762="http://mynsmsg"
xmlns="http://mynsmsg">0001-01-03T00:00:00+00:00</axis2ns4762:creationTime>
            <axis2ns4763:changeTime xmlns:axis2ns4763="http://mynsmsg"
xmlns="http://mynsmsg">0001-01-03T00:00:00+00:00</axis2ns4763:changeTime>
            <axis2ns4764:createdBy xmlns:axis2ns4764="http://mynsmsg"
xmlns="http://mynsmsg">bece5689-a575-4531-86b6-15176d827c08</axis2ns4764:createdBy>

         </ExecuteWorkflowResult>
      </axis2ns4756:ExecuteWorkflowResponse>
   </soapenv:Body>
</soapenv:Envelope>

Now, I think I probably understand why there *is* a prefix on each element
even though the default namespace is being specified, as I think (I can
check) that my element form default is 'qualified', but I don't at all
understand why the prefixes are all being generated with different names
(ok, so I understand how, '.uniquePrefix' obviously, but why? )

Can anyone help me ?   Also I'm interesting in writing an AJAX explorer for
the ODE process instances, has anyone else been down this route already ?
Many thanks :)
-- 
- Ciaran

Re: Axis Namespace prefix generation

Posted by Ciaran <ci...@gmail.com>.
On Wed, May 21, 2008 at 11:06 PM, Alex Boisvert <bo...@intalio.com>
wrote:

> On Sun, May 18, 2008 at 3:52 AM, Ciaran <ci...@gmail.com> wrote:
>
> > I'm currently evaluating the possibility of moving to ODE from
> ActiveBPEL,
> > currently it seems that for a single thread, ActiveBPEL performs better
> > end-to-end for a like-for-like BPEL flow, (ActiveBpel ~300ms, Ode ~700ms)
> > but seems to scale considerably better for multiple threads,  has anyone
> > else seen this behaviour, or has anecdotal information on the comparative
> > performance ?
>
>
> I don't have comparative data but I'd be interested in profiling your
> use-case to see if there's something inherently slow in what we're doing.

If I can prove that I can use this orchestration engine to solve my issues
I'll be able to point my own profilers  at our real running flows (which are
a tad too large [several hundred activities]  to e-mail around ;) ) and feed
back the information on where my issues [if any] are :)


>
>
> > Also, one thing that concerns me, is looking at my load-tests it seems
> that
> > ODE is generating unique namespace prefixes for *every* element in each
> > response document in the workflow (and presumably the documents
> > created+consumed during the running of the BPEL processes).  In my
> > particular case the set of namespaces used by the BPEL workflow is static
> > and known at deployment time, so I'm perplexed why every single element
> > gets
> > its own unique-prefix un-necccessarily, could anyone please explain this
> to
> > me, an example response is as follows:
>
>
> What?  You don't like this new feature of Axiom?? :)
>
> It's possible this is Ode's fault since we had to implement a few
> workarounds in namespace handling to avoid prefix clashes in previous
> versions of Axiom/Woodstox.  I guess we could review this code to see if we
> can avoid it now.   Could you file a Jira?

Done, https://issues.apache.org/jira/browse/ODE-290  . I use Woodstox with
XFire in my app without issue,  I'm not familiar with AXIOM though :(   Its
not a *major* issue, but I worry that it may run out of numbers with too
many requests, plus the numbers appear to be unique across *all* requests in
the VM, which implies some synchronisation somewhere that could probably be
avoided ?


>
> Also I'm interesting in writing an AJAX explorer for
> > the ODE process instances, has anyone else been down this route already ?
> > Many thanks :)
>
>
> Milinda is just getting started on an AJAX management console for Ode.
> Check out the recent ode-dev archives and I'd invite you to follow the
> dicussions and get involved.

I'll do this, I had actually got a Process->Process
Instance->Scope->Variable explorer up and running until one of my team ran
into the 'blocking' issue discussed in another thread :)

- Ciaran

Re: Axis Namespace prefix generation

Posted by Alex Boisvert <bo...@intalio.com>.
On Sun, May 18, 2008 at 3:52 AM, Ciaran <ci...@gmail.com> wrote:

> I'm currently evaluating the possibility of moving to ODE from ActiveBPEL,
> currently it seems that for a single thread, ActiveBPEL performs better
> end-to-end for a like-for-like BPEL flow, (ActiveBpel ~300ms, Ode ~700ms)
> but seems to scale considerably better for multiple threads,  has anyone
> else seen this behaviour, or has anecdotal information on the comparative
> performance ?


I don't have comparative data but I'd be interested in profiling your
use-case to see if there's something inherently slow in what we're doing.


> Also, one thing that concerns me, is looking at my load-tests it seems that
> ODE is generating unique namespace prefixes for *every* element in each
> response document in the workflow (and presumably the documents
> created+consumed during the running of the BPEL processes).  In my
> particular case the set of namespaces used by the BPEL workflow is static
> and known at deployment time, so I'm perplexed why every single element
> gets
> its own unique-prefix un-necccessarily, could anyone please explain this to
> me, an example response is as follows:


What?  You don't like this new feature of Axiom?? :)

It's possible this is Ode's fault since we had to implement a few
workarounds in namespace handling to avoid prefix clashes in previous
versions of Axiom/Woodstox.  I guess we could review this code to see if we
can avoid it now.   Could you file a Jira?

Also I'm interesting in writing an AJAX explorer for
> the ODE process instances, has anyone else been down this route already ?
> Many thanks :)


Milinda is just getting started on an AJAX management console for Ode.
Check out the recent ode-dev archives and I'd invite you to follow the
dicussions and get involved.

alex