locked
Researching a good starting point to develop a web service/console app hybrid application. RRS feed

  • Question

  • User-1335903275 posted

    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:

    1. Develop an application that can be installed on the clients personal machine or server.  It will monitor a specific directory for any files inserted into it
    2. It will need the ability to upload newly inserted files to our servers
    3. Develop an application that resides on our server & can manage these files that were uploaded to our server
    4. Once our application is finished processing, the data will be sent back to the client and inserted into their database

    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?

    Thanks

    Friday, June 19, 2020 6:10 PM

All replies

  • User475983607 posted

    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.

    Friday, June 19, 2020 7:14 PM
  • User-474980206 posted

    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.

    Saturday, June 20, 2020 4:25 AM