Hi Malith, Thank you for your contribution and commitment made to synapse through GSoC 2012. With this project we have been able to further develop the newly introduced synapse mediation library implementation and more specifically improve its functionality and scope with working set of samples , documentation ,test cases and with related bug fixes (I have few contributions you made pending to be committed , after some review will do that in the near future..). I hope you will continue to contribute to this project and synapse as a whole..
Thanks and Regards, Udayanga On Sun, Oct 14, 2012 at 11:55 PM, Malith Dhanushka <[email protected]>wrote: > > Hi Folks, > > Here is the progress update about final implementation of the $Subject. > I've attached the final implementation of EIP library at [0]. > > Following are the tasks I came across after initial implementation. > > Task 1 > Provided set of patches [1],[2],[3],[4] by addressing few issues > encountered in Synapse during implementation of the library. > > Task 2 > Following are the newly added patterns with final implementation. > > - Content Based Router > Route messages to an appropriate sequence, according to the message > contents. Routing decision is taken by matching given Xpath expression and > Regular Expression. Wrote a class mediator by including mediation logic. > parameters - routing_exp > match_content (refer[0] for more details about syntax) > > - The Scatter-Gather > Broadcasts a message to multiple recipients and re-aggregates the > responses back into a single message and send back to client or mediates to > the defined target sequence. > parameters - aggregator_exp > [sequence_ref] > [oncomplete_seq_enabled] > > - Dynamic Router > Route a message consecutively through a series of condition steps, which > is parsed by the conditions parameter. The list of sequences through which > the message should pass is decided dynamically at run time. > parameters - conditions (refer[0] for more details about syntax) > > - Wire Tap > Enables route messages to a secondary channel while they are being > forwarded to the main channel. > parameters - destination_uri > wiretap_uri > > Task 3 > Provided samples to showcase each and every patterns added with Synapse > EIP Library and included to the Synapse test automation framework as well. > > Task 4 > Provided documentation by addressing following areas. > (All the work related to this GSOC project) > > - Synapse Template Libraries > Contains details about the structure of template library and how to > utilize a template library. > > - Synapse Enterprise Integration Patterns library > Contains detailed description about each pattern in EIP library with > describing their usage, functionality and configuration syntax. > > - Documentation related to added samples. > > That concludes my work related to the $Subject in last summer with > Synapse. I wish to sincerely thank Udayanga for his great support. Your > advice and experience has been tremendously helpful throughout the project. > I really had a great time with the project, learned a lot and hope to see > this work in action and it is with great pleasure i continue my > contribution in future as well. > > Feedback / Suggestions are much appreciated. > > [0] https://issues.apache.org/jira/browse/SYNAPSE-745 > [1] https://issues.apache.org/jira/browse/SYNAPSE-898 > [2] https://issues.apache.org/jira/browse/SYNAPSE-897 > [3] https://issues.apache.org/jira/browse/SYNAPSE-899 > [4] https://issues.apache.org/jira/browse/SYNAPSE-901 > > Thanks, > Malith > > 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]. >> >> 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] >> >> - 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 >> >> *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. >> >> 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 >> >> > > > -- > Undergraduate, > Department of Computer Science and Engineering, > University of Moratuwa, > Sri Lanka. > <[email protected]> > > > -- http://www.udayangawiki.blogspot.com
