|
You can think of many back-end applications as primarily
operating by being told about important events in outside
world. Indeed the idea of an event driven enterprise application is an old way
of looking at things - I first came across this in McMenamin and Palmer in the mid 80's. If you have this kind of system, you can write a
StranglerApplication by tapping into this stream of events. Ideally
you'll have a messaging based system to connect in the events, but
that would be too easy. There may be a certain set of database
tables that get updated. Ideally you'll get a row per event,
otherwise you may need to monitor updates to a table and synthesize
your own event stream. If the database is encapsulated with a
Service Layer of some kind you can tap in there. If not this is a
good use for database triggers. If the worst comes to the worst you can take
copies of these tables and poll the actual tables to compare them
against the copies to spot updates. Once you've tapped into the event stream, you can then build
application functionality in the strangler. You can start with new
functionality that's easy to write and then gradually move old
functionality over once you're getting into your stride. Providing
new functionality early makes it easy to get the all-important buy
in from the customer. As you advance you can also begin
AssetCapture.
|