Showing posts from 2012

Another message redelivery pattern with WSO2 ESB

In the articles Implementing Store and Forward Messaging Patterns With WSO2ESB Part 1 and Implementing Store and Forward Messaging Patterns With WSO2ESB Part 2 . I have introduced WSO2 Message Processors and Message Stores and explained how to implement store and forward messaging patterns with them. In this blog post i ' m trying to show how to implement a redelivery messaging pattern i recently implemented. actually in the article Implementing Store and Forward Messaging Patterns With WSO2ESB Part 2   i have described how to implement  a redelivery pattern with Message Forwarding processor. But in this post i'm going to show how to implement another redelivery pattern which can’t be achieved with Message Forwarding processor. Following is the requirement : Client invokes a Backend service through a ESB.  If 1st invocation is successful send the response back to client and if service is not available send a fault message back.  In a failure re try to deliver the mes

Distributed Coordination with Apache Zookeeper - A Java Approch

Apache Zookeeper is an Open source framework which can be used for distributed coordination. To understand what Apache zookeeper does we will have to go back to the Concurrent Programming class we did at university. Think how we tried to do coordination among different Threads or processors We used global variables most of the times. Actually there are two ways to achieve coordination among processors 1) Message Passing 2) Shared Memory approach. Now lets bring that problem to the next level. How to coordinate threads /processors that are running in different machines/nodes in a distributed system. The above two approaches are still the solution for this level as well. ( Yes its a pattern in science :) ) There are lot of messaging frameworks and distributed shared memory abstractions available which can be used to achieve distributed coordination. I'd like to think Apache zookeeper as a Coordination framework which gives a shared memory abstraction to the distributed processors