3 ms·
Its usually a complicated interaction involving old systems, new systems, unusual circumstances and an obscure bug. Delta Airlines was started in 1924, so its a
by PaulAJ 10y ago
Its usually a complicated interaction involving old systems, new systems, unusual circumstances and an obscure bug. Delta Airlines was started in 1924, so its a fair bet they've been using computers since at least the 1970s. Environments like that tend to accumulate legacy systems, because every time some new requirement comes along (teletext boxes in travel agents? the Web? Passing data to Homeland Security?) its easier to add a new box on the side instead of re-architecting the existing legacy. So the result, after 4 or 5 decades, is not like a "latest Ford model", its more like Johnny Cash's Cadillac in http://www.metrolyrics.com/one-piece-at-a-time-lyrics-johnny-cash.html http://www.metrolyrics.com/one-piece-at-a-time-lyrics-johnny.... Want to bet that car was stable during an emergency stop in wet conditions?
Its easy for us on the outside to say "well, have a backup" or "just replace all the legacy systems", but in the real world its not that simple.
Yes, you can have a backup server, but it has to be running exactly the same software and working on a copy of the data. If some unforeseen event corrupts the database, its likely to corrupt the backup replicant in exactly the same way. Also its likely that some of the legacy systems are not designed to support replication and can't have it retrofitted with any reasonable degree of cost and risk.
Replacing a single legacy system with another system that does exactly the same thing is expensive, risky, and wins you almost nothing. You have to replace a large chunk of the whole legacy all at once, without disrupting your day to day business. This is hard to do; any project to try this is likely to fail before it really gets started.
- stcredzero 10y agoReplacing a single legacy system with another system that does exactly the same thing is expensive, risky, and wins you almost nothing. You have to replace a large chunk of the whole legacy all at once, without disrupting your day to day business. This is hard to do; any project to try this is likely to fail before it really gets started. The way to do this is to create an automatic translation tool. Furthermore, this translation tool can't be generic. Instead, it has to map the idioms of the legacy project to new code in the idioms of the new environment. Done properly, doing the port at one level of indirection like this, you can absorb all of the changes to the legacy system as they are happening, then instantly switch over when the new system is finally ready.
- PaulAJ 10y agoGot any case studies where that worked?
- stcredzero 10y agoThere was a consulting shop that did nothing but this for Smalltalk to Java. I also did such a project. Yes, this works, given good parser tools with scripting and full syntactic expressiveness.