Embrace change

«The best way to predict the future is to invent it» — Alan Kay 
« Back to blog

Tideland EAS next generation idea

When I started the development of the Tideland EAS I had a small pure Erlang event-driven architecture in, just as the middleware for my apps. But sometimes ideas assume in an independent existence. OK, the old concept would also benefit from the reliability and scalability of Erlang/OTP, but not as much as it is in the possibilities of this platform.
 
So, while reading about and evaluating CouchDB, my concept changes. I'm currently thinking about reimplementing it as a real middleware for event-driven architectures. This draft gives a better insight:

The black steps (1) to (3) show the subscription process where a service provider sends a JavaScript filtering the subscribed events. The EAS will store some administrative data, like the ID of the subscription and the service provider, and sends the JavaScript to CouchDB as the database server. CouchDB uses the script to create a view for the subscription.
 
The red steps (1) to (6) show the event processing. A raised event sent to the EAS will be stored inside the CouchDB event table and will so also be visible in all matching views. In case of a polling service the new events will be retrieved and sent to the service. It now can process the event and send the reply or new continuing events back to the EAS. Finally - if wanted by the event source - a reply will be sent back.
 
There are still several open aspects I've got to think about. But I think it looks promising. I'll test the concept with a quick prototype.

Loading mentions Retweet

Comments (2)

Jun 02, 2009
Carsten said...
Offtopic, but: Which iconset is this? And which software did you use to create the diagram?
Jun 12, 2009
Frank Mueller said...
You like it? It's drawn with OmniGraffle (http://www.omnigroup.com/applications/OmniGraffle/), my favorit drawing software, and some Graffletopia stencils (http://graffletopia.com/).

Leave a comment...

 
Got an account with one of these? Login here, or just enter your comment below.
Posterous-login    twitter