I would like to share my architecture/process flow diagram, my situation is I have a legacy SQL database that is connected with Windows form application that is hosted on our premises. Win form application is used by our customer care team to accept orders.
I was task to build an ecommerce website but not to expose our legacy database, so I created a "Sync App" which is Windows app that keeps running continuously and as soon as a new Order/Customer/Product is added by our customer care team in our legacy database it picks up and add to NopCommerce database.
The structure of Order/Customer/Product table is different between legacy and NopCommerce database, sync app takes care about fields that are not required on nop commerce end.
Same way when a new order is placed on Nopcommerce end sync app picks it and add to the legacy database.
Please look at the below image, the top bit explains how information flows, can you let me know if this is the right structure or I should have used some other approach (i.e., WEB API).
I am really proud of what I have achieved and the NopCommerce site runs seamlessly, also the database is sync in the background.