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 <[email protected]> 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: **[email protected]* <[email protected]>* 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> * *
