Can I use Java scientific libraries in Google App Engine?
Asked Answered
T

4

6

I am trying to make a web application to perform scientific and engineering calculations. I am new to web developing and I've been looking for a free framework (with free hosting), that's why I came to Google App Engine, but there is no way to get scipy working, so I decided to switch to Java instead of python (although I found PythonAnywhere and it has numpy, scipy, etcetera, it has no GUI-building support like PyQt, wx, Tkinter...).

I would like to know if there is a way to use COLT or so for Java in the Google App Engine, or if there is some other option. I would rather free options since I'm at college, but cheap-customizable-options are totally welcome :D (even if it means to use another language)

PD: I hope this was understandable since english is not my language.

EDIT: I TRIED to use apache commons math, and it seems like it's not going to work. The short answer to my question is: NO.

Tarim answered 12/2, 2012 at 17:5 Comment(5)
Take a look at HerokuLadonnalady
Here's a list of what you can and cannot run on App Engine. If you don't get a comprehensive answer, I suggest analysing the library in question to see if it follows the App Engine rules.Nickolai
Re PythonAnywhere: how would you use PyQt, wx or Tkinter in a web app? They are desktop GUI toolkits.Bruyn
@ThomasK hmmm... you are right... so I should use Django instead of those desktop toolkits. Is there a graphical GUI designer for Django?Tarim
Well, it uses templates that are basically HTML. docs.djangoproject.com/en/1.3/topics/templatesBruyn
S
4
  1. I believe GAE is severely limiting in what it will allow you to run.
  2. I doubt you will find a completely free Java hosting solution.
Shirty answered 12/2, 2012 at 17:21 Comment(5)
Thank you so much for your answer!... now, I don't know what to believe... so I will wait for the community's response and, meanwhile, I am going to try it.Tarim
"I am going to try it." That's the best way to find out. ;)Shirty
I guess that depends on what you consider "severely" limiting. GAE Java restricts spawning new threads and writing to the file system, pretty much everything else is legal. Unfortunately a lot of scientific math packages are probably going to use multi-threading but if you try to include something that violates the rules it will tell you so.Constringe
"spawning new threads " Yes, I do consider that to be severely limiting, now you mention it.Shirty
Severely limiting... so true.Tarim
P
2

To clarify the statements in other posts, GAE is incredibly limiting with respect to Python packages with C extensions. Anything pure Python will work fine. Scipy makes heavy use of C extensions, so it falls into this category.

Google recently introduced Python2.7 support, and with it, the ability to use NumPy on App Engine. I'm not sure if this covers your need, but it might be worth checking out.

I only develop with Python for Google App Engine, so I'm afraid I can't comment on the state of Java external dependencies.

Preliminary answered 13/2, 2012 at 1:6 Comment(0)
J
0

GAE will limit lot of things if not all in your case. You might want to try out Heroku, Amazon Web Services within their free quota.

Jabin answered 12/2, 2012 at 23:42 Comment(0)
V
0

I see no reason not to do this. You can run front-end instances which can use 800MHz of processor and 128MB of RAM - you can run one all the time for free but you need to be able to split your tasks into 10min sections (if you use tasks, or 30 second sections otherwise). A backend is going to be chargeable and you'd probably find it cheaper to run on another system.

Vigilante answered 13/2, 2012 at 13:44 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.