Where I work, there is an Oracle data warehouse that is managed by another group that contains some pretty critical information for the company to run smoothly. The issue is that they (apparently, haven't confirmed with anyone on their team yet) take this server down for long periods bi-weekly.
Before I started here, my team created a SQL database and accompanying WCF service to download this data at different intervals for us to store locally, to have available in case any of our applications need access to the data during one of the main servers' down periods, and it also provides some basic lookup methods.
Lately we've been developing new applications that require us to have more data from the other group's database that we didn't have before. This involves a long process of modifying the tables in our cache server, re-writing queries to pull in the new data that we need, having it tested, updating any other apps that also reference this database, and finally push it to production. I have had to do this process twice lately, and I foresee it happening many times in the future as well.
My question is, is there a better way we could be going about this? I'm not sure how important it is that we have 100% uptime, because if other applications around the company don't have access to that data when the server is down, I don't see why ours couldn't just wait for it to be up again.
In that case I think a web API we could add endpoints to as needed would reduce the change impact when we need more data.