Thanks you for your feed back.

I updated it with the changes you proposed.You can find the new document
here 
[1]<http://socghop.appspot.com/document/show/user/charith/deadletterchannel_apache_synapse>

thanks,
Charith

[1
]http://socghop.appspot.com/document/show/user/charith/deadletterchannel_apache_synapse
<http://socghop.appspot.com/document/show/user/charith/deadletterchannel_apache_synapse>

On Sun, Mar 28, 2010 at 10:32 AM, Hiranya Jayathilaka
<[email protected]>wrote:

> Hi Charith,
>
> On Sat, Mar 27, 2010 at 2:35 PM, Charith Wickramarachchi
> <[email protected]> wrote:
> > Hi,
> >
> > I wrote draft Proposal for the Project and its available at [1]
> > your feed backs on changes or improvements to the proposal is highly
> > appreciated.
>
> I had a quick look at the proposal. Pretty good stuff. I would also
> like to see a sample message store configuration in the document along
> with an endpoint configuration which uses the message store. Also I
> believe you can include the mediator development (currently listed
> under optional features) in the second development phase. I don't
> think writing a mediator takes that much time.
>
> Also please cite the source of your diagram ;)
>
> Thanks,
> Hiranya
>
> >
> > [1]
> http://socghop.appspot.com/document/show/user/charith/deadletterchannel_synapse
> >
> > On Wed, Mar 24, 2010 at 10:40 AM, Charith Wickramarachchi
> > <[email protected]> wrote:
> >>
> >> Thank you all  for your feedbacks.
> >>
> >> I'm currently looking at the Synapse Fault Handling Mechanism to Find a
> >> way to implement this.
> >> As far as i understand synapse uses a Stack base Fault handling
> Mechanism
> >> to achieve fault handling
> >> at the different Levels of  the Sequences and Endpoints in a correct
> >> order.
> >>
> >> I'm having some questions now.
> >>
> >> Implementing this with the Endpoint fault handling is clear to me.Where
> we
> >> can put the redelivery parameters/policies and Message Store at the end
> >> point so that at a failure it will considerer that parameters before
> >> executing the fault handler (so it will try to re deliver it according
> to
> >> the parameters /policy s specified and if failed it will store the
> Message
> >> ). As Amila said there we can use WS-RM policies.
> >>
> >> Do we need to impliment this with the Sequences too ?
> >>
> >> Then we need to have a machansim to find how to determine the sequnce
> name
> >> and at which level this message has failed from the stored Meta data
> (Since
> >> same sequnces can be re used at deffrent levels).
> >>
> >> my next Question is about Stroing the Message?
> >>
> >> Since idea if storing the message is to  be able to re generate the same
> >> message again. Are we going to store the MessageContext object ? (And in
> a
> >> persistent storage case  we can use a Adapter and serialise that
> object.)Or
> >> is there a better memory effcient way?
> >>
> >> WDYT?
> >>
> >>
> >>
> >>
> >> On Mon, Mar 22, 2010 at 10:57 AM, Amila Suriarachchi
> >> <[email protected]> wrote:
> >>>
> >>>
> >>> On Sat, Mar 20, 2010 at 9:29 PM, Charith Wickramarachchi
> >>> <[email protected]> wrote:
> >>>>
> >>>> Hi,
> >>>>
> >>>> Thanks for the reply and your feed back. I looked in to the Apache
> Camel
> >>>> DeadLetter channel features and its uses.
> >>>>  And also FUSE Mediation Router support this EIP too.[1].
> >>>>
> >>>> As per my current understanding Re delivery policies plays a major
> role
> >>>> when supporting this Pattern.Where users can configure the re delivery
> >>>> policy so that system will retry to deliver before message added to
> the
> >>>> Message store according to the policy defined.
> >>>
> >>> one option is to use ws-rm. which gives you a standard mechanism of
> >>> handling retransmissions.
> >>>
> >>> thanks,
> >>> Amila.
> >>>>
> >>>> And also i found that there is a requirement to make enable to execute
> a
> >>>> sequence after message is added to the message store(or just before
> adding
> >>>> to Message Store).
> >>>> So that it can be used to send notifications to the pre configured
> >>>> persons telling that Messages has been added to the Message store/Dead
> >>>> letter channel.
> >>>>
> >>>> I'm currently looking in to the Synapse code and architecture to
> figure
> >>>> out ways of implementing this.So your feed back is highly appreciated.
> >>>>
> >>>> As i understand synapse Currenty has a mechanism to plug custom
> >>>> configuration elements.
> >>>> ConfigurationFactoryAndSerializerFinder does that. So it looks like
> that
> >>>> the requirement Hiranya Mentioned about beging able to plug custom
> Message
> >>>> Stores easily can be archived using that Service provider machanishm.
> >>>>
> >>>> Your ideas on better ways of implimenting this feature is highly
> >>>> appriciated.
> >>>>
> >>>> thanks,
> >>>> /Charith
> >>>>
> >>>>
> >>>> [1]http://fusesource.com/docs/router/1.6/eip/MsgCh-DeadLetter.html
> >>>>
> >>>>
> >>>>
> >>>> On Thu, Mar 18, 2010 at 9:09 PM, Hiranya Jayathilaka
> >>>> <[email protected]> wrote:
> >>>>>
> >>>>> Hi Charith,
> >>>>>
> >>>>> There are actually several ways we can tackle this problem. And right
> >>>>> now even I'm not sure which approach is the best. We need to discuss
> >>>>> the options we got and then get to a suitable and feasible solution.
> >>>>>
> >>>>> One solution is to introduce a new top level component (as you have
> >>>>> suggested) for the message stores. The sequences already have the
> >>>>> onError attribute which can be used to specify a custom fault
> sequence
> >>>>> to be executed in case of an error. If a custom fault sequence is not
> >>>>> specified the default fault sequence will take over the control.
> Proxy
> >>>>> services also have the concept of fault sequences. So we need to
> >>>>> figure out how to link up this concept of fault sequences with the
> >>>>> message store top level element. One option would be to write a
> >>>>> mediator which can be placed in a fault sequence. The mediator will
> >>>>> take the faulty message and place it in a specified message store.
> >>>>>
> >>>>> On the other hand we can just have the mediator. The message store
> >>>>> concept can be built into the mediator itself so we don't need a new
> >>>>> top level element. This approach however has the disadvantage of not
> >>>>> being able to share and reuse a single message store instance across
> >>>>> the Synapse configuration.
> >>>>>
> >>>>> Another possible approach is to have the message store top level
> >>>>> element and then introduce an onError attribute to the endpoint top
> >>>>> level element. This is the approach suggested by Ruwan at [1].
> >>>>>
> >>>>> Please consider all these options when working on your proposal. Also
> >>>>> please take a look at some existing implementations of the dead
> letter
> >>>>> channel pattern. FYI Apache Camel supports this pattern.If we can
> >>>>> reuse some of the stuff done in Camel that would be fine too.
> >>>>> Personally though I prefer having our native implementation of the
> >>>>> dead letter channel pattern. And to be frank I does like the idea of
> >>>>> having the message store as a top level element in Synapse.
> >>>>>
> >>>>> I'm sure other members of the team also have a lot of ideas with
> >>>>> regard to this project. Let's give them sometime and see what they
> >>>>> think too :)
> >>>>>
> >>>>> Thanks,
> >>>>> Hiranya
> >>>>>
> >>>>> [1] - https://issues.apache.org/jira/browse/SYNAPSE-263
> >>>>>
> >>>>>
> >>>>> On Thu, Mar 18, 2010 at 12:36 PM, Charith Wickramarachchi
> >>>>> <[email protected]> wrote:
> >>>>> > Hi Hiranya,
> >>>>> >
> >>>>> > This I went through idea you mention in the proposal.
> >>>>> >
> >>>>> > This is the picture of the High level design in my mind after
> looking
> >>>>> > into
> >>>>> > it.
> >>>>> > The Message Store will be a high level  synapse configuration
> >>>>> > construct (at
> >>>>> > the sequence , endpoint ...  )level.
> >>>>> >
> >>>>> >
> >>>>> > Ex
> >>>>> > <msg_store name ="foo"  class =
> >>>>> > "org.apache.synapse.core.JDBCMessageStore"
> >>>>> > .....>
> >>>>> >    Other message store specific details goes here ex : scheduling
> >>>>> > info ,
> >>>>> > user names , urls
> >>>>> > </msg_store>
> >>>>> >
> >>>>> > and sequences and the endpoints must be able to point to this store
> >>>>> > with a
> >>>>> > parameter like "on fault"
> >>>>> > and also there can be multiple message stores that can be reused.
> >>>>> >
> >>>>> > Is this the idea in your mind?
> >>>>> >
> >>>>> > WDYT? your feed back will be highly appreciated so that i can
> improve
> >>>>> > my
> >>>>> > proposal.
> >>>>> >
> >>>>> > thank,
> >>>>> > /Charith
> >>>>> >
> >>>>> > On Thu, Mar 18, 2010 at 12:03 PM, Charith Wickramarachchi
> >>>>> > <[email protected]> wrote:
> >>>>> >>
> >>>>> >> Hi,
> >>>>> >>
> >>>>> >> I m a Undergraduate Interested in this Project idea. I have worked
> >>>>> >> with
> >>>>> >> the synapse code base So i 'm glad to do this project as my GSoC
> >>>>> >> project.
> >>>>> >>
> >>>>> >> I'm now looking in to the ways of designing and implementing
> this.I
> >>>>> >> m
> >>>>> >> willing to have more design level ideas regarding this.
> >>>>> >>
> >>>>> >> I'll come up with a proposal for this soon.
> >>>>> >>
> >>>>> >> thanks,
> >>>>> >>
> >>>>> >> Charith
> >>>>> >>
> >>>>> >> On Wed, Mar 17, 2010 at 5:20 PM, Hiranya Jayathilaka (JIRA)
> >>>>> >> <[email protected]> wrote:
> >>>>> >>>
> >>>>> >>> [GSoC] Implement a Dead Letter Channel for Synapse
> >>>>> >>> --------------------------------------------------
> >>>>> >>>
> >>>>> >>>                 Key: SYNAPSE-618
> >>>>> >>>                 URL:
> >>>>> >>> https://issues.apache.org/jira/browse/SYNAPSE-618
> >>>>> >>>             Project: Synapse
> >>>>> >>>          Issue Type: New Feature
> >>>>> >>>          Components: Core, Endpoints
> >>>>> >>>            Reporter: Hiranya Jayathilaka
> >>>>> >>>             Fix For: FUTURE
> >>>>> >>>
> >>>>> >>>
> >>>>> >>> Currently when Synapse attempts to send a message and if it
> fails,
> >>>>> >>> following actions can be configured to deal with the error:
> >>>>> >>>
> >>>>> >>> * Execute a fault sequence and handle the failed request
> gracefully
> >>>>> >>> * Fail-over to a different endpoint
> >>>>> >>>
> >>>>> >>> In addition to these, Synapse ESB should support the "dead letter
> >>>>> >>> channel" enterprise integration pattern to deal with various
> errors
> >>>>> >>> that
> >>>>> >>> might occur during mediation or while sending. With the dead
> letter
> >>>>> >>> channel,
> >>>>> >>> the failed message will be put into a message store in the ESB.
> >>>>> >>> Later the
> >>>>> >>> ESB can retry to send the messages in the message store.
> >>>>> >>>
> >>>>> >>> We should be able to have multiple implementations of the actual
> >>>>> >>> message
> >>>>> >>> store and should be able to configure which store to use for a
> >>>>> >>> particular
> >>>>> >>> scenario. Users should be able to implement their own message
> >>>>> >>> stores and
> >>>>> >>> plug into the ESB easily. To start with we can have a simple
> >>>>> >>> in-memory
> >>>>> >>> message store and a persisting store based on JDBC or JMS.
> >>>>> >>>
> >>>>> >>> References:
> >>>>> >>> http://www.eaipatterns.com/DeadLetterChannel.html
> >>>>> >>> https://issues.apache.org/jira/browse/SYNAPSE-263
> >>>>> >>>
> >>>>> >>> Possible Mentors:
> >>>>> >>> Hiranya Jayathilaka
> >>>>> >>>
> >>>>> >>>
> >>>>> >>> --
> >>>>> >>> 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]
> >>>>> >>>
> >>>>> >>
> >>>>> >>
> >>>>> >>
> >>>>> >> --
> >>>>> >> Charith Dhanushka Wickramarachchi
> >>>>> >> http://charithwiki.blogspot.com/
> >>>>> >>
> >>>>> >
> >>>>> >
> >>>>> >
> >>>>> > --
> >>>>> > Charith Dhanushka Wickramarachchi
> >>>>> > http://charithwiki.blogspot.com/
> >>>>> >
> >>>>> >
> >>>>>
> >>>>>
> >>>>>
> >>>>> --
> >>>>> Hiranya Jayathilaka
> >>>>> Software Engineer;
> >>>>> WSO2 Inc.;  http://wso2.org
> >>>>> E-mail: [email protected];  Mobile: +94 77 633 3491
> >>>>> Blog: http://techfeast-hiranya.blogspot.com
> >>>>>
> >>>>> ---------------------------------------------------------------------
> >>>>> To unsubscribe, e-mail: [email protected]
> >>>>> For additional commands, e-mail: [email protected]
> >>>>>
> >>>>
> >>>>
> >>>>
> >>>> --
> >>>> Charith Dhanushka Wickramarachchi
> >>>> http://charithwiki.blogspot.com/
> >>>>
> >>>
> >>>
> >>>
> >>> --
> >>> Amila Suriarachchi
> >>> WSO2 Inc.
> >>> blog: http://amilachinthaka.blogspot.com/
> >>
> >>
> >>
> >> --
> >> Charith Dhanushka Wickramarachchi
> >> http://charithwiki.blogspot.com/
> >>
> >
> >
> >
> > --
> > Charith Dhanushka Wickramarachchi
> > http://charithwiki.blogspot.com/
> >
> >
>
>
>
> --
> Hiranya Jayathilaka
> Software Engineer;
> WSO2 Inc.;  http://wso2.org
> E-mail: [email protected];  Mobile: +94 77 633 3491
> Blog: http://techfeast-hiranya.blogspot.com
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [email protected]
> For additional commands, e-mail: [email protected]
>
>


-- 
Charith Dhanushka Wickramarachchi
http://charithwiki.blogspot.com/

Reply via email to