I am looking for a simple software architecture that is able to evaluate user data using different versions of algorithms.

According to my concept, the user is able to upload tabular data via a Web UI. These are stored in a PostgreSQL server. Another user role "developer" uploads (trusted) R-scripts or Python-scripts via the Web UI as well. The "Data Processing" module accesses the database and is able to execute and analyze the user's data with different versions of the developer's uploaded algorithm.

Here is a small mock up for illustration:

Mock Up

According to my research it is possible to transfer the user data via RESTful API to a RStudio server. Now I also want to integrate and execute the algorithms, which are available as single .r files, sequentially.

Do established or recommendable methods exist to implement this exchange of data and algorithms elegantly?

Are there any experiences regarding the dynamic inclusion of .r/.py files?

  • Why does the developer upload their scripts via the Web UI rather than through git or another version control system? – bdsl Nov 4 '19 at 15:53
  • Exactly why isn't the answer to this question FTP? You trust this user to write safe code but not to log in? – candied_orange Nov 4 '19 at 16:56
  • bdsl, I was already thinking about git. But for the concept I wanted just a simple upload at the beginning. Therefore I find the suggestion of @candied_orange with FTP pretty good. I didn't think about it. I have more doubts about the fact, if the different integration of scripts could cause any problems, which I didn't think about. I have never experimented with the server variant and dont habe the experiences at the moment. – E. Yagmahan Nov 4 '19 at 17:22

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.