Not sure that it is Impossible. Where are the limitations - ours, XSLT
engine, XSLT spec, etc.?

I believe it should be possible. One way may be identifying XML fragments
and transform them on the fly by fragment by fragment - read one fragment
from input, transform it, and write it to output...I did my self a case
study for a specific customer when I was at WSO2. He was happy. Of course,
it is just a case study for one user. But, someone should be able to come
up with a more generalized and improved solution.

I can see some research on this topic. There should be
some interesting ideas.

http://www.springerlink.com/content/l156j0255347k356/
http://www.sciencedirect.com/science/article/pii/S0167642304001194
http://dl.acm.org/citation.cfm?id=1042051

On Tue, Apr 17, 2012 at 6:38 PM, Hiranya Jayathilaka
<hiranya...@gmail.com>wrote:

>
>
> On Tue, Apr 17, 2012 at 10:49 AM, indika kumara <indika.k...@gmail.com>wrote:
>
>> Ohh... I thought we have a solution to get
>> or preserve the benefits offered by the binary relay when it is used for
>> other mediation scenarios - for example, with some kind of
>> on-demand streaming transformation.
>
>
> That's not practically possible. For security to work, Rampart should be
> able to find the necessary headers in the SOAP infoset. For XSLT to work
> the XSLT engine should be able to parse the given XML infoset. So for these
> cases we have to build the message as usual and let the normal processing
> take place. What we have implemented is kind of a compiler optimization for
> Synapse language, where by looking at the configuration provided we insert
> the build instruction to the sequence.
>
> Thanks,
> Hiranya
>
>
>>
>>
>> ~ Indika
>>
>> On Tue, Apr 17, 2012 at 2:24 PM, Hiranya Jayathilaka <
>> hiranya...@gmail.com> wrote:
>>
>>> Hi Folks,
>>>
>>> Just to briefly explain how other messaging scenarios are made to work
>>> with the relay:
>>>
>>> 1. A special handler checks whether security or some other content aware
>>> module is engaged on the target service and builds the messages if
>>> necessary.
>>> 2. Each mediator knows whether they should build the message or not
>>> (depending on their configuration). If necessary, mediators will build the
>>> message.
>>>
>>> As a result a sequence such as the following will run in the pure pass
>>> through mode:
>>>
>>> <sequence>
>>>     <log/>
>>>     <send/>
>>> </sequence>
>>>
>>> Something like the following will cause the message to be built at the
>>> log mediator:
>>>
>>> <sequence>
>>>    <log level="full"/>
>>>    <send/>
>>> </sequence>
>>>
>>> In the following proxy service, the in-sequence will be in the pass
>>> through mode. The out-sequence will build the message at the xslt mediator:
>>>
>>> <proxy name="foo">
>>>    <target endpoint="bar">
>>>       <inSequence>
>>>           <log/>
>>>       </inSequence>
>>>       <outSequence>
>>>           <log/>
>>>           <xslt key="baz"/>
>>>           <send/>
>>>       </outSequence>
>>>    </target>
>>> </proxy>
>>>
>>> Thanks,
>>> Hiranya
>>>
>>> On Tue, Apr 17, 2012 at 9:32 AM, indika kumara <indika.k...@gmail.com>wrote:
>>>
>>>> +1 great donation!  Would love to see the support for any mediation
>>>> scenario with it too.
>>>>
>>>> Regards,
>>>>
>>>> Indika
>>>>
>>>>
>>>> On Mon, Apr 16, 2012 at 4:17 PM, Hiranya Jayathilaka <
>>>> hiranya...@gmail.com> wrote:
>>>>
>>>>> Hi Folks,
>>>>>
>>>>> Message relay is a performance enhancer we have developed for WSO2
>>>>> ESB. We are now thinking about contributing this code to Synapse. There 
>>>>> are
>>>>> two main components for this:
>>>>>
>>>>> 1. A builder-formatter pair for mediating messages without building
>>>>> the Axiom infoset
>>>>> 2. A new HTTP transport (pass through transport)
>>>>>
>>>>> These can be used independently of each other. One of the existing
>>>>> limitations of this code is that it restricts the scenarios that we can 
>>>>> run
>>>>> on Synapse to pass through scenarios. But I've been working on making this
>>>>> code work with any mediation scenario (transformation, security etc). So
>>>>> that way we will be able to run Synapse with these optimizers by default
>>>>> and still all the messaging scenarios would work out of the box.
>>>>>
>>>>> A performance comparison of the current NHTTP transport and the above
>>>>> optimizers can be found at [1].
>>>>>
>>>>> Appreciate your feedback on this.
>>>>>
>>>>> Thanks,
>>>>> Hiranya
>>>>>
>>>>> [1] -
>>>>> http://wso2.org/library/articles/2012/03/performance-benchmarking-wso2-esb-different-message-transfer-mechanisms
>>>>>
>>>>> --
>>>>> Hiranya Jayathilaka
>>>>> Associate Technical Lead;
>>>>> WSO2 Inc.;  http://wso2.org
>>>>> E-mail: hira...@wso2.com;  Mobile: +94 77 633 3491
>>>>> Blog: http://techfeast-hiranya.blogspot.com
>>>>>
>>>>
>>>>
>>>
>>>
>>> --
>>> Hiranya Jayathilaka
>>> Associate Technical Lead;
>>> WSO2 Inc.;  http://wso2.org
>>> E-mail: hira...@wso2.com;  Mobile: +94 77 633 3491
>>> Blog: http://techfeast-hiranya.blogspot.com
>>>
>>
>>
>
>
> --
> Hiranya Jayathilaka
> Associate Technical Lead;
> WSO2 Inc.;  http://wso2.org
> E-mail: hira...@wso2.com;  Mobile: +94 77 633 3491
> Blog: http://techfeast-hiranya.blogspot.com
>

Reply via email to