Saturday, January 22, 2005

Asynchronous Event Subscription

Getting into an interesting problem domain, where I think asynchronous event subscription could work as an answer given the architecture is based on SOA. Of course, there could be many possible ways and some would be better than this one.

The problem description can go like this:
-- Application creates/updates/deletes a specific entity. There are many units of such entity in the application.
-- Each entity is identified with a unique identifier and some specific attributes.
-- There are more than one subsidiary applications that would like to subscribe the changes happened on the units of this entity.
-- Not all subsidiary application are interested in all units undergone changes. Rather most of them would like subscribe a subset based on the specific attribute settings.

One possible solution could work like this:
-- Each unit change will publish an event
-- The event will be subsribed by the applications asynchronously.
-- All events will be subscribed by the subsidiary applications.
-- Individual applications will only do followup work if their specific attribute criteria get satisfied, i.e. if the application is interested in that particular activity.

Will do a few more work to find out what's inside.