Given an opportunity to build a new a set of IT systems from scratch, only the latest techniques, technologies and architectural approaches would be used. In the real world, practically every IT organization is faced with legacy applications, a nice euphemism for the old software that’s running most companies. Anywhere from 5 to 30 years old (or more), it’s running on old (style) infrastructures, operating systems, programming languages, etc.
It incorporates years of business logic development. The capabilities (and failings) are well known and well understood. And you probably can’t afford to replace it.
Not only do IT organizations face this problem, IT vendors face a similar challenge. Even the best known ERP and CRM systems are composites of well known functionality with bits of the new tacked on over time.
In all of these cases, decomposing from the big box application model to a service oriented business function model frequently means completely replacing or rewriting systems. And this is simply not a viable option for most people and companies.
So how to you get from here to there? That will be addressed in part 2.