synapse-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Hiranya Jayathilaka <hiranya...@gmail.com>
Subject Re: Service chaining
Date Mon, 09 Nov 2009 07:57:59 GMT
+1

Looks good to me but can we please change the 'receivingSequence' attribute
to something more appropriate? How about 'responseSequence'? Also I think
this feature can be further generalized without restricting it as a service
chaining feature. With this feature we can say send message to endpoint
'foo' and direct responses to the sequence 'bar'. We should make the idea
clear when documenting this feature.

On a different note, have you thought about the implications this may have
when used within proxy services? Just being curious.

Thanks,
Hiranya

On Mon, Nov 9, 2009 at 12:26 PM, Supun Kamburugamuva <supun06@gmail.com>wrote:

> Hi
>
> Suggested approach.
>
>    <main>
>       <send receivingSequence="first"/>
>    </main>
>
>    <sequence name="first">
>       <!-- may be do some xslt -->
>       <send receivingSequence="second">
>           <endpoint>
>               <address uril="http://first-endpoint"/>
>           </endpoint>
>       </send>
>    <sequence>
>
>    <sequence name="second">
>       <may be do some xslt>
>       <send receivingSequence="third">
>           <endpoint>
>               <address uril="http://second-endpoint"/>
>           </endpoint>
>       </send>
>    <sequence>
>
>    <sequence name="third">
>        <!-- send back -->
>       <send/>
>    <sequence>
>
> Existing approach.
>
> <main>
>    <in>
>       <send to endpoint 1>
>    </in>
>    <out>
>         <switch with some response message property>
>              <case 1: response message is from endpoint1>
>                  <send to endpoint 2>
>             </case>
>             <case 2: response message is from endpoint 2>
>                  <send to endpoint 3>
>             </case>
>             <case 3: response message is from endpoint 3>
>                  <send to endpoint 4>
>             </case>
>              <default>
>                   <send back/>
>              </default>
>         </switch>
>    <out>
>
> Problem with this approach is that we may not be able to determine weather
> the response is coming from a particular endpoint. Even if we solve that
> problem this solution does not seems to be logical.
>
> Thanks,
> Supun..
>
>
> On Mon, Nov 9, 2009 at 12:09 PM, indika kumara <indika.kuma@gmail.com>wrote:
>
>> Spun could you please scratch the configurations for a single scenario
>> in both approaches (existing and your suggestions) so that we can
>> compare...  And also how much services can your approach chain? ... if
>> it is more than two , what will be the configuration? - could it
>> become similar to the existing approach?....
>>
>> Thanks
>> Indika
>>
>> On Mon, Nov 9, 2009 at 11:45 AM, Supun Kamburugamuva <supun06@gmail.com>
>> wrote:
>> > Hi Indika,
>> >
>> > Thanks for the feedback. Actually I thought about your suggested
>> approach as
>> > well. But if we want to do something complex, this approach can become
>> > pretty hard to implement and maintain. Or it can be very difficult to
>> > implement in some cases. But with my approach the Synapse configuration
>> > become logical and easy.
>> >
>> > Thanks,
>> > Supun..
>> >
>> > On Mon, Nov 9, 2009 at 10:39 AM, indika kumara <indika.kuma@gmail.com>
>> > wrote:
>> >>
>> >> Spun we can do the service chaining with synapse . one resource is [1]
>> >> which does the message chaining with a proxy service. You should be
>> >> able to do same thing even with the main sequence (put response true
>> >> property and call the new service endpoint within the out mediator).
>> >>
>> >> Could you please critically evaluate the existing approaches and your
>> >> suggestions?
>> >>
>> >> And... +1 For keeping and retrieving non string properties.
>> >>
>> >>
>> >> Thanks
>> >> Indika
>> >>
>> >> [1]
>> >>
>> http://adroitlogic.org/knowledge-base-synapse/11-message-chaining-with-synapse.html
>> >>
>> >> On Mon, Nov 9, 2009 at 2:28 AM, Supun Kamburugamuva <supun06@gmail.com
>> >
>> >> wrote:
>> >> > Hi all,
>> >> >
>> >> > Ability to call one service, then use that result to call another
>> >> > service
>> >> > and so on is a very important feature in any ESB. But this is hard
to
>> >> > implement in the current Synapse configuration language unless we are
>> >> > using
>> >> > something like callout mediator.
>> >> >
>> >> > But with a simple improvement we can get close to achieving full
>> message
>> >> > mediation. The improvement is to allow the user to specify a
>> receiving
>> >> > sequence to the send mediator. When the response comes to this send,
>> it
>> >> > will
>> >> > be directed to the receiving sequence instead of a predefined
>> sequence
>> >> > like
>> >> > main or outSequence.
>> >> >
>> >> > send (response to sequence 1) --------> sequence 1 (do some
>> >> > transformations), send (response to sequence 2) --------> sequence
2,
>> >> > send
>> >> > the response back.
>> >> >
>> >> > Just having this functionality does not complete the whole service
>> >> > chaining
>> >> > requirements. We need a way to store the request and responses and
>> >> > access
>> >> > them from different mediators. To do this we may need to improve the
>> >> > property mediator and improve the xpath functions.
>> >> >
>> >> > I have created a Jira for the first requirement and attached a patch
>> >> > [1].
>> >> > That is to send with a receiving sequence. Please have a look at it
>> and
>> >> > provide your feedback. I'm always open to improvements :).
>> >> >
>> >> > [1] https://issues.apache.org/jira/browse/SYNAPSE-593
>> >> >
>> >> > Thanks,
>> >> > Supun..
>> >> >
>> >> > --
>> >> > Software Engineer, WSO2 Inc
>> >> > http://wso2.org
>> >> > supunk.blogspot.com
>> >> >
>> >> >
>> >> >
>> >>
>> >> ---------------------------------------------------------------------
>> >> To unsubscribe, e-mail: dev-unsubscribe@synapse.apache.org
>> >> For additional commands, e-mail: dev-help@synapse.apache.org
>> >>
>> >
>> >
>> >
>> > --
>> > Software Engineer, WSO2 Inc
>> > http://wso2.org
>> > supunk.blogspot.com
>> >
>> >
>> >
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: dev-unsubscribe@synapse.apache.org
>> For additional commands, e-mail: dev-help@synapse.apache.org
>>
>>
>
>
> --
> Software Engineer, WSO2 Inc
> http://wso2.org
> supunk.blogspot.com
>
>
>


-- 
Hiranya Jayathilaka
Software Engineer;
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