We are currently running an ERP system which has its own client, which is a desktop application. The server is hosted on premise and all the data is in an SQL database. This is all windows based. We want to build now a web application on top of this ERP product for example distributors can via a simple online interface  lookup how much stock is left and create a list of items they want to order and a quote is created for them based on the pricing available on the ERP database. So we only need read access to the data of the ERP system. The ERP system is charging quite extra for API access so as an initial prototype we would just like to use read only access to the database to get the information. I would like to use a  web framework like django/rails so building the web application is done using a framework which gives us a lot of possibility to later build out the application if other needs come up. Also I am the sole developer so I cannot really cope with starting from scratch.Now the problem is that I always get stuck with thinking about legacy data or data coming from another source. What is the most common way to deal with data coming from another source? The ERP data is on premise and I would like to havethe flexibility to have the website anywhere I want so somewhere on a cloud platform.Should I use straight SQL statements to read out the data from the legacy database? Should I setup some API on top of the legacy database (eg. Loopback) so I can use an API to access the data?Should I use a sync service to just synchronize the data from the one database to my web application database?As frameworks like django or Rails are mostly used for newer applications how do they deal with legacy data or data coming from an API?  How would a framework like ember js fit into this? This is a frontend framework but was wondering if this is a good choice as well?What are common principles to setup a syncing service, it does not have to be realtime, pressing a button or an hourly script would be more then fine. So I am a bit after examples, common practices in how to deal with this type of setups. Its a smaller setup for a smaller company so data is not huge and performance will not be a bottle neck. So just looking for some architectural ideas how situations like this are mostly solved these days.
Web interface on top of an ERP system
web applications;synchronization;legacy;erp