> It seems like the whole thing was probably set up in 1994 and nobody has touched it since.
If you write code that doesn't need to be touched over a 28 year period, chances are that code has produced more value (ROI) than 99% of the code that is written every day will ever do. Even 10 years is pretty good.
> Like we communicate with one of our warehouses by passing XML documents back and fourth over FTP.
Sending XML, CSV or JSON files over sftp is a simple and relatively robust for exchanging data, especially when a latency of minutes to hours is acceptable and the data volumes are non-trivial.
> they're not going to slow down for a few months to learn a new way of doing things.
New ways of doing things are not always better. Specifically they're not better for all instances. Often, they're radically worse.
RESTful API's have many benefits, especially when volumes are low and latency requirements are strict. But if something works perfectly and efficiently, there is often little reason to change it.
I've seen a number of cases where some juniorish devs come into a business, identify that some technical system is using an unfashionable stack, started a project to migrate it, and then failed spectacularly. By just focusing on the unfashionable tech involved, many fail to realize all the clever tricks and deep thought that has gone into the original setup, and in many cases they don't even know the old tech well enough to be able to read the original code.
Often the orginal setup was the output of a startup full of motivated, clever and sometimes brilliant people who ended up being fairly successful. The team ending up tasked with migrating that system are often overconfident in their skills and superior technical ability compared to the orignal team, but are often staffed by mostly run-of-the-mill developers who are not really of the same callibre as the original startup.
Within a few months, they start to realize SOME of the complexity they overlooked the first time, and a couple of years later, most of the new team quit, after realizing they failed. Hopefully after learning a lesson.
I've seen instances where MULTIPLE teams have been set up to migrate some legacy platform, each team spending more effort than the original technology cost, and ALL failing.