Saturday, April 17, 2010

Dead Letter Channel Enterprise Application Integration Pattern

Dead Letter Channel Pattern belongs to the Category of Message Channel patterns which describes the Message transport level attributes.

Idea of having a dead letter channel is to handle Message failures. Message failures can be occurred due to several reasons.

  • Transport level failures

  • Due to bad Configuration

  • Message Expiration

  • Problem with Message Consumer end

In a failure Message will be routed to the dead letter channel. So that it can act as a Message archive mechanism , Re router or a special channel to process the bad messages.

Having a Message archive system will be useful since later a Dead message can be viewed and re-delivered to the intended end point manually by a admin console.This will be useful to identify the Configuration problems

Message Re-delivery is also a major part of a dead letter channel implementation. If we take a normal scenario like simple DB quarries or web-service calls some times a message will fail because of the endpoint have a higher load or some other temporary issues with the endpoint . So simply re -delivering the message after a certain time interval will cause message to be delivered successfully.

Apache Synapse is a Open source esb and a message Mediation framework that support several Enterprise application integration patterns. For this summer(2010) Google Summer of code program I applied for the proposal of Implementing A Dead Letter Channel for Apache synapse. This is the link to my proposal .