Whilst I’ve been doing this work on Enterprise Architecture, I’ve caught up on a lot of reading on web services. I’ve read around the subject using the usual suspects and their blogs, John Gotze, Jon Udell, Phil Windley and so on. I’ve also looked at the aggregation sites, like Looselycoupled. All of those are available from the links at the left on my blog. There’s a lot of wisdom out there.
I particularly liked a piece (from April 2003) on looselycoupled that notes that many organisations are using web services to deliver short-term, tactical value on a purely point to point basis. It also notes that what’s going to happen soon is that today’s pilots will be added to with new pilots and yet more pilots until the situation becomes close to impossible to manage.
What seems a long time ago, maybe 1992 or 1993, Citibank fronted its key legacy systems with a copy database – all changes by call centre staff, front facing systems and operations folks were made to this database. The reason was that the old system only processed things in batch and, increasingly (even then!), customers wanted to see things applied in real time – we even had an online banking application then, although it was via a proprietary dial-up network, which increased the need to see things as they were posted so that corporate treasurers could properly manage funds. The nice thing about doing such a database in relatively modern technology is that the issues that might otherwise occur around record-locking, multiple updates etc can be managed much more simply.
I was wondering how many people are still doing this. Just wrapping up your legacy system as a web service and offering it up may not solve some of the old problems (I wondered, for instance, how people using the legacy application through old-style services would know what was happening to data around them). So creating this copy database to which all changes are made intra-day, whilst storing up the transactions for posting to the legacy each night, and then refreshing the copy might be something that we should do. That way customers and staff see their accurate data all the time, we don’t have to fit in the confines of the old technology for management, we can still use web services and we have a 24 hour accessible service. Is that how it should work or have I missed something?