Last post Jun 20, 2020 04:25 AM by bruce (sqlwork.com)
Jun 19, 2020 06:10 PM|Goalie35|LINK
During a meeting at my company today, I was asked the feasibility of creating an application for our existing clients which they can install on their personal machines & would monitor a specific directory for files. When a new file is inserted into this
directory, it's then uploaded to our servers. Our personal application, located on our servers then extracts the data from these files, does a bunch of things it needs to do, and then passes this data back down to our clients again & if they wish, the app
can also insert the results of this upload into tables on their personal database for their own personal use.
So I'm just looking for a starting point on what kind of technology I should be looking into. Currently, if I want a console application, I develop a c# console app. If I want a website, I setup an asp.net mvc site. A webservice? Same thing. But I've
never dealt with this sort of hybrid project & just curious of a good starting point to begin researching or looking into new technology.
So again, here are the key points:
There's obviously a lot to think about in regards to this, but again, just looking for some advice for the best technologies to utilize for this?
Jun 19, 2020 07:14 PM|mgebhard|LINK
Honestly, moving files between systems has been solved many times over. In the old days we used file transferal and scheduled job which is still used today.
However, there are tons of file movers on the market that solve this specific problem. Processing is generally done on a schedule but a
file watcher can be also be used for real-time file processing.
You could do this with SQL server and a few jobs. The client places files in an Output folder. The jobs runs every hours and SFTP the files to an Input folder on your server. You have a job to process the files and place the results in an Output folder.
The file in your Output folder are sent SFTP to the clients Input folder. You need to work out security between the two systems; VPN, certificates, etc.
Jun 20, 2020 04:25 AM|bruce (sqlwork.com)|LINK
the server could be a website, webapi, serverless function, etc. it will depend on the scaling and hosting needs.
the client will depend on what o/s you intend to support. For windows you will want to install it as a net service. For Mac and Linux as a daemon. You may want a configuration UI. You can use webapi or gRPC to upload the files. All operating system have
a file watcher feature.