By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
437,913 Members | 1,274 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 437,913 IT Pros & Developers. It's quick & easy.

Online numerical simulation web-app platform

P: 1
good to find you!

I'm new to web-app world. I have good programming knowledge of python, c, c++, java and fortran. Some knowledge of mysql, php and html. Never did web-apps.

I want to build a web app for a small project I have. The user will be selecting some data files (txt files) which will then be uploaded to my debian/apache server. There, a numerical simulation should be executed (command line executable using the data files provided) and once done the results/errors will be shown to the user's device.

Some remarks:

- The simulation is too time consuming and complicated to run on the users side
- It would be nice if the results could be available off-line to the user
- It is desirable to be able to run this from mobile devices (ipad, android tablets)
- The results are text files and svg/png/jpg files (any format can be created)
- Interaction with Dropbox would be really appreciated to save/retrieve files

The question:

- Which platform should I use? (Combination of tools) I know I should have something able to execute on server-side (python?).
- Any references to other posts and/or relative books are welcome. A book I started reading was saying : "The topics covered here are mostly directed toward developers who think “offline first” and write modern web applications that start out not worrying about the server. The main idea driving this book is to use the web browser as a platform" which contradicts what I want.

Thanks in advance!
Sep 2 '13 #1
Share this Question
Share on Google+
1 Reply

Expert 2.5K+
P: 3,112
Hi p3tris and welcome to!

Generally speaking, you want a web app where most of the calculation is done on the server. The user will upload the file(s) and download or view the results; those will be the only things done in the browser. Is this correct so far?

If so, you will most likely want to make a web interface that uses mainly HTML, CSS and JavaScript to do the frontend stuff and whatever language you choose to do the backend calculations. A very common solution for that kind of thing would be to have separate front- and backends where only the backend contains real business logic. Then the frontend can communicate with the backend, e.g. by web calls.

Here's a simplified architecture that I as a Java developer would use:
  • frontend: Write a frontend in Apache Wicket. Implementing uploading and downloading shouldn't be difficult, viewing the results could be anything from extremely simple text output to very detailed graphs, depending on what you want to do.
  • backend: Write a Java servlet that runs in an Apache Tomcat server. Here the logic is run on the server and can be communicated to the frontend easily.
Of course, this architecture can be modified for other languages, other libraries and other servers. I'm sure there are servers around that will run python code for you if you so choose. And there are frontend tools for other languages as well of course.
Sep 4 '13 #2

Post your reply

Sign in to post your reply or Sign up for a free account.