synapse-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Hiranya Jayathilaka <hiranya...@gmail.com>
Subject Re: Message Relay Support for Synapse
Date Thu, 19 Apr 2012 16:54:38 GMT
Hi Supun,

On Thu, Apr 19, 2012 at 7:14 PM, Supun Kamburugamuva <supun06@gmail.com>wrote:

> Hi Hiranya,
>
> I have some ideas in my mind to improve the Pass through transport. Mainly
> it is to stream a single source to multiple targets. If you are planning to
> move it quickly I can start on these improvements.
>

Yes, my plan is to do the code move soon. Hopefully sometime over the next
few days. You can also grab the current source from WSO2 SVN and try out
your modifications on that if you want.

Thanks,
Hiranya


>
> Thanks,
> Supun..
>
>
> On Tue, Apr 17, 2012 at 9:36 AM, indika kumara <indika.kuma@gmail.com>wrote:
>
>> Thanks Hiranaya for the information. However, It may be a killer feature
>> if we can support the streaming with most of the mediation scenarios even
>> with some limitations.
>>
>> Thanks,
>>
>> Indika
>>
>>
>> On Tue, Apr 17, 2012 at 8:41 PM, Hiranya Jayathilaka <
>> hiranya911@gmail.com> wrote:
>>
>>>
>>>
>>> On Tue, Apr 17, 2012 at 3:45 PM, indika kumara <indika.kuma@gmail.com>wrote:
>>>
>>>> Not sure that it is Impossible. Where are the limitations - ours, XSLT
>>>> engine, XSLT spec, etc.?
>>>
>>>
>>> It's not one thing Indika. It's many things. Synapse has to work with
>>> many WS-* modules, XSLT engines, XPath engines, XQuery and other
>>> transformation engines and much more. Our Axiom representation can work
>>> with most of these stuff and where that's not possible we can convert it
>>> into a standard model like DOM or SAX. But the bottom-line is we have to
>>> parse the message by some means to work with these libraries/APIs. Relay
>>> module basically keeps the message in a completely un-parsed state. None of
>>> the above APIs can work with such raw data.
>>>
>>> But I agree that for certain selected scenarios we might be able to work
>>> in the relay mode all the time. In fact I once wrote a STX mediator using
>>> Joost which can work withe binary representation provided by the message
>>> relay builder.
>>>
>>> Thanks,
>>> Hiranya
>>>
>>>
>>>>
>>>> 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 <
>>>> hiranya911@gmail.com> wrote:
>>>>
>>>>>
>>>>>
>>>>> On Tue, Apr 17, 2012 at 10:49 AM, indika kumara <indika.kuma@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 <
>>>>>> hiranya911@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.kuma@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 <
>>>>>>>> hiranya911@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: hiranya@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: hiranya@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: hiranya@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: hiranya@wso2.com;  Mobile: +94 77 633 3491
>>> Blog: http://techfeast-hiranya.blogspot.com
>>>
>>
>>
>
>
> --
> Supun Kamburugamuva
> Member, Apache Software Foundation; http://www.apache.org
> E-mail: supun06@gmail.com <supun@wso2.com>;  Mobile: +94 77 431 3585
> Blog: http://supunk.blogspot.com
>
>
>
>


-- 
Hiranya Jayathilaka
Associate Technical Lead;
WSO2 Inc.;  http://wso2.org
E-mail: hiranya@wso2.com;  Mobile: +94 77 633 3491
Blog: http://techfeast-hiranya.blogspot.com

Mime
View raw message