synapse-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Udayanga Wickramasinghe <udaya...@wso2.com>
Subject Re: Implement a Collection of Integration Patterns for Synapse : GSoC - 2012
Date Thu, 12 Jul 2012 13:51:15 GMT
Hi Malith,

Sorry for my late reply :)  Please find my comments inline.. Overall i am
happy about the progress made. There are quite a few things left before we
complete this project. Looking forward to your contributions in the future..

On Mon, Jul 9, 2012 at 4:08 AM, Malith Dhanushka <mmalithh@gmail.com> wrote:

> Hi Folks,
>
> Here is the progress update about the $Subject so far. (For more details
> about the project approach refer [0])
>
> I've attached the initial implementation of EIP library at [0].
>
i went through this, looks good..I think It would be useful to enable
dynamic expressions for default values.(ie:- to extract values from
predefined location in the message/context not just plain static values)


> As per the discussion, these are tasks I came across.
>
> *Task 1*
> Provided a patch [1] to define whether the template parameter is optional
> or not and define parameter default value.
>
> *Task 2*
> As of now, following patterns are implemented.
>
> - Recipient List
> Forward the message to all channels associated with the defined set of
> recipients.
> parameters - recipient_list
>
> - Callout Block
> Blocks external service invocation during mediation. And useful in
> scenarios such as service chaining. Here I had to write a class mediator
> for the EIP library to support xpath for serviceURL in Callout mediator. As
> default values are assigned to source & target xpaths, one can simply
> utilize this pattern by just defining serviceURL.
> parameters - service_URL
>                    [action]
>                    [source_xpath | source_key]
>                    [target_xpath | target_key]
>
> This uses call-out mediator. Would be useful to write the non-blocking
version as well..Lets schedule it to the next phase..


> - Splitter
> This break out the composite message into a series of individual messages.
> parameters - iterate_exp
>                    [attach_path]
>                    endpoint_url
>                    [attach_path_enabled]
>
> - Aggregator
> Builds a single message distilled from the individual messages.
> parameters - aggregator_exp
>                     oncomplete_seq_enabled]
>                     [sequence_ref]
>
> - SplitterAggregator
> Provides the combined functionality of Splitter & Aggregator patterns.
> parameters - iterate_exp
>                    [attach_path]
>                    endpoint_url
>                    [attach_path_enabled]
>                    aggregator_exp
>                    [oncomplete_seq_enabled]
>                    [sequence_ref]
>
> *Task 3*
> Created sample scenarios for all above patterns. Later those will be added
> to the documentation.
> ex:- Service Chaining via Callout block
>

The way you have implemented patterns looks good and complete in
functionality. However Samples for each pattern should be integrated into
synapse samples and  test framework so that we can validate their
functionality. I think location for synapse eip library code/configurations
is yet to be decided..For the moment lets have them as test patches.


>
> *Task 4*
> Wrote a test case for Recipient List lib pattern. Writing Test cases for
> other patterns are in progress.
>
> In further steps several other well known EIP ( Content-Based Router, Dead
> Letter Channel, Wire Tap, Scatter-Gather, etc..) will be implemented. And
> samples and Test integration into Synapse for EIP libraries will also be
> added.
>
> +1
i have a few in mind will update [0] about them.

Regards,
udayanga

Feedback / Suggestions are much appreciated.
>
> [0] https://issues.apache.org/jira/browse/SYNAPSE-745
> [1] https://issues.apache.org/jira/browse/SYNAPSE-884
>
> Thanks,
> Malith
>
>


-- 
*Udayanga Wickramasinghe*
Software Engineer; WSO2 Inc.; http://wso2.com,
*email: **udayanga@wso2.com* <udayangaw@wso2.com>* cell: +94 (77) 983-4365
blog: **http://udayangawiki.blogspot.com*<http://udayangawiki.blogspot.com/>
*
twitter: **http://twitter.com/udayanga_wick*<http://twitter.com/udayanga_wick>
*
*

Mime
View raw message