[ 
https://issues.apache.org/jira/browse/SANDESHA2-144?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Amila Chinthaka Suriarachchi updated SANDESHA2-144:
---------------------------------------------------

    Attachment: mercury.tar.gz

Source code for mercury implementation

> Mercury, a new WS-RM implementation
> -----------------------------------
>
>                 Key: SANDESHA2-144
>                 URL: https://issues.apache.org/jira/browse/SANDESHA2-144
>             Project: Sandesha2
>          Issue Type: Improvement
>            Reporter: Amila Chinthaka Suriarachchi
>         Attachments: mercury.tar.gz
>
>
> hi all,
> Recently I developed a new WS-RM implementation called Mercury[1] (Mercury is 
> the messenger of God) which runs on top of Axis2. This mail is to make a 
> suggestion to donate the Mercury to Apache and hence start a new wscommons 
> project called Mercury. Following is a full description about how I started 
> it and current status of Mercury.
> Couple of months back I started looking into Sandesha2 to fix some reported 
> issues. Actually what I wanted was to get familiar with the Sandesha2 code 
> base.  Although I went through some architecture documents and some of the 
> code I could not really understand most of the Sandesha2 internals (My bad ). 
> Then I went through the specifications and I saw a state machine model has 
> proposed in WS-RM 1.1 specification. 
> I really interested about it and started to model a state machine for RM 1.0. 
> First I developed this using a pen and a paper and looked fine. Then I 
> started implementing it.
> Although I have worked more than one year with Axis2 I did not have a much 
> knowledge about axis2 kernel since my contribution mainly on Codegen. 
> Therefore I wrote an Axis2 simulator[2] and on top of that I implemented my 
> state machine. On the other hand concentrating more on Axis2 kernel would 
> have made this state machine implementation very difficult. This allowed me 
> to test this state machine model for various unreliable conditions and that 
> worked fine.
> Then I started looking into real Axis2 kernel code and implemented this state 
> machine model. For the first stage I implemented the WS-RM specification 
> which is about the Duplex channel mode. Then I implemented the persistence 
> model. This was very easy since the only thing I had to do was to persist the 
> state machine. Finally I was able to implement the Replay model specification 
> which uses the back channel to send the responses. I tested all these 
> scenarios for many unreliable conditions and it worked fine. 
> Since I myself is an apache comiter and I worked for an open source company I 
> would like to start this as an apache project. I hope this would help others 
> to use this code freely and make any contribution that they would like to 
> made. 
> The attached patch contains all the Architecture documents and details of the 
> state machine model. I think going through the simulator code first would 
> make it easy to understand the real implementation.
> The name Mercury and the package structures are simply the internal names I 
> have chosen. I am open to change that name. (eg Sandesah3) And also I am open 
> to make any changes to package structure, design to suit to any other 
> requirements as well.
> We have our New year holidays (Sri Lankans celebrates New year on 13-14 april 
> :) ) until 15th.  So please take your time and feel free to make any thoughts.
> thanks,
> Amila.
> [1]mercury.tar.gz
> [2]Simulator.tar.gz

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to